二级C语言密押卷南开100 题.docx
《二级C语言密押卷南开100 题.docx》由会员分享,可在线阅读,更多相关《二级C语言密押卷南开100 题.docx(28页珍藏版)》请在冰豆网上搜索。
二级C语言密押卷南开100题
951
#include
typedefstructs
{
intdata;
structs*next;
}NODE;
voidfun(intn,char*filename)
NODE*h,*p,*s;
FILE*f;
inti;
h=p=(NODE*)malloc(sizeof(NODE));
h->data=0;
for(i=1;i{s=(NODE*)malloc(sizeof(NODE));s->data=i;p->next=s;p=p->next;}p->next=NULL;if((f=fopen(filename,"w"))==NULL){printf("Cannotopenfile.dat!");exit(0);}p=h;fprintf(f,"THELIST\n");printf("THELIST\n");while(p){fprintf(f,"%3d",p->data);printf("%3d",p->data);if(p->next!=NULL){fprintf(f,"->");printf("->");}p=p->next;}fprintf(f,"\n");printf("\n");fclose(f);p=h;while(p){s=p;p=p->next;free(s);}}main(){char*filename="file.dat";intn;printf("\nPleaseinputn:");scanf("%d",&n);fun(n,filename);}923#include#include#includevoidfun(char*a,intn,intj,intk){inti=0;char*p;for(p=a+j;p{*(a+i)=*p;//用第一个非"#"号字符特代"#"字符i++;}*(a+i)='\0';//在新生成的字符串加尾符}main(){charstr[81],*s,*st;intm=0,t=0,h=0;FILE*out;printf("Enterastring:\n");gets(str);s=st=str;while(*s){s++;m++;}s--;while(*s=='#'){s--;t++;}while(*st=='#'){st++;h++;}fun(str,m,h,t);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####A#BC#DE#F#######");fun(str,strlen(str),5,7);fprintf(out,"%s",str);fclose(out);}853#include#include#include#include#defineM5voidfun(intb[][M],intn){inti,j;for(j=0;jfor(i=0;i<=j;i++)//行小于列的行循环b[i][j]=b[i][j]*n;//右上角元素乘以n}main(){intb[M][M],n,i,j;FILE*out;printf("Thearray\n");for(i=0;i{for(j=0;j{b[i][j]=rand()%20;printf("%4d",b[i][j]);}printf("\n");}n=rand()%4;printf("n=%4d\n",n);fun(b,n);printf("THERESULT\n");for(i=0;i{for(j=0;jprintf("%4d",b[i][j]);printf("\n");}out=fopen("outfile.dat","w");for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
s=(NODE*)malloc(sizeof(NODE));
s->data=i;
p->next=s;
p=p->next;
}
p->next=NULL;
if((f=fopen(filename,"w"))==NULL)
printf("Cannotopenfile.dat!
");
exit(0);
p=h;
fprintf(f,"THELIST\n");
printf("THELIST\n");
while(p)
fprintf(f,"%3d",p->data);
printf("%3d",p->data);
if(p->next!
=NULL)
fprintf(f,"->");
printf("->");
fprintf(f,"\n");
printf("\n");
fclose(f);
s=p;
free(s);
main()
char*filename="file.dat";
intn;
printf("\nPleaseinputn:
scanf("%d",&n);
fun(n,filename);
923#include
voidfun(char*a,intn,intj,intk)
inti=0;
char*p;
for(p=a+j;p{*(a+i)=*p;//用第一个非"#"号字符特代"#"字符i++;}*(a+i)='\0';//在新生成的字符串加尾符}main(){charstr[81],*s,*st;intm=0,t=0,h=0;FILE*out;printf("Enterastring:\n");gets(str);s=st=str;while(*s){s++;m++;}s--;while(*s=='#'){s--;t++;}while(*st=='#'){st++;h++;}fun(str,m,h,t);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####A#BC#DE#F#######");fun(str,strlen(str),5,7);fprintf(out,"%s",str);fclose(out);}853#include#include#include#include#defineM5voidfun(intb[][M],intn){inti,j;for(j=0;jfor(i=0;i<=j;i++)//行小于列的行循环b[i][j]=b[i][j]*n;//右上角元素乘以n}main(){intb[M][M],n,i,j;FILE*out;printf("Thearray\n");for(i=0;i{for(j=0;j{b[i][j]=rand()%20;printf("%4d",b[i][j]);}printf("\n");}n=rand()%4;printf("n=%4d\n",n);fun(b,n);printf("THERESULT\n");for(i=0;i{for(j=0;jprintf("%4d",b[i][j]);printf("\n");}out=fopen("outfile.dat","w");for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
*(a+i)=*p;//用第一个非"#"号字符特代"#"字符
i++;
*(a+i)='\0';//在新生成的字符串加尾符
charstr[81],*s,*st;
intm=0,t=0,h=0;
FILE*out;
printf("Enterastring:
\n");
gets(str);
s=st=str;
while(*s)
s++;
m++;
s--;
while(*s=='#')
t++;
while(*st=='#')
st++;
h++;
fun(str,m,h,t);
printf("Thestringafterdeleted:
puts(str);
out=fopen("outfile.dat","w");
strcpy(str,"#####A#BC#DE#F#######");
fun(str,strlen(str),5,7);
fprintf(out,"%s",str);
fclose(out);
853
#defineM5
voidfun(intb[][M],intn)
inti,j;
for(j=0;jfor(i=0;i<=j;i++)//行小于列的行循环b[i][j]=b[i][j]*n;//右上角元素乘以n}main(){intb[M][M],n,i,j;FILE*out;printf("Thearray\n");for(i=0;i{for(j=0;j{b[i][j]=rand()%20;printf("%4d",b[i][j]);}printf("\n");}n=rand()%4;printf("n=%4d\n",n);fun(b,n);printf("THERESULT\n");for(i=0;i{for(j=0;jprintf("%4d",b[i][j]);printf("\n");}out=fopen("outfile.dat","w");for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
for(i=0;i<=j;i++)//行小于列的行循环
b[i][j]=b[i][j]*n;//右上角元素乘以n
intb[M][M],n,i,j;
printf("Thearray\n");
for(i=0;i{for(j=0;j{b[i][j]=rand()%20;printf("%4d",b[i][j]);}printf("\n");}n=rand()%4;printf("n=%4d\n",n);fun(b,n);printf("THERESULT\n");for(i=0;i{for(j=0;jprintf("%4d",b[i][j]);printf("\n");}out=fopen("outfile.dat","w");for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
for(j=0;j{b[i][j]=rand()%20;printf("%4d",b[i][j]);}printf("\n");}n=rand()%4;printf("n=%4d\n",n);fun(b,n);printf("THERESULT\n");for(i=0;i{for(j=0;jprintf("%4d",b[i][j]);printf("\n");}out=fopen("outfile.dat","w");for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
b[i][j]=rand()%20;
printf("%4d",b[i][j]);
n=rand()%4;
printf("n=%4d\n",n);
fun(b,n);
printf("THERESULT\n");
for(i=0;i{for(j=0;jprintf("%4d",b[i][j]);printf("\n");}out=fopen("outfile.dat","w");for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
for(j=0;jprintf("%4d",b[i][j]);printf("\n");}out=fopen("outfile.dat","w");for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
for(i=0;ifor(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
for(j=0;jb[i][j]=i*j;fun(b,6);for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
b[i][j]=i*j;
fun(b,6);
for(i=0;i{for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
for(j=0;jfprintf(out,"%4d",b[i][j]);fprintf(out,"\n");}fclose(out);}843编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。#include#defineM3#defineN4voidfun(char(*a)[N],char*c){inti,j,k=0;for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
fprintf(out,"%4d",b[i][j]);
fprintf(out,"\n");
843
编写函数fun,该函数的功能是:
将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
#defineM3
#defineN4
voidfun(char(*a)[N],char*c)
inti,j,k=0;
for(j=0;jfor(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
for(i=0;i{c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组ck++;//指向下一数组元素}c[k]='\0';//数组结束}833请编写函数fun,它的功能是计算:F=开根号[㏑(1)+㏑(2)+㏑(3)L+㏑(n)]F作为函数值返回。在c语言中可调用㏒(n).㏒函数的引用说明:double㏒(doublex)#include#include#includedoublefun(intn){inti;doublef=0.0,log(doublex);//调用log函数for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)f=f+log(i);f=sqrt(f);//利用C语言中的sqrt函数求平方根returnf;823请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。合并的方式是:将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。include#includevoidfun(intx,inty,long*z){*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;}813请编写函数fun,其功能是计算并输出下列多项式值:Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)#includedoublefun(intm){inti;doublefn=0.0;//初始化多项式求和的值for(i=1;i<=m;i++)fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项returnfn;}803学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include#defineM10typedefstruct{charnum[10];doubles;}SCORE;doublefun(SCORE*c,SCORE*l,int*n){doubleaver=0.0;//放平均分的变量设置初始化inti,j=0;for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
c[k]=*(*(a+i)+j);//将每一个元素赋值到一维数组c
k++;//指向下一数组元素
c[k]='\0';//数组结束
833
请编写函数fun,它的功能是计算:
F=开根号[㏑
(1)+㏑
(2)+㏑(3)L+㏑(n)]
F作为函数值返回。
在c语言中可调用㏒(n).㏒函数的引用说明:
double㏒(doublex)
doublefun(intn)
doublef=0.0,log(doublex);//调用log函数
for(i=1;i<=n;i++)//在C语言中可调用log(n)函数求ln(n)
f=f+log(i);
f=sqrt(f);//利用C语言中的sqrt函数求平方根
returnf;
823
请编写函数fun,其功能是将两个两位数的整数x、y合并成一个整数放在z中。
合并的方式是:
将x的十位和个位依次放在z的十位和千位上,y的十位和个位依次放在z的个位和百位上。
include
voidfun(intx,inty,long*z)
*z=(x%10)*1000+(y%10)*100+(x/10)*10+y/10;
813
请编写函数fun,其功能是计算并输出下列多项式值:
Fn=(1-1/2)+(1/3-1/4)+L+(1/(2m-1)-1/2m)
doublefun(intm)
doublefn=0.0;//初始化多项式求和的值
for(i=1;i<=m;i++)
fn+=(1.0/(2*i-1)-1.0/(2*i));//多项式中的一项
returnfn;
803
学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:
把小于等于平均分的学生数据放在1所指的数组中,小于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。
#defineM10
typedefstruct
charnum[10];
doubles;
}SCORE;
doublefun(SCORE*c,SCORE*l,int*n)
doubleaver=0.0;//放平均分的变量设置初始化
inti,j=0;
for(i=0;iaver+=c[i].s;aver/=M;//求平均分for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
aver+=c[i].s;
aver/=M;//求平均分
for(i=0;iif(c[i].s<=aver)//如果成绩小于等于平均分{*(l+j)=c[i];//将小于平均分的成绩存入lj++;}*n=j;//将小于平均分的个数j赋值给nreturnaver;//返回平均分}793请编写函数fun,其功能是:将两个两位数的正整数x、y合并成一个整数放在z中。合并方式是:将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。#include#includevoidfun(intx,inty,long*z){*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;}main(){791#include#include#defineN10typedefstructs{charnum[10];ints;}student;fun(studentSTU[],student*s){studenta;inti;a=STU[0];for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
if(c[i].s<=aver)//如果成绩小于等于平均分
*(l+j)=c[i];//将小于平均分的成绩存入l
j++;
*n=j;//将小于平均分的个数j赋值给n
returnaver;//返回平均分
793
请编写函数fun,其功能是:
将两个两位数的正整数x、y合并成一个整数放在z中。
合并方式是:
将x的十位和个位依次放在z的千位和十位上,y的十位和个位依次放在z的个位和百位上。
*z=(x/10)*1000+(x%10)*10+(y%10)*100+y/10;
791
#defineN10
ints;
}student;
fun(studentSTU[],student*s)
studenta;
a=STU[0];
for(i=1;iif(STU[i].s>a.s)a=STU[i];*s=a;}main(){studentSTU[N]={{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;inti;printf("Theoriginaldata\n");for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
if(STU[i].s>a.s)
a=STU[i];
*s=a;
studentSTU[N]=
{"01",81},{"02",89},{"03",66},{"04",87},{"05",77},{"06",90},{"07",79},{"08",61},{"09",80},{"10",71}},m;
printf("Theoriginaldata\n");
for(i=0;iprintf("No=%sMark=%d\n",STU[i].num,STU[i].s);fun(STU,&m);printf("Thehighst:%s,%d\n",m.num,m.s);}783与793763743相似(相同)。如下:{*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;}773请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回》#includefloatfun(float*b,intm){floatave=0.0;inti;for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
printf("No=%sMark=%d\n",STU[i].num,STU[i].s);
fun(STU,&m);
printf("Thehighst:
%s,%d\n",m.num,m.s);
783与793763743相似(相同)。
如下:
*z=(y/10)*1000+(x%10)*100+(y%10)*10+x/10;
773
请编写一个函数fun,它的功能是:
计算n门课程的平均分,计算结果作为函数值返回》
floatfun(float*b,intm)
floatave=0.0;
for(i=0;iave+=b[i];ave/=m;returnave;}753734请编写函数fun,其功能是:计算并输出给定10个数的方差:F=sqart((1/10)∑include#includedoublefun(doubley[10]){inti,j;doublef=0.0,f1=0.0;//初始化变量for(i=0;i<10;i++)//求公式中y的值f1+=y[i];f1/=10;for(j=0;j<10;j++)//求公式中给出的根号下的部分f+=(y[j]-f1)*(y[j]-f1);f/=10;f=pow(f,0.5);//求平方根returnf;}723M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。#include#include#defineM5structlist{doubles;structlist*next;};typedefstructlistSCORE;doublefun(SCORE*a){doubleaver=0.0;//初始化平均值while(a!=NULL)//如果头指针不指向链表尾,就累加链表中成绩{aver+=a->s;//累加成绩a=a->next;//指向下一个节点}aver/=M;//求平均分returnaver;}713假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。#include#include#includevoidfun(char*s){inti=0;char*p,*q;p=q=s;while(*p)p++;p--;while(*p=='#')p--;while(q<=p){s[i]=*q;i++;q++;}s[i]='\0';}703请编写函数fun,其功能是:将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。#include#includevoidfun(intn,int*m,inta[]){inti,j;intt=0;//初始化数组个数for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
ave+=b[i];
ave/=m;
returnave;
753
734
计算并输出给定10个数的方差:
F=sqart((1/10)∑
doublefun(doubley[10])
doublef=0.0,f1=0.0;//初始化变量
for(i=0;i<10;i++)//求公式中y的值
f1+=y[i];
f1/=10;
for(j=0;j<10;j++)//求公式中给出的根号下的部分
f+=(y[j]-f1)*(y[j]-f1);
f/=10;
f=pow(f,0.5);//求平方根
723
M名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。
请编写函数fun,它的功能是:
求出平均分,由函数值返回。
structlist
structlist*next;
};
typedefstructlistSCORE;
doublefun(SCORE*a)
doubleaver=0.0;//初始化平均值
while(a!
=NULL)//如果头指针不指向链表尾,就累加链表中成绩
aver+=a->s;//累加成绩
a=a->next;//指向下一个节点
returnaver;
713
假定输入的字符串中只包含字母和“#”号,请编写函数fun,它的功能是:
将字符尾部的“#”号全部删除,前面和中间的“#”号不删除。
voidfun(char*s)
{inti=0;char*p,*q;p=q=s;
while(*p)p++;p--;
while(*p=='#')p--;
while(q<=p)
{s[i]=*q;i++;q++;}
s[i]='\0';}
703
将所有大于1且小于整数n的非素数存入a所指数组中,非素数的个数通过m传回。
voidfun(intn,int*m,inta[])
intt=0;//初始化数组个数
for(i=2;i{j=2;while(j{if(i%j==0)//如果i不是素数{a[t]=i;t++;break;}j++;}*m=t;}} 693已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。#include#include#include#defineM10typedefstructss{charnum[10];ints;}SCORE;voidfun(SCOREstu[],SCORE*s){inti,max;max=stu[0].s;for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
{j=2;
while(j
{if(i%j==0)//如果i不是素数
{a[t]=i;t++;break;}
j++;}
*m=t;
693
已知学生的记录由学号和学习成绩构成,M名学生的数据已存入stu结构体函数组中。
请编写函数fun,该函数的功能是:
找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。
已给出函数的首部,请完成该函数。
typedefstructss
voidfun(SCOREstu[],SCORE*s)
{inti,max;max=stu[0].s;
for(i=0;iif(stu[i].s>max){max=stu[i].s;*s=stu[i];}}683请编写函数fun,其功能是:将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。#include#include#includevoidfun(char*str,chars[]){inti,j=0,n=strlen(str);for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
if(stu[i].s>max)
{max=stu[i].s;*s=stu[i];}
683
将str所指的字符串ASCII值为偶数的字符删除,串中剩余字符形成一个新串放入s所指的数组中。
voidfun(char*str,chars[])
{inti,j=0,n=strlen(str);
for(i=0;iif(str[i]%2!=0){s[j]=str[i];j++;}s[j]='\0';}653#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
if(str[i]%2!
=0)
{s[j]=str[i];j++;}s[j]='\0';}
653
voidfun(char*s,char*r,char*v)
{inti=0;char*q=s;
while(q{s[i]=*q;q++;i++;}while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
{s[i]=*q;q++;i++;}
while(q{f(*q!='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}673难#include#includedoublefun(doublex){doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;intn=1;do{f0=f1;//前一项sum+=f0;//求和t*=n;//每一项中的阶乘项p*=(0.5-n+1)*x;//每一项中的分子f1=p/t;//每一项n++;}while(fabs(f1-f0)>=1e-6);//循环条件returnsum;}663学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:把分数最高的学生数据放在high所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。#include#defineM10typedefstruct{charnum[10];ints;}SCORE;intfun(SCORE*p,SCORE*q){inti,j=0,n=0,max;max=p[0].s;for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
{f(*q!
='#')
{s[i]=*q;i++;}
q++;}
while(*q)
s[i]='\0';
673难
doublefun(doublex)
{doublef1=1.0,p=1.0,sum=0.0,f0,t=1.0;
intn=1;
do{f0=f1;//前一项sum+=f0;//求和
t*=n;//每一项中的阶乘项
p*=(0.5-n+1)*x;//每一项中的分子
f1=p/t;//每一项n++;}
while(fabs(f1-f0)>=1e-6);//循环条件
returnsum;
663
学生的记录由学生和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,其功能是:
把分数最高的学生数据放在high所指的数组中,注意:
分数最高的学生可能不止一个,函数返回分数最高的学生的人数,。
intfun(SCORE*p,SCORE*q)
{inti,j=0,n=0,max;max=p[0].s;
for(i=0;iif(p[i].s>max)max=p[i].s;for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
if(p[i].s>max)
max=p[i].s;
for(i=0;iif(p[i].s==max){*(q+j)=p[i];j++;n++;}returnn;}653假定输入的字符串只包含字母和“#”号。请编写函数fun,它的功能是:除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。#include#include#includevoidfun(char*s,char*r,char*v){inti=0;char*q=s;while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
if(p[i].s==max)
{*(q+j)=p[i];j++;n++;}
returnn;}
假定输入的字符串只包含字母和“#”号。
除了字符串的前导和尾部的“#”号外,将串中其他的“#”号全部删除。
形参r已指向字符串中的第一个字母,形参v已指向字符串中最后一个字母。
在编写函数时,不得使用c语言提供的字符串函数。
while(qwhile(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
while(q='#'){s[i]=*q;i++;}q++;}while(*q){s[i]=*q;i++;q++;}s[i]='\0';}main(){charstr[100],*p,*q;FILE*out;printf("Enterastring:\n");gets(str);p=q=str;while(*p)p++;p--;while(*p=='#')p--;while(*q=='#')q++;fun(str,q,p);printf("Thestringafterdeleted:\n");puts(str);out=fopen("outfile.dat","w");strcpy(str,"#####a#b#c#d######");fun(str,str+4,str+13);fprintf(out,"%s",str);fclose(out);}643与653、593相似假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:删除字符串中所有的“#”号。在编写函数时,不得使用c语言提供的字符函数。#include#includevoidfun(char*s){inti=0;char*p=s;while(*p){if(*p!='#'){s[i]=*p;i++;}p++;}s[i]='\0';}633编写一个函数fun,它的功能是:实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。#include#includevoidfun(charstr1[],charstr2[]){inti=0,n=0;char*p=str1,*q=str2;while(*p){p++;n++;}i=n;while(*q){str1[i]=*q;q++;i++;}str1[i]='\0';}623请编写函数fun,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。#include#defineM4#defineN20voidfun(charstr[M][N],char*a){inti,j,k=0;for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
='#'){s[i]=*q;i++;}q++;}
while(*q){s[i]=*q;i++;q++;}s[i]='\0';}
charstr[100],*p,*q;
p=q=str;
while(*p)
p++;
p--;
while(*p=='#')
while(*q=='#')
q++;
fun(str,q,p);
strcpy(str,"#####a#b#c#d######");
fun(str,str+4,str+13);
643与653、593相似
假定输入的字符串只含字母和“#”号,请编写函数fun,它的功能是:
删除字符串中所有的“#”号。
在编写函数时,不得使用c语言提供的字符函数。
{inti=0;char*p=s;
{if(*p!
='#'){s[i]=*p;i++;}p++;}
633
编写一个函数fun,它的功能是:
实现两个字符串的链接(不适使用库函数strcat),即把str2所指的字符串链接到str1所指的字符串后。
voidfun(charstr1[],charstr2[])
{inti=0,n=0;char*p=str1,*q=str2;
while(*p){p++;n++;}
i=n;
while(*q){str1[i]=*q;q++;i++;}
str1[i]='\0';}
623
将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
#defineM4
#defineN20
voidfun(charstr[M][N],char*a)
{inti,j,k=0;
for(i=0;i{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
{for(j=0;jif(*(*(str+i)+j))//如果不指向行的尾{a[k]=*(*(str+i)+j);//将行中的值赋值给数组ak++;//数组下标加1}else//如果指向尾,则跳出这一行break;a[k]='\0';//数组加尾符}}main(){charmatrix[M][N]={"1111","2222222","33","4444"},i;charstr[100]={"****************"};FILE*out;printf("Thestring:\n");for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
if(*(*(str+i)+j))//如果不指向行的尾
{a[k]=*(*(str+i)+j);//将行中的值赋值给数组a
k++;//数组下标加1}
else//如果指向尾,则跳出这一行break;
a[k]='\0';//数组加尾符}}
charmatrix[M][N]={"1111","2222222","33","4444"},i;
charstr[100]={"****************"};
printf("Thestring:
for(i=0;iputs(matrix[i]);printf("\n");fun(matrix,str);printf("Thestring:\n");printf("%s",str);printf("\n\n");out=fopen("outfile.dat","w");fprintf(out,"%s",str);fclose(out);}613请编写函数fun,该函数的功能是:删除一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。#
puts(matrix[i]);
fun(matrix,str);
printf("%s",str);
printf("\n\n");
613
删除一维数组中所有相同的数,使之只剩一个。
数组中的数已按由小到大的顺序排列,函数返回删除后数组中的数据的个数。
#
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1