首页 国二C语言

国二C语言

举报
开通vip

国二C语言国二C语言 1.函数fun的功能是:将两个两/******/ 的无符号整数,若w是n(n?2)4 7 log函数的引用说明是:double {j++;t--;} 位数的正整数a、b合并形成一9.函数fun的功能是:将s所指位的整数,函数求出w的低n-1 4 5 6 2 log(double x)。例如,若m的值t++; 个整数放在c中。合并的方式字符串中除了下标为偶数、同时位的数作为函数值返回。例如:5 8 为:20,fun函数值为:6.506583。 if(j>n) {while(*p&&p10) 10 14 ...

国二C语言
国二C语言 1.函数fun的功能是:将两个两/******/ 的无符号整数,若w是n(n?2)4 7 log函数的引用说明是:double {j++;t--;} 位数的正整数a、b合并形成一9.函数fun的功能是:将s所指位的整数,函数求出w的低n-1 4 5 6 2 log(double x)。例如,若m的值t++; 个整数放在c中。合并的方式字符串中除了下标为偶数、同时位的数作为函数值返回。例如:5 8 为:20,fun函数值为:6.506583。 if(j>n) {while(*p&&p10) 10 14 18 s=sqrt(s); 出。请编写函数fun,它的功能/******/ 符A的ASCII码值为奇数,因{if(t/10) /******/ return s; 是:求出该学生的平均分放在记*c=(a/10)*1000+(b/10)*100+(a此应当删除;其中字符B的p=t%10;s=s+p*s1; int c[3][3]; /******/ 录的ave成员中。例如,学生的%10)*10+(b%10); ASCII码值为偶数,但在数组中s1=s1*10;t=t/10;} int i,j; 31. 规定 关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定 输入的字符串只包含字成绩是:85.5,76,69.5,85,/******/ *号。请编写函数fun,它的下标为奇数,因此也应当删return s; for(i=0;i<3;i++) 母和91,72,64.5,87.5,他的平均2.函数fun的功能是:将两个两除;而字符2的ASCII码值为/******/ for(j=0;j<3;j++) 的功能是:将字符串中的前导*分应当是:78.875。 位数的正整数a、b合并形成一偶数,所在数组中的下标也为偶17.请编一个函数fun(char *s),{c[i][j]=a[j][i]; 号全部删除,中间和尾部的*号/******/ 个整数放在c中。合并的方式数,因此不应当删除,其它依此函数的功能是把s所指字符串b[i][j]=a[i][j]+c[i][j];} 不删除。例如,字符串中的内容int i; 是:将a数的十位和个位数依次类推。最后t所指的数组中的内中的内容逆置。例如:字符串中/******/ 为:******A*BC*DEF*G****,for(i=0;iave=a->ave+a->s[i]; 的十位和个位数依次放在c数/******/ 调用该函数后,串中的内容为:是:求出1到1000之间能被7是:A*BC*DEF*G****。在编a->ave/=N; 的千位和十位上 int i, j=0; gfedcba。 或11整除、但不能同时被7和写函数时,不得使用C语言提/******/ 例如,当a=45,b=12时,调用/******/ 供的字符串函数。 for(i=0;i=0;j--) int i; while(*p=='*')p++; 平均分的学生数据放在b所指/******/ 字符串中下标为偶数的字符删b[i++]=s[j]; *n=0; while(*p) 的数组中,低于平均分的学生人3.函数fun的功能是:将两个两strcpy(s,b); {a[j++]=*p;p++;} 除,串中剩余字符形成的新串放for(i=7;i<1000;i++) 数通过形参n传回,平均分通过位数的正整数a、b合并形成一在t所指数组中。例如,当s所/******/ if(((i%7)==0||(i%11)==0)&&(i%a[j]='\0'; 函数值返回。 个整数放在c中。合并的方式指字符串中的内容为:18.编写函数fun,函数的功能77)!=0) a[(*n)++]=i; /******/ /******/ 是:将a数的十位和个位数依次"ABCDEFGHIJK",在t所指数是:从s所指的字符串中删除给/******/ 32.假定输入的字符串中只包含int i; 放在c数的个位和百位上,b数定的字符。同一字母的大、小写字母和*号。请编写函数fun,组中的内容应是:"BDFHJ"。 25.请编写一个函数void double ave=0.0; 的十位和个位数依次放在c数/******/ 按不同字符处理。若程序执行时fun(char *tt,int pp[]),统计在tt它的功能是:除了尾部的*号之*n=0; 的十位和千位上 int i, j=0; 输入字符串为:turbo c and 所指字符串中'a' 到 'z' 26个小外,将 for(i=0;i='a'&&*p<='z') {if(*q!='*')a[j++]=*q; 最高的学生数据放在h所指的例如,当a=45,b=12时,调用后t所指的数组中的内容应是:19.请编写函数fun,对长度为7pp[*p-'a']+=1; q++;} 数组中,注意:分数最高的学生该函数后,c=5142。 "ACEG135"。 个字符的字符串,除首、尾字符p++;} while(*p)a[j++]=*p++; 可能不止一个,函数返回分数最/******/ /******/ 外,将其余5个字符按ASCII/******/ a[j]='\0'; 高的学生的人数。 *c=(a%10)*1000+(b/10)*100+(aint i, j=0; 码降序排列。例如,原来的字符26.请编写一个函数void fun /******/ /******/ /10)*10+(b%10); for(i=0;i shanghai 组,并在主函数中自动赋值。请if(q==NULL) break; /******/ while(*p)a[j++]=*p++; for(i=0;i(为回车键),函数编写函数fun(int a[][N],int n),p=q+strlen(substr); int k; a[j]='\0'; if(strcmp(a[i].num, b)==0) 将返回shanghai。 函数的功能是:使数组左下三角cnt++;} float str=1.0,sum=1.0; /******/ {strcpy(c.num,a[i].num); /******/ 元素中的值乘以n。例如:若nreturn cnt; for(k=2;k<=n;k++) 34.假定输入的字符串中只包含c.s=a[i].s;break;} 字母和*号。请编写函数fun,int i; 的值为3,a 数组中的值为则返/******/ {sum=sum+k;str=str+1/sum;} return c; char *p=s,*q=t; 回主程序后a数组中的值应为 21.请编写函数fun,其功能是:return str; 它的功能是:删除字符串中所有/******/ int n=0,m=0; /******/ 将所有大于1小于整数m的非/******/ 的*号在编写函数时,不得使用40.N名学生的成绩已在主函数while(*p) int i,j; 素数存入xx所指数组中,非素28.编写函数fun,它的功能是:C语言提供的字符串函数。例中放入一个带头节点的链表结{n++;p++;} for(i=0;i=m) p=s; /******/ /******/ 下:(1)取x1初值为0.0;(2)ABCDEFG。 若学生的成绩是:85,76,69,else 14.程序定义了N×N的二维数int i,j; x0 = x1,把x1的值赋给 x0;(3)/******/ 85,91,72,64,87,则平均分p=t; 组,并在主函数中自动赋值。请int t=0; int j=0; x1 = cos(x0),求出一个新的x1;应当是:78.625。 return p; 编写函数fun(int a[][N]),函数的for(i=2;inext; 7.请编写一个函数fun,它的功的值全部置成0。例如:a数组while(js;p=p->next;n++;} 个数。例如,若传送给m的值int i, j; j++;} Root=0.739086。 字母和*号。请编写函数fun,av/=n; 为50,则程序输出: 7 11 14 21 for(i=0;i0.000001); 于n个,则什么也不做,字符串是:计算并输出给定整数n的所int i,j=0;*n=0; 15.请编一个函数void fun(int 字符的个数,并返回此值。例如,return x1; 中间和前面的*号不删除。例如,有因子(不包括1与n自身)之for(i=1;i<=m;i++) tt[M][N],int pp[N]),tt指向一若输入字符串:123412132,输/******/ 字符串中的内容为:和。规定n的值不大于1000。if(i%7==0||i%11==0) 个M行N列的二维数组,求出入字符为:1,则输出:3。 29.编写函数fun,它的功能是:****A*BC*DEF*G******,若n例如,在主函数中从键盘给n{a[j]=i;j++;} 二维数组每列中最小元素,并依/******/ 求Fibonacci数列中大于t的最的值为4,删除后,字符串中的输入的值为856,则输出为:*n=j; 次放入pp所指一维数组中。二int cnt=0; 小的一个数,结果由函数返回。内容应当是:sum=763。 /******/ 维数组中的数已在主函数中赋char *p=ss; 其中Fibonacci数列F(n)的定义****A*BC*DEF*G****;若n/******/ 8.请编写一个函数fun,它的功予。 while(*p) 为:F(0)=0,F(1)=1 的值为7,则字符串中的内容仍int s=0,i; 能是:将ss所指字符串中所有/******/ {if(*p==c)cnt++;p++;} F(n)=F(n?1)+F(n?2)例如:当t = 为:****A*BC*DEF*G** for(i=2;itt[j][i]) 加上A的转置,存放在矩阵Bf1=f;} while(f='a'&& 16.请编写一个函数unsigned fun 其转置矩阵为: 算:s作为函数值返回。在C语t--; PROG1.C中。请勿改动主函数ss[i]<='z')ss[i]-=32;} (unsigned w),w是一个大于10 1 2 3 1 言中可调用log(n)函数求ln(n)。while(*t=='*') main和其他函数中的任何内 容,仅在函数fun的花括号中填{for (j=2;j=0.000001) 一个新的整数放在c中。合并的字符串中除了下标为奇数、同时/******/ int i,j=0; 删除后,字 {xn=xn*x*(0.5-n+1)/n; 方式是:将a中的十位和个位数ASCII值也为奇数的字符之外,int tot=0,i,j; for(i=0;iscore[i])below[j++]=score[/******/ 计算并输出给定10个数的方数后,c=1425。 "ABCDEFG12345",其中字符Areturn tot; i]; int i=0;char*p,*q; /******/ 差:(即:10个数的平均值) 其的ASCII码值虽为奇数,但所/******/ return j; p=q=a; 中例如,给定的10个数为95.0、*c=(b/10)*1000+(a/10)*100+(b在元素的下标为偶数,因此必需66.请编一个函数fun,函数的功/******/ while(*p) p++; 89.0、76.0、65.0、88.0、72.0、%10)*10+(a%10); 删除;而字符1的ASCII码值能是使实型数保留2位小数,并74.请编写函数fun,它的功能p--; 85.0、81.0、90.0、56.0,输出为/******/ 为奇数,所在数组中的下标也为对第三位进行四舍五入(规定实是:求出能整除形参x且不是偶while(*p=='*') p--; 52.学生的记录由学号和成绩组s=11.730729。 奇数,因此不应当删除,其它依型数为正数)。例如:实型数为 数的各整数,并按从小到大的顺while(q<=p) /******/ 成,N名学生的数据已在主函数此类推。最后t所指的数组中的1234.567,则函数返回 序放在pp所指的数组中,这些{a[i]=*q;i++;q++;} int i; 中放入结构体数组s中,请编写内容应是:"135"。 1234.572000; 实型数为 除数的个数通过形参n返回。例a[i]='\0'; double 函数fun,它的功能是:按分数/******/ 1234.564,则函数返回 如,若 x 中的值为:35,则有 4 /******/ avg=0.0,sum=0.0,abs=0.0,fc; 的高低排列学生的记录,高分在int i,j=0; 1234.562000。 个数符合要求,它们是:1,5,82.假定输入的字符串中只包含for (i=0;i<10;i++) sum+=x[i]; 前。 for(i=1;i=temp) 83.假定输入的字符串中只包含/******/ /******/ 61.函数fun的功能是:将s所指/******/ {if(k>=0) 字母和*号。请编写函数fun,46.请编写函数fun,其功能是:54.编写一个函数fun,它的功能字符串中下标为偶数同时68.编写函数fun,函数的功能是{xx[r++]=temp;k--;} 它的功能是:只删除字符串前导计算并输出下列多项式的值:例是:实现两个字符串的连接(不ASCII值为奇数的字符删除,s求出小于或等于lim的所有素else break;}} 和尾部的*号,串中字母之间的*如,在主函数中从键盘给n输入使用库函数strcat),即把p2所所指串中剩余的字符形成的新数并放在aa数组中,函数返回/******/ 号都不删除。形参n给出了字符所求出的素数的个数。 8后,输出为:s=0.662872。注指的字符串连接到p1所指的字串放在t所指的数组中。例如,76.请编写函数fun,其功能是求串的长度,形参h给出了字符串意:要求n的值大于1但不大于符串后。例如,分别输入下面两若s所指字符串中的内容为/******/ 出数组的最大元素在数组中的中前导* 100。部分源程序在文件个字符串:"ABCDEFG12345",其中字符Cint i,j,k=0; 下标并存放在k所指的存储单号的个数,形参e给出了字符串PROG1.C中。请勿改动主函数FirstString--SecondString程序输的ASCII码值为奇数,在数组for(i=2;i<=lim;i++) 元中。例如,输入如下整数:876 中最后*号的个数。在编写函数main和其他函数中的任何内出:FirstString--SecondString 中的下标为偶数,因此必须删{for(j=2;j<=(i/2);j++) 675 896 101 301 401 980 431 时,不得使用C语言提供的字容,仅在函数fun的花括号中填/******/ 除;而字符1的ASCII码值为if(i%j==0)break; 451 777则输出结果为:6,980 符串函数。例如,字符串中的内char *p=p1; if(j>(i/2))aa[k++]=i;} /******/ 入你编写的若干语句。 奇数, 容为:/******/ while(*p)p++; 在数组中的下标也为奇数,因此return k; int i,pos=0,max=*s; ****A*BC*DEF*G******,删int i; while(*p2)*p++=*p2++; 不应当删除,其它依此类推。最/******/ for(i=1;i1&&n<=100) /******/ "BDF12345"。 符串中找出最长的一个字符串,{max=*(s+i);pos=i;}} /******/ {for(i=1;i<=n;i++) 55.请编写一个函数fun,它的功/******/ 并通过形参指针max传回该串*k=pos; char *p=a; sum+=1.0/(2*i-1)-1.0/(2*i);} 能是:将一个数字字符串转换为int i,j=0; 地址。(注意:主函数中用****/******/ int j=0,len=0; return sum; 一个整数(不得调用C语言提for(i=0;i n。例如:m=12,n=8a[j]=0; 如,在主函数中从键盘给n输入数值 -1234。 /******/ for(i=1;imaxlen) /******/ 84.假定输入的字符串中只包含意:要求n的值大于1但不大于long s=0,t; 习成绩构成,N名学生的数据已{maxlen=strlen(a[i]); float result,temp=1.0; 字母和*号。请编写函数fun,100。 int i=0,j,n=strlen(p),k,s1; 存入a结构体数组中。请编写函k=i;}} int i; 它的功能是:使字符串的前导*/******/ if(p[0]=='-') i++; 数fun,函数的功能是:找出成*max=a[k]; for(i=1;i<=m;i++) 号不得多于n个;若多于n个,double s=0,t=1; for(j=i;j<=n-1;j++) 绩最低的学生记录,通过形参返/******/ temp=temp*i; 则删除多余的*号:若少于或等int i; {t=p[j]-'0';s1=10; 回主函数(规定只有一个最低70.请编写一个函数,函数的功result=temp; 于n个,则什么也不做,字符串for(i=1;i<=n;i++) for(k=j;ka[i].s) char *p=str;int i=0; temp=temp*i; 的内容应当是:是:计算并输出n(包括n)以56.请编写一个函数fun,它的功{j=i;min=a[i].s;} while(*p) result=result/temp; ****A*BC*DEF*G****;若n内能被5或9整除的所有自然数能是:根据以下公式求π的值{if(*p!=' ')str[i++]=*p; return result; *s=a[j]; 的值为8,则字符串中的内容仍的倒数之和。例如,在主函数中(要求满足精度0.0005,即某项/******/ p++;} /******/ 为:******A*BC*DEF*G****。从键盘给n输入20后,输出为:小于0.0005时停止迭代):程序63.程序定义了N×N的二维数str[i]=0; 78.编写函数fun,它的功能是:n的值在主函数中输入。 在编运行后,如果输入精度0.0005,求小于形参n同时能被3与7s=0.583333。注意:要求n的值组,并在主函数中自动赋值。请/******/ 写函数时,不得使用C语言提不大于100。 则程序输出为3.140578。 编写函数fun,函数的功能是:71.请编写一个函数fun,其功能整除的所有自然数之和的平方供的字符串函数。 /******/ /******/ 使数组右上三角元素中的值乘是:将ss所指字符串中所有下根,并作为函数值返回。例如若/******/ int i; double s; 以m.例如:若m的值为2,a 数标为奇数位置上的字母转换为n为1000时,程序输出应为:s int i=0,k=0;char *t=a; double sum=0.0; float n,t,pi; 组中的值为则返回主程序后a大写(若该位置上不是字母,则= 153.909064。 while(*t=='*'){k++;t++;} for(i=1;i<=n;i++) t=1;pi=0;n=1.0;s=1.0; 数组中的值应为 不转换)。例如,若输入/******/ t=a; while((fabs(s))>=eps) "abc4EFg",则应输出double sum=0.0; if(i%5==0||i%9==0) /******/ if(k>n) t=a+k-n; sum+=1.0/i; {pi+=s;t=n/(2*n+1); int i,j; "aBc4EFg"。 int i; while(*t){a[i]=*t;i++;t++;} return sum; s*=t;n++;} for(i=0;i='a'&&*p<='z')return sqrt(sum); 字母和*号。请编写函数fun,和n)所有素数的平方根之和。57.请编写一个函数fun,它的功64.程序定义了N×N的二维数)*p-=32; /******/ 它的功能是:将字符串中的前导例如,在主函数中从键盘给n能是:找出一维整型数组元素中组,并在主函数中赋值。请编写p++;i++;} 79.编写函数fun,它的功能是:*号全部移到字符串的尾部。例输入100后,输出为:最大的值和它所在的下标,最大函数fun,函数的功能是:求出/******/ 计算并输出下列级数和:例如,如,字符串中的内容为:sum=148.874270。注意:要求n的值和它所在的下标通过形参数组周边元素的平均值并作为72.函数fun的功能是:将a、b当n = 10时,函数值为:0.909091 ******A*BC*DEF*G****,移的值大于2但不大于100。 传回。数组元素中的值已在主函函数值返给主函数中的s。例如:中的两个两位正整数合并形成/******/ 动后,字符串中的内容应当是:/******/ 数中赋予。主函数中x是数组a 数组中的值为则返回主程序一个新的整数放在c中。合并的double s=0.0;int i; A*BC*DEF*G******。编写函int i,j=0; 名,n是x中的数据个数,max后s的值应为:3.375。 方式是:将a中的十位和个位数for(i=1;i<=n;i++) 数时,不得使用C语言提供的double s=0; 存放最大值,index存放最大值/******/ 依次放在变量c的十位和千位s=s+1.0/(i*(i+1)); 字符串函数。 for (i=3;i<=n;i++) 所在元素的下标。 int i,j,n=0; 上,b中的十位和个位数依次放return s; /******/ int i=0,n=0;char *p; 为: {a[j]=t;t=p[i];j++;} 错num/=10误;}while(num); for(i=0;i=n) a[j]=t; 6.给定程序MODI1.C中函数fun/***found***/ /***found***/ 44 44 44 44 {n++;p++;} return j; 的功能是:将字符串中的字符按错pt[i]=str[k][i];误 long s=0,错t=0误; while(*p) 55 55 55 55 /******/ 逆序输出,但不改变字符串中的15.给定程序MODI1.C中函数for (j=0;j=num误 函数值返回。 的数据,按列的顺序依次放到一int i,j; 错p=j;误 中的数对调。 {pi=pi+t;n=n+2;s=-s; /******/ 维数组中。例如,二维数组中的for(j=0;j=0&&a[i]<=9) b[0]+=1; 错p=i;误t=t/N; 55 55 55 55 else if(a[i]>=10&&a[i]<=19) 8.给定程序MODI1.C中函数funif(a[k]>a[m]) 错m=k误; 放在最后一个元素中。给定程序 for(i=0;it)b[(*n)++]= a[i]; 44 55 33 44 55 33 44 else if(a[i]>=20&&a[i]<=29) 的所有空白字符(包括制表符、fun 的功能是:判断ch中的字计算数组元素中值为正数的平return t; 55 33 44 55。 b[2]+=1; 回车符及换行符)。输入字符串符是否与str所指串中的某个字均值(不包括0)。例如:数组/******/ /******/ else if(a[i]>=30&&a[i]<=39) 时用'#'结束输入。 符相同;若相同,什么也不做,中元素中的值依次为:39,-47,/***found***/ 若不同,则将其插在串的最后。 21,2,-8,15,0,则程序的运87.学生的记录由学号和成绩组int i,j; b[3]+=1; 成,N名学生的数据已在主函数for(j=0;j=40&&a [i]<=49) 错for(i=0,t=0; p[i]; i++)误 /***found***/ 行结果为:19.250000。 中放入结构体数组s中,请编写for(i=0;i=50&&a[i]<=59) /***found***/ {while (*str && *str != ch) 错double sum=0.0;误 ; 最低的学生数据放在b所指的*n=*n+1;} b[5]+=1; 错c[t]='\0'误str++; int c=0,i=0; 数组中,注意:分数最低的学生/******/ else if(a[i]>=60&&a[i]<=69) 9.给定程序MODI1.C中函数fun/***found***/ while (x[i] != 0) 可能不止一个,函数返回分数最94.请编写函数fun,函数的功能b[6]+=1; 的功能是:求出s所指字符串中if(错*str !=ch误) {if (x[i]>0){ 低的学生的人数。 是:将放在字符串数组中的Melse if(a[i]>=70&&a[i]<=79) 最后一次出现的t所指子字符串{str[0]=ch; sum+=x[i];c++;}i++;} /******/ 个字符串(每串的长度不超过b[7]+=1; 的地址,通过函数值返回,在主/***found***/ /***found***/ int i,j=0,min=a[0].s; N),按顺序合并组成一个新的else if(a[i]>=80&&a[i]<=89) 函数中输出从此地址开始的字错str[1]='\0'误; 错sum /=c误; for(i=0;ia[i].s) M个字符串为AAAA else if(a[i]>=90&&a[i]<=99) NULL。例如,当字符串中的内fun的功能是:计算整数n的阶fun 的功能是:计算并输出high{j=0;b[j++]=a[i];min=a[i].s;} BBBBBBB CC则合并后的字符b[9]+=1; 容为:"abcdabfabcdx",t中的内乘。 以内最大的10个素数之和。highelse if(min==a[i].s) 串的内容应是:else b[10]+=1; 容为:"ab"时,输出结果应是:/***found***/ 的值由主函数传给fun函数。若b[j++]=a[i];} AAAABBBBBBBCC。提示:/******/ abcdx。当字符串中的内容为:错result*=n--;误 high的值为:100,则函数的值return j; strcat(a,b)的功能是将字符串b100.请编写函数fun,函数的功"abcdabfabcdx",t中的内容为:/***found***/ 为:732。 /******/ 复制到字符串a的串尾上,成为能是:统计一行字符串中单词的"abd"时,则程序输出未找到信错result误_____; /***found***/ 88.函数fun的功能是:将a、b一个新串。 个数,作为函数值返回。一行字息:not be found!。 19.给定程序MODI1.C中 fun while 错((high >=2)&&(n<10))/******/ /***found***/ 中的两个两位正整数合并形成符串在主函数中输入,规定所有函数的功能是:将p所指字符串误) 一个新的整数放在c中。合并的int i,j,k=0; 单词由小写字母组成,单词之间a=错NULL误; 中每个单词的最后一个字母改{yes=1;for (j=2;j<=high/2;j++) 方式是:将a中的十位和个位数for(i=0;i='a'&&s[i]<='z'&&s[i+1]的子串全部替换成t2所指字符/***found***/ SN+1大于q为止,q的值通过*c=(b%10)*1000+(a/10)*100+(b95.函数fun的功能是:移动一==' '||s[i+1]=='\0') 串,所形成的新串放在w所指错if(*p==' ')误 形参传入。例如,若q的值为:n++;} /10)*10+a%10; 维数组中的内容:若数组中有n的数组中。在此处,要求t1和{k=0; 50.0,则函数值为:49.394948。 /******/ 个整数,要求把下标从0到p(含return n; t2所指字符串的长度相同。例/***found***/ /***found***/ 89.学生的记录由学号和成绩组p,p小于等于n-1)的数组元素/******/ 如,当s所指字符串中的内容错*(p-1)=toupper(*(p-1));误}} 错s=s+(n+1.0/n)误; 成,N名学生的数据已在主函数平移到数组的最后。例如,一维 为:"abcdabfab",t1所指子串中20.给定程序MODI1.C中 fun n++;}printf("n=%d\n",n); 中放入结构体数组s中,请编写数组中的原始内容为:1,2,3,1.给定程序MODI1.C中函数fun的内容为:"ab",t2所指子串中函数的功能是:根据形参m,计/***found***/ 函数fun,它的功能是:把指定4,5,6,7,8,9,10:p的值为的功能是:先将在字符串s中的的内容为:"99"时,结果在w所算如下公式的值。例如,若输入错return t;误} 字符按正序存放到t串中,然后分数范围内的学生数据放在b3。移动后,一维数组中的内容指的数组中的内容应为5,则应输出 2.283333。 30.给定程序MODI1.C中函数 所指的数组中,分数范围内的学应为:5,6,7,8,9,10,1,把s中的字符按逆序连接到t串"99cd99f99"。 /***found***/ fun 的功能是:计算S = f(-n) + 生人数由函数值返回。例如,输2,3,4。 的后面。例如:当s中字符串为:/***found***/ 错t+=1.0/i;误 f(-n+1) +…+ f(0) + f(1) + f(2) 入的分数是60 69,则应当把/******/ "ABCDE"时,则t中字符串应错while(*r)误 /***found***/ +…+ f(n)的值。例如,当n为分数在60到69的学生数据进行int i, j=0, b[N]; 为:"ABCDEEDCBA"。 if(*r==*p){r++;p++;} 错return t;误} 5时,函数值应为:10.407143。输出,包含60分和69分的学生for(i=p+1;i=l&&a[i].s<=h)b[j++]=a96.请编写函数fun,功能是:移2.给定程序MODI1.C中函数fun与t所指字符串相同的子串的个/***found***/ else return (x +1)/(x-2);} [i]; 动字符串中的内容,移动的规则的功能是:从低位开始取出长整数作为函数值返回。例如,当s错if(('a'<=tt[i])&&(tt[i]<='z'))误 double fun(int n) return j; 如下:把第1到第m个字符,型变量s中奇数位上的数,依次所指字符串中的内容为:/***found***/ {int i; double s=0.0, y; /******/ 平移到字符串的最后,把第m+1构成一个新数放在t中。高位仍"abcdabfab",t所指字符串的内错tt[i]-=32误; for(i=-n;i<=n;i++) 90.N名学生的成绩已在主函数到最后的字符移到字符串的前在高位,低位仍在低位。例如,容为:"ab",则函数返回整数3。 22.给定程序MODI1.C中函数 {y=f(1.0*i);s+=y;} 中放入一个带头节点的链表结部。例如,字符串中原有的内容当s中的数为:7654321时,t/***found***/ fun 的功能是:用冒泡法对6个/***found***/ 构中,h指向链表的头节点。请为:ABCDEFGHIJK,m的值为中的数为:7531。 错r++; p++;误} 字符串按由小到大的顺序进行错return s;误} 编写函数fun,它的功能是:找3,则移动后,字符串中的内容/***found***/ else break; 排序。 31.给定程序MODI1.C中函数出学生的最高分,由函数值返应该是:DEFGHIJKABC。 void错fun (long s, long *t)误 /***found***/ /***found***/ fun的功能是:计算函数(x,y,回。 /******/ {long sl=10; 错if(*r=='\0')误 错for(j=i+1; j<6; j++)误 z)=(x+y)/(x-y)+(z+y)/(z-y)的值。/******/ int i; *t = s % 10;while (s > 0) 12.给定程序MODI1.C的功能{if(strcmp(*(pstr+i),*(pstr+j))>0) 其中x、y的值不等,z、y的值double max=h->s; for(i=0;inext; 97.请编写函数fun,函数的功能错sl=sl*10误;}} (即所有为素数的因子)。例如,错*(pstr+i)=*(pstr+j)误; 数值为 -3.50 while(p) 是:将M行N列的二维数组中3.给定程序MODI1.C中fun函若输入整数:2310,则应输出:23.给定程序MODI1.C中函数/***found***/ {if(p->s>max) 的字符数据,按列的顺序依次放数的功能是:将n个无序整数从2、3、5、7、11。 fun的功能是:根据整型形参m,#define 错FU(m,n) ((m)/(n))误 max=p->s;p=p->next; } 到一个字符串中。例如,二维数小到大排序。 /***found***/ 计算如下公式的值。例如,若mfloat fun(float a,float b,float c) return max; 组中的数据为: /***found***/ IsPrime (int n)错*删除分号*误 中的值为:5,则应输出:{float /******/ W W W W for (i=j+1; 错ia[i]) for(i=2;i0)误 程序运行后 a 中的值为 3,b查找的基本算法是:每次查找前char *p=str; 是:删去一维数组中所有相同的/***found***/ return (k*fun(k-1)); 中的值为8。 先确定数组中待查的范围:lowwhile(*p) 数,使之只剩一个。数组中的数错if(d%2==0)误 /***found***/ /***found***/ 和high(lowhigh,查找结束。 是:将M行N列的二维数组中int i,t,j=0,*p=a; 若输入:202,则输出应该是:0。 "abcCDEF"。 间)例如 a = 3,n = 6,则以上/***found***/ 的数据,按行的顺序依次放到一t=p[0]; {/***found***/ {/***found***/ 表达式为: s = 333333 - 33333 - 错int误 fun(int a[], int m) 维数组中,一维数组中数据的个for(i=0;i<=n;i++) 错long k=1误; 错int k, q, i;误 3333 - 333 - 33 - 3其值是:{int low=0,high=N-1,mid; 数存放在形参n所指的存储单if(t==p[i]); do{k*=num%10; for (k = 0; k < m; k++) 296298a 和 n 是 fun 函数的while(low<=high){mid=(low+hig元中。例如,二维数组中的数据else /***found***/ {q=strlen (str [k]); 形参,表达式的值作为函数值传h)/2; if(ma[mid]) /***found***/ 一般三角形函数返回1,若不能/***found***/ 误 for (k=1;k<=n;k++) 33.给定程序MODI1.C中函数void 错fun(int *a)误 构成三角形函数返回0。 错double fun(int n)误 {while (*s) {s=s+1.0*a/b; fun和funx的功能是:用二分法{int i,j,k,m; /***found***/ {int a,b,c,k;double s; {if (*s>='A'&&*s<='Z') /***found***/ 求方程2x3-4x2+3x-6=0的一个printf("Enter 4 number : "); 错int fun(int a,int b,int c)误 s=0.0;a=2;b=1; /***found***/ c=a;a+=b;错b=c误; {if(a+b>c && b+c>a && a+c>b) *a=*a+1误; 根,并要求绝对误差不超过for(i=0; i='a'&&*s<='z') fun 的功能是:从n(形参)个给n输入90,则函数求得的一printf("\n\nThe result :\n\n"); if(a==b && b==c) return 3; s=s+错(double)误a/b; /***found***/ 学生的成绩中统计出低于平均个根值为2.000。 for(i=M;i>0;i--){k=a[M-1]; else if(a==b||b==c||a==c) 59.给定程序MODI1.C中函数 错*b=*b+1误; 分的学生人数,此人数由函数值/***found***/ for(j=M-1;j>0;j--) return 2; fun 的功能是:将s所指字符串67.给定程序MODI1.C中函数返回,平均分存放在形参aver错double r;误 /***found***/ /***found***/ 的正序和反序进行连接,形成一fun的功能是:先从键盘上输入所指的存储单元中。例如,若输; else return 1 错;误 r=(m+n)/2; 错a[j]=a[j-1]误个新串放在t所指的数组中。例一个3行3列矩阵的各个元素的入 8 名学生的成绩:80.5 60 /***found***/ 42.给定程序MODI1.C中函数50.给定程序MODI1.C中函数如,当s所指字符串为:"ABCD" 值,然后输出主对角线元素之72 90.5 98 51.5 88 64while(错fabs(n-m)>0.001误) fun的功能是:从3个红球,5fun的功能是:首先将大写字母时,则t所指字符串中的内容应和。 则低于平均分的学生人数为:434.给定程序MODI1.C中函数个白球,6个黑球中任意取出8转换为对应小写字母;若小写字为:"ABCDDCBA"。 /***found***/ (平均分为: fun的功能是:求出两个非零正个作为一组,进行输出。在每组母为a,u,则将其转换为其后/***found***/ 错sum=0误; 75.5625 )。 整数的最大公约数,并作为函数中,可以没有黑球,但必须要有的第5个字母;若小写字母为错void fun(char *s, char *t)误 printf("Input data:"); /***found***/ 值返回。例如,若给num1和红球和白球。组合数作为函数值v,z,使其值减21。转换后的{int i,d;d=strlen(s); for (i=0;i<3;i++) 错t+=s[k]误; num2分别输入49和21,则输返回。正确的组合数应该是15。小写字母作为函数值返回。例for (i=0;i='a'&&c<='u') fun 的功能是:将s所指字符串值原为8,b中的值为3。程序fun 的功能是:由形参给定n个{a=b; b=r; r=a%b;} /***found***/ 中最后一次出现的与t1所指字运行后a中的值为3,b中的值实数,输出平均值,并统计在平/***found***/ /***found***/ if(错k误>=0 && 错k误<=6) 错c=c+5;误 符串相同的子串替换成t2所指为8。 均值以上(含平均值)的实数个return(错b误);} 43.给定程序MODI1.C中函数51.给定程序MODI1.C中函数字符串,所形成的新串放在w/***found***/ 数。例如,n=8时,输入:193.199,35.给定程序MODI1.C中函数fun的功能是:求整数x的y次fun的功能是:先将s所指字符所指的数组中。在此处,要求t1错void fun(int *x,int *y)误 195.673,195.757,196.051,196.0 {int t; fun的功能是:按以下递归公式方的低3位值。例如,整数5串中的字符按逆序存放到t所指和t2所指字符串的长度相同。92,196.596,196.579,196.763求函数值。例如,当给n输入5的6次方为15625,此值的低3字符串中,然后把s所指串中的例如,当s所指字符串中的内容/***found***/ 所得平均值为:195.838745,在时,函数值为18;当给n输入3位值为625。 字符按正序连接到t所指串的后为:"abcdabfabc",t1所指子串错t=*x;*x=*y;*y=t;误} 平均值以上的实数个数应为:5 时,函数值为14。 /***found***/ 面。例如:当s所指的字符串为:中的内容为:"ab",t2所指子串69.给定程序MODI1.C中函数 {/***found***/ /***found***/ for(i=1;错i<=y误;i++) "ABCDE"时,则t所指的字符串中的内容为:"99"时,结果,在fun 的功能是:将十进制正整数错int j,c=0;误 double xa=0.0; int 错fun(int n)误 t=t*x;*p=t; 应为:"EDCBAABCDE"。 w所指的数组中的内容应为:m转换成k(2?k?9)进制数,并for (j=0;j=误xa) 斐波拉契数列中第n项的值。从整数,把这些整数放在s所指数错t[i]=s[sl-i-1];误 错if(*r==*p)误 错aa[i]=m%k误; 78.给定程序MODI1.C中函数第1项起斐波拉契数列为:1、1、组中,个数作为函数值返回。 52.给定程序MODI1.C中函数61.给定程序MODI1.C中函数m/=k;}for(;i;i--) fun的功能是:计算小于形参k2、3、5、8、13、21、…例如,/***found***/ fun的功能是:从低位开始取出fun的功能是:首先把b所指字/***found***/ 的最大的10个能被13或17整若给n输入7,该项的斐波拉契符串中的字符按逆序存放,然后printf("%d",错aa[i-1]误错k=i误; 长整型变量s中偶数位上的数,); 除的自然数之和。k的值由主函数值为:13 a=k%10; k/=10; 依次构成一个新数放在t中。高将a所指字符串中的字符和b所70.给定程序MODI1.C中fun函数传入,若k的值为500,则函{/***found***/ b=k%10; k/=10; 位仍在高位,低位仍在低位。例指字符串中的字符,按排列的顺数的功能是:根据整型形参m,数值为4622。 switch(g)错*去掉;*误 /***found***/ 如,当s中的数为:7654321时,序交叉合并到c所指数组中,过计算如下公式的值。例如,若主{/***found***/ {case 0: return 0; 错c=k%10;误 t中的数为:642。 长的剩余字符接在c所指数组函数中输入5,则应输出 if (错(k%13)==0||(k%17==0)误) /***found***/ 45.给定程序MODI1.C中函数/***found***/ 的尾部。例如,当a所指字符串-0.283333。 {m=m+k;mc++;} 错case 1: return 1误; fun的功能是:计算n的5次方void fun (long s,错long*t误中的内容为"abcdefg",b所指字k--;}return m; ) /***found***/ 37.给定程序MODI1.C中函数的值(规定n的值大于2、小于{long sl=10; 符串中的内容为"1234"时,c所错t=t-1.0/i;误 /***found***/ fun的功能是:按顺序给s所指8),通过形参指针传回主函数;s/=10;*t=s%10; 指数组中的内容应该为/***found***/ 错}误 数组中的元素赋予从2开始的并计算该值的个位、十位、百位/***found***/ "a4b3c2d1efg";而当a所指字符错return t误;} 79.给定程序MODI1.C中函数偶数,然后再按顺序对每五个元上数字之和作为函数值返回。例串中的内容为"1234",错while(s>0)误 b所指字71.给定程序MODI1.C中函数 fun的功能是:求S的值。例如,素求一个平均值,并将这些值依如,7的5次方是16807,其低53.给定程序MODI1.C中函数符串中的内容为"abcdefg"时,cfun 的功能是:读入一个字符串当k为10时,函数值应为:次存放在w所指的数组中。若s3位数的和值是15。 fun的功能是:输出M行M列所指数组中的内容应该为(长度,20),将该字符串中的1.533852。 所指数组中元素的个数不是5/***found***/ 整数方阵,然后求两条对角线上"1g2f3e4dcba"。 所有字符按ASCII码升序排序/***found***/ 的倍数,多余部分忽略不计。例错d=1;s=0;误 元素之和,返回此和数。 /***found***/ 后输出。例如,若输入:edcba,错double fun(int k)误 如,s所指数组有14个元素,for(i=1;i<=5;i++) d=d*n; /***found***/ 错while(it[j+1]误) /***found***/ {sum+=s[i]; 项都比前一项的值增5;给定程{for(j = 0; j < M; j++) 62.给定程序MODI1.C中函数72.给定程序MODI1.C中函数return s错;误} 序MODI1.C中函数fun的功能fun的功能是:根据整型形参m,/***found***/ /***found***/ fun的功能是:根据形参m的值80.已知一个数列从第0项开始错if( (i+1)%5==0)误 是:计算前n(40){d=s%10; n=10,则应输出:0.617977。 6 8 {double sum,s0,s1,s2,s;int k; /***found***/ for(k=3,i=0;i1 && n < 170) 大写,然后输出此文本行(这里for (k=0;k误 0.536389。 /***found***/ fun的功能是:将p所指字符串n=n/10;}while(n); 应输出2。 /***found***/ /***found***/ 错a2=k/10误; 中的所有字符复制到b中,要求/***found***/ /***found***/ 错upfst(char *p)误 for(i=2;错i<=m误;i++) a1=k-a2*10; 每复制三个字符之后插入一个错*zero=count;误 for(i=0错;误str[i]错;误i++) 65.给定程序MODI1.C中函数 /***found***/ if((k%3==0&&a2==5)||(k%3==0空格。例如,在调用fun函数之48.给定程序MODI1.C中函数for(j=i,k=0;substr[k]==str[j];k++,fun 的功能是:统计字符串中各错y-=1.0/(i*i;)误 &&a1==5)){b[i]=k; i++;}} 前给a输入字符串:fun的功能是:为一个偶数寻找j++) 元音字母(即:A、E、I、O、74.给定程序MODI1.C中函数/***found***/ ABCDEFGHIJK,调用函数之两个素数,这两个素数之和等于/***found***/ U)的个数。注意:字母不分大、fun的功能是:找出一个大于形错return i;误} 后,字符数组b中的内容则为:该偶数,并将这两个素数通过形错if误(substr[k+1]=='\0') 小写。例如:若输入:THIs is a 参m且紧随m的素数,并作为82.给定程序MODI1.C中函数ABC DEF GHI JK。 参指针传回主函数。 57.给定程序MODI1.C中函数 boot,则输出应该是:1、0、2、函数值返回 fun的功能是:逐个比较p、q/***found***/ /***found***/ fun 的功能是:判断一个整数是2、0。 /***found***/ 所指两个字符串对应位置中的错b[k]=*p误; 错y=1;误 否是素数,若是返回1,否则返/***found***/ if (错i%k==0误) 字符,把ASCII值大或相等的k++;p++;i++;}if(*p){ for(j=2;j<=sqrt((double)i);j++) 回0。在main()函数中,若fun错num[k]误=0; break ; 字符依次存放到c所指数组中,/***found***/ if(i%j==0) y=0; 返回1输出YES,若fun返回0for (;*s;s++){i=-1; /***found***/ 形成一个新的字符串。例如,若错b[k++]=' '误; if(y==1){ 输出NO!。 /***found***/ if(错k>=i误) 主函数中a字符串为:41.给定程序MODI1.C中函数/***found***/ /***found***/ 错switch(*s)误 75.给定程序MODI1.C中fun函aBCDeFgH,主函数中b字符串fun的功能是:给一维数组a输错d=a-i误; 错k++;误 66.给定程序MODI1.C中 fun 数的功能是:求出以下分数序列为:ABcd,则c中的字符串应入任意4个整数,并按下例的规49.给定程序MODI1.C中函数/***found***/ 函数的功能是:分别统计字符串的前n项之和。和值通过函数值为:aBcdeFgH。 律输出。例如输入1、2、3、4,fun的功能是:根据输入的三个if (错m==k误) 中大写字母和小写字母的个数。返回main函数。例如,若 n = 5,{/***found***/ 程序运行后将输出以下方阵。 边长(整型值),判断能否构成58.给定程序MODI1.C中函数 例如,给字符串 s 输入:则应输出:8.391667。 int 错k=0误; 4 1 2 3 三角形:构成的是等边三角形,fun 的功能是:求出以下分数序AAaaBBb123CCccccd,则应输/***found***/ /***found***/ 3 4 1 2 还是等腰三角形。若能构成等边列的前n项之和。和值通过函数出结果:upper = 6,lower = 8。 错double fun(int n)误 错while(*p||*q)误 83.给定程序MODI1.C中函数随机函数为各结点数据域赋值。1.给定程序的功能是调用fun函7.给定程序中已建立一个带有{int i; 参ss所指字符串数组中最长字fun的功能是:求三个数的最小函数fun的作用是求出单向链数建立班级通讯录。通讯录中记头结点的单向链表,链表中的各for(i=0; i<3; i++) 符串的长度,将其余字符串右边公倍数。例如,给主函数中的变表结点(不包括头结点)数据域录每位学生的编号、姓名和电话结点按数据域递增有序链接。函/***found***/ 用字符*补齐,使其与最长的字量x1、x2、x3分别输入15 11 中的最大值,并且作为函数值返号码。班级的人数和学生的信息数fun的功能是:删除链表中数ss->答score[i]案*=a;} 符串等长。ss所指字符串数组中2,则输出结果应当是:330。 回。 从键盘读入,每个人的信息作为据域值相同的结点,使之只保留main() 共有M个字符串,且串长next误; myfile5.dat的二进制文件中。 /***found***/ std={ 1,"Zhanghua",76.5,78.0,82.n=strlen(答ss[i]案); {int j,t,n,m; while(p){if(p->data>max) /***found***/ free(答q案); 0 }; for(j=0; jdata; int fun(答STYPE案*std) /***found***/ float a; /***found***/ while(t!=0||m!=0||n!=0) /***found***/ {/***found***/ q=p->答next案;} printf("\nThe original number ss[i][答n+j案]='*'; {j=j+1;t=j%x;m=j%y;n=j%z;} 错p=p->next误;} 答FILE案*fp; int i; else{p=q; and name and scores :\n"); /***found***/ /***found***/ 93.给定程序MODI1.C中函数if((fp=fopen("myfile5.dat","wb")/***found***/ show(std); ss[i][n+j+答1案]='\0';}} } )==NULL) q=q->答next案; 20.给定程序中,函数fun的功错return j;误fun的功能是:将s所指字符串printf("\nInput a number : "); 84.给定程序MODI1.C中函数中位于奇数位置的字符或return(0); 8.给定程序中,函数fun的功能scanf("%f",&a); 能是:求ss所指字符串数组中fun的功能是:根据以下公式求ASCII码为偶数的字符放入t所printf("\nOutput data to file !\n"); 是:在带有头结点的单向链表/***found***/ 长度最长的字符串所在行下标,π值,并作为函数值返回。例如,指数组中(第一个字符放在第0for(i=0; ieps) t[j++]=s[i]; 个字符),写到文件myfile4.txtwhile(p!=答0案) void fun(PERSON答*std案) *n) {s+=t;t=t*n/(2*n+1);n++;} /***found***/ 中,用-1作为字符串结束的标{n++; {/***found***/ {int i, k=0, len=0; /***found***/ 错t[j]='\0'误;} 志。然后将文件的内容读出显示/***found***/ 答PERSON案 temp; for(i=0; idata==ch) if(std[0].num>std[1].num) {len=strlen(ss[i]); 85.给定程序MODI1.C中函数fun的功能是:计算s所指字符函数ReadText和WriteText实return 答n案; {temp=std[0]; std[0]=std[1]; /***found***/ fun的功能是:从s所指字符串串中含有t所指字符串的数目,现。 else p=p->next;} std[1]=temp;} if(i==0) *n=答len案; 中删除所有小写字母"c"。 并作为函数值返回。 /***found***/ return 0;} if(std[0].num>std[2].num) if(len>*n) { /***found***/ /***found***/ void WriteText(FILE答*fw案) main() {temp=std[0]; std[0]=std[2]; /***found***/ 错s[j++]=s[i]误; 错r=t误; {char str[81]; {SLIST *head; int k; char ch; std[2]=temp;} 答*n=len案; char a[N]={'m','p','g', /***found***/ while(*r) printf("\nEnter string with -1 to if(std[1].num>std[2].num) 21.给定程序中,函数fun的功错s[j]='\0';误} if(*r==*p) {r++; p++;} end :\n");gets(str); 'a','w','x','r','d'}; {temp=std[1]; std[1]=std[2]; 能是:求ss所指字符串数组中86.给定程序MODI1.C中函数else break; while(strcmp(str,"-1")!=0) head=creatlist(a); std[2]=temp; } } 长度最短的字符串所在的行下fun的功能是:应用递归算法求/***found***/ {/***found***/ outlist(head); main() 标,作为函数值返回,并把其串形参a的平方根。求平方根的迭错if(*r==0)误 fputs(答str案,fw); printf("Enter a letter:"); {PERSON std[]={5,"Zhanghu", 长放在形参n所指变量中。ss代公式如下:例如,a为2时,95.给定程序MODI1.C中函数fputs("\n",fw); scanf("%c",&ch); 2,"WangLi",6,"LinMin" }; 所指字符串数组共有M个字符平方根值为:1.414214。 /***found***/ fun的功能是:将s所指字符串gets(str);}} int i; 串,串长='A'&&*s<='Z'||*s>='a'&while(!feof(fr)) /***found***/ 数值返回,并在main函数中输if(len 答<案 *n) if(fabs(x1-错x0误)>0.00001) &*s<='z') {/***found***/ 答*n案=0; 出。 {*n=len;k=i;}} 87.假定整数数列中的数不重p=h->next; /***found***/ {if(*s=='Z')*s='A'; printf("%s",答str案); /***found***/ 复,并存放在数组中。给定程序else if(*s=='z')*s='a'; 3.给定程序中,函数fun的功能while(p) max=答*std案; return(答k案);} MODI1.C中函数fun的功能是:else *s+=1;} 是:将自然数1,10以及它们的{(*n)++; for(i=1; i答next案;}} if(max.age<答std[i].age案) 数字字符移到所有非数字字符/***found***/ 96.给定程序MODI1.C中函数示在屏幕上。 main() max=std[i]; 之后,并保持数字字符串和非数if(错p==n误fun的功能是:比较两个字符串,/***found***/ {SLIST *head; ) return -1; return max;} 字字符串原有的先后次序。例else{for(i=p;i答data案; 学生的信息。函数fun的功能是for(i=0; i<答j案; i++) {int i;char *sp; 97.给定程序MODI1.C中函数到指定的目标文件中,复制成功/***found***/ 输出这位学生信息。 s[k+i]=t2[i];} sp=sq[0];for(i=0;i答next案;} /***found***/ 23.给定程序中,函数fun的功if(strlen(sp)='0'答&&案s[i]<='9') 将其放在第一个位置上;并将该fun的功能是:对N名学生的学案))==NULL) printf("\nsum=%d\n", fun(答/***found***/ {n=0; 字符前的原字符向后顺序移动。习成绩,按从高到低的顺序找出return 0; head案));} printf("%5.1f", 答tt.score[i]案); /***found***/ 例如,调用fun函数之前给字符前m(m?10)名学生来,并将这if((ft=fopen(target, 11.人员的记录由编号和出生printf("\n");} while(s[i+1+n]!=答0案)n++; 串输入:ABCDeFGH,调用后些学生数据存放在一个动态分"w"))==NULL) 年、月、日组成,N名人员的数main() for(j=i+n+1; j>i; j--) {STU std={ 1,"Zhanghua",'M' 字符串中的内容为:配的连续存储区中,此存储区的return 0; 据已在主函数中存入结构体数/***found***/ eABCDFGH。 首地址作为函数值返回。 printf("\nThe data in file :\n"); 组std中,且编号唯一。函数fun,1961,10,8,76.5,78.0, 82.0 }; s[j+1]= 答s[j]案; /***found***/ /***found***/ ch=fgetc(fs); 的功能是:找出指定编号人员的printf("\nA student data:\n"); 24.函数fun的功能是:统计形q=p+i错;误} t=(STU *)calloc(sizeof(STU),m)/***found***/ 数据,作为函数值返回,由主函/***found***/ 参s所指字符串中数字字符出i++;} 错;误 while(!feof(答fs案)) 数输出,若指定编号不存在,返show(答std案);} 现的次数,并存放在形参t所指/***found***/ for(i=0; ip)误 for(k=0; kb[j].s)j=i; 5.给定程序中已建立一个带有*num) 行排序。ss所指字符串数组中共为:4。 对字符串中的字符按从小到大/***found***/ 头结点的单向链表,链表中的各M个字符串,且串长='0'&&s[i]<= 答'9'案) 符插入到前两个字符中,插入后端加入n个*号,形成新串,并点并插入到链表中,插入后各结案,num)==0) if(n[k]>n[j]) 答k=j案; n++; 前三个字符依然有序;再把第四且覆盖原串。注意:字符串的长点数据域的值仍保持递增有序。 /***found***/ if(k!=i) /***found***/ 个字符插入到前三个字符度最长允许为79。 /***found***/ return (答std[i]案); {strcpy(t,ss[i]); 答*t=n案;} 中……。待排序的字符串已在主/***found***/ s->data=答x案; 12.人员的记录由编号和出生strcpy(ss[i],ss[k]); 25.给定程序中,函数fun的功函数中赋予。 错p=s;误 q=h; 年、月、日组成,N名人员的数/***found***/ 能是:把形参s所指字符串中下/***found***/ for(i=0;inext; 据已在主函数中存入结构体数strcpy(ss[k],答t案); 标为奇数的字符右移到下一个n=错strlen(aa)误; do {a[i]=*p;i++;} while(p!=NULL && x>p->data) 组std中。函数fun的功能是:18.给定程序中,函数fun的功奇数位置,最右边被移出字符串for(i=1;inext;} 由主函数输出,同时由函数值返字符串左边用字符*补齐,使其字符串的长度大于等于2)。例91.给定程序MODI1.C是建立数Creatlink的功能是创建带头s->next=p; 回满足指定条件的人数。 与最长的字符串等长。字符串数如,形参s所指的字符串为:一个带头结点的单向链表,并用结点的单向链表,并为各结点数/***found***/ /***found***/ 组中共有M个字符串,且串长abcdefgh,执行结果为:随机函数为各结点赋值。函数据域赋0到m-1的值。 q->next=答s案;} if(答std[i].year案==year) next=NULL; 用一次fun函数,输出链表尾部return (答n案);} if (i!=k) /***found***/ /***found***/ for(i=1;i<=n;i++) 结点中的数据,并释放该结点,13.给定程序通过定义并赋初值{m=n; c=答s[k]案; 错p=h->next误; {s=(NODE*)malloc(sizeof(NOD使链表缩短。 的方式,利用结构体变量存储了len=strlen(ss[i]); for(i=k-2; i>=1; i=i-2) while(p) E)); /***found***/ 一名学生的学号、姓名和3门课/***found***/ s[i+2]=s[i]; {if(p->data%2==0)sum+=p->dats->data=rand()%m;s->next=p->nt=t->答next案;} 的成绩。函数fun的功能是将该for(j=答len案; j>=0; j--) /***found***/ a; ext; /***found***/ 学生的各科成绩都乘以一个系ss[i][m--]=ss[i][j]; s[1]=答c案;} /***found***/ p->next=s;p=p->next;} printf(" %d ",答t->data案); 数a。 for(j=0; jnext误;} /***found***/ s->next=NULL; /***found***/ /***found***/ 能是:对形参s所指字符串中下92.给定程序MODI1.C是建立错return h;误} /***found***/ void modify(答STU案*ss,float 答ss[i][j]案='*';}} 标为奇数的字符按ASCII码大一个带头结点的单向链表,并用 free(答t案);} a) 19.函数fun的功能是:求出形小递增排序,并将排序后下标为 奇数的字符取出,存入形参p/***found***/ 7,则按规则移动后,数据排列/***found***/ 数字之和为x(x为一正整数)所有字母字符顺序前移,其他字所指字符数组中,形成一个新void fun(int (*t)答[N]案) 为:9、1、8、2、7、3、6、4、f+=答t案;} 的整数,然后输出;符合条件的符顺序后移,处理后新字符串的5。形参n中存放a所指数组中46.函数fun的功能是:统计所整数个数作为函数值返回。例串。例如,形参s所指的字符串{int i, j; 首地址作为函数值返回。例如,为:baawrskjghzlicda,执行后pfor(i=1; i2)的素数的个如,当x值为5时,100,999s所指字符串为:所指字符数组中的字符串应为:{for(j=0; js[j]) t=j; 能是:将N×N矩阵主对角线元px=pn=i; break; 1个。 for(i=0; i<答k案;i++)t[j+i]=p[i]; if(t!=i) 素中的值与反向对角线对应位/***found***/ /***found***/ /***found***/ /***found***/ ;j=i) while(t<=答999案){ t[j+k]=答0案; {x=s[i]; s[i]=s[t]; s[t]=x;}} 置上元素中的值进行交换。例for(j=答i+1案if(答j案for(i=1,j=0; ii; j--) s[j+1]=s[j]; 线元素和反向对角线元素之和,组元素中的值。例如:若a所指倍数;依此类推,直到所找的下54.给定程序中,函数fun的功个数的平均值(规定所有数均为/***found***/ 并作为函数值返回。注意:要求数组中的数据依次为:1、2、3、一个数等于n为止。这样会得到能是:将形参n中,各位上为偶正数),作为函数值返回;并将s[j+1]=答c案; 先累加主对角线元素中的值,然4、5、6、7、8、9,则逆置后依一个序列:2,3,5,7,11,13,数的数取出,并按原来从高位到大于平均值的数放在形参y所28.给定程序中,函数fun的功后累加反向对角线元素中的值。 次为:9、8、7、6、5、4、3、2、17,19,23,…函数fun用筛选低位相反的顺序组成一个新的指数组中,在主函数中输出。例1。形参n给出数组中数据的个数,并作为函数值返回。例如,能是:有N×N矩阵,根据给定例如,若N=3,有下列矩阵: 法找出所有小于等于n的素数,如,有10个正数:46 30 32 的m(m<=N)值,将每行元素 1 2 3 数。 并统计素数的个数作为函数值输入一个整数:27638496,函数40 6 17 45 15 48 26,中的值均右移m个位置,左边 4 5 6 /***found***/ 返回。 返回值为:64862。 平均值为:30.500000主函数中置为0。例如,N=3,m=2,有 7 8 9 for(i=0;i<答n/2案;i++) /***found***/ /***found***/ 输出:46 32 40 45 48 下列矩阵 fun函数首先累加1、5、9,然{t=a[i]; for(j=a[i]*2;j<=n; j+=答a[i]案) if(t%2==答0案) /***found***/ 1 2 3 后累加3、5、7,函数的返回值/***found***/ a[j]=0;i++; /***found***/ av=答0案; 4 5 6 为30。 a[i]=a[n-1-答i案]; /***found***/ x=答10*x案+t; /***found***/ 7 8 9 /***found***/ /***found***/ while(答a[i]案==0) /***found***/ for(i=0; iav) y[答j++案]= x[i]; /***found***/ for(i=0; i=0; j--) 持不变;并将转换后的结果作为 49.甲乙丙丁四人同时开始放鞭数的平均值(规定所有数均为正sum+= t[i][n-i-答1案]; n传回所指变量。例如,输入一/***found***/ 34.函数fun的功能是:把形参a函数值返回。 炮,甲每隔t1秒放一次,乙每个数:27638496,新的数:为数),平均值通过形参返回主函t[i][j+答m案]=t[i][j]; 所指数组中的奇数按原顺序依/***found***/ 隔t2秒放一次,丙每隔t3秒放739。 数,将小于平均值且最接近平均/***found***/ 次存放到a[0]、a[1]、a[2]、……答char案fun(char ch){ 一次,丁每隔t4秒放一次,每/***found***/ 值的数作为函数值返回,在主函/***found***/ 数中输出。例如,有10个正数:for(j=0; j<答m案; j++) 中,把偶数从数组中删除,奇数人各放n次。函数fun的功能是{t=*n%答10案; 29.给定程序中,函数fun的功个数通过函数值返回。例如:若if(ch>='0'&&答ch<=?9?案) 根据形参提供的值,求出总共听/***found***/ 46 30 32 40 6 17 45 能是:将N×N矩阵中元素的值a所指数组中的数据最初排列/***found***/ 到多少次鞭炮声作为函数值返if(t%2!=答0案) 15 48 26,平均值为:按列右移1个位置,右边被移出为:9、1、4、2、3、6、5、8、return '9'-(ch-答„0?案); 回。注意,当几个鞭炮同时炸响,{x=x+t*i; i=i*10;} 30.500000主函数中输出:矩阵的元素绕回左边。例如,7,删除偶数后a所指数组中的41.函数fun的功能是进行字母只算一次响声,第一次响声是在*n =*n /10;} m=30.0 N=3,有下列矩阵 数据为:9、1、3、5、7,返回转换。若形参ch中是小写英文第0秒。例如,若t1=7,/***found***/ /***found***/ 答 1 2 3 值为5。 字母,则转换成对应的大写英文t2=5,t3=6,t4=4,n=10,则总共*n=答x案;} *av案=s/N; 4 5 6 /***found***/ 字母;若ch中是大写英文字母,可听到28次鞭炮声。 56.给定程序中,函数fun的功d=32767;for(i=0; i='a')答&&案(ch<='z')) int n) /***found***/ return 答x[j]案;} /***found***/ 35.函数fun的功能是:把形参areturn ch -'a' + 'A'; {int count, t , maxt=t1; s=答0案; 64.给定程序中,函数fun的功for(i=0; i<答N案;i++){ 所指数组中的偶数按原顺序依if (isupper(ch)) if (maxt < t2) maxt = t2; /***found***/ 能是:计算形参x所指数组中N/***found***/ 次存放到a[0]、a[1]、a[2]、……/***found***/ if (maxt < t3) maxt = t3; for(i=1;i<=答n案;i++)}{t=2.0*i; 个数的平均值(规定所有数均为x=t[i][答N-1案]; 中,把奇数从数组中删除,偶数return ch +'a'-答„A?案; if (maxt < t4) maxt = t4; /***found***/ 正数),将所指数组中大于平均for(j=N-1; j>=1; j--) 个数通过函数值返回。例如:若/***found***/ count=1; s=s+(2.0*i-1)*(2.0*i+1)/答(t*t)值的数据移至数组的前部,小于t[i][j]=t[i][j-1]; a所指数组中的数据最初排列return 答ch案;} /***found***/ 案;} 等于平均值的数据移至x所指/***found***/ 为:9、1、4、2、3、6、5、8、42.函数fun的功能是:计算for(t=1; t< maxt*(n-1); 答t++57.给定程序中,函数fun的功数组的后部,平均值作为函数值t[i][答0案]=x;}} 7,删除奇数后a所指数组中的*****的前n项之和。若x=2.5,案) 能是:计算下式前n项的和作为返回,在主函数中输出平均值和30.给定程序中,函数fun的功数据为:4、2、6、8,返回值为n=15时,函数值为:1.917914。 { if(OK(t,t1,n)||OK(t,t2,n)|| OK(t, 函数值返回。例如,当形参n移动后的数据。例如,有10个能是:有N×N矩阵,将矩阵的4。 /***found***/ t3, n) || OK(t, t4, n)) 的值为10时,函数返回:正数:46 30 32 40 6 17 外围元素顺时针旋转。操作顺序/***found***/ f=答1案; count++;} -0.204491。 45 15 48 26,平均值为:是:首先将第一行元素的值存入if(答a[i]%2案==0){ t=-1; /***found***/ /***found***/ 30.500000移动后输出为:46 临时数组r,然后使第一列成为/***found***/ for(i=1; iav){ 4 5 6 a[0]中,接着把形参a所指数组到 。若x=2.5,函数值为:t=(a>b)?(b>c?b:(a>c?c:答ak=k*答(-1)案;} /***found***/ 7 8 9 中的最大值放在a[1]元素中;再1.917915。 案)):((a>c)?答a案:((b>c)?c:答b58.给定程序中,函数fun的功y[答j++案]=x[i]; x[i]=-1;} 计算结果为 把a所指数组元素中的次小值/***found***/ 案)); 能是计算下式直到 ,并把计算for(i=0; i案e) 值的数据移至数组的前部,大于/***found***/ a所指数组中数据的个数。 while(答fabs(t)案>=1e-6); 159、168、177、186、195、249、{s=s+k*x; 等于平均值的数据移至x所指for(j=N-1; j>=0;答j--案) /***found***/ 44.函数fun的功能是:计算的258、267、276、285、294、339、k=k*(-1);t=2*i; 数组的后部,平均值作为函数值t[N-1][N-1-j]=t[j][N-1]; max=min=答a[i]案; 前n项。若x=2.5,函数值为348、357、366、375、384、393、 /***found***/ 返回,在主函数中输出平均值和for(j=N-1; j>=0; j--) px = pn = i; 12.182340。 429、438、447、456、465、474、x=答(2*i+1)案/(t*t); 移动后的数据。例如,有10个/***found***/ for (j=i+1; j答a[j]案) t*=x/答i案; while(t<=答x案) /***found***/ /***found***/ 上三角元素置为0。例如,若37.函数fun的功能是:把形参a45.函数fun的功能是:计算直{s1=t%10; s2=(t/10)%10; s=0; i=答0案; for(i=0;ie){ 案; 1 2 3 中,接着求出a所指数组中的最12.182494。 if(s1+s2+s3==15) /***found***/ for(i=j=0; isno案 = 10004; 至尾的数据为:10、4、2、8、6,量,存储了学生的学号、姓名和b[i]=答a[0][i]案; k++;} tp=ps[i]; ps[i]=ps[k]; ps[k]=答tp/***found***/ 排序后链表结点数据域从头至3门课的成绩。所有学生数据均for(j=1; jname案, "LiJie"); } 尾的数据为:2、4、6、8、10。 以二进制方式输出到文件中。函a[%d][%d]=%d\n",i,c,a[i][c]); /***found***/ 81.给定程序中,函数fun的功main() /***found***/ 数fun的功能是从形参filenameif(b[i]答<案a[j][i]) b[i]=a[j][i];}} /***found***/ 能是:在形参ss所指字符串数{struct student t={10002, p=答h->next案; 所指的文件中读入学生数据,并main() 答i++案;} 组中查找与形参t所指字符串相"ZhangQi", 93, 85, 87};int i; while (p) { 按照学号从小到大排序后,再用{int x[N][N]={ {12,5,8,7}, 74.给定程序中,函数fun的功同的串,找到后返回该串在字符printf("\n\nThe original /***found***/ 二进制方式把排序后的学生数{6,1,9,3},{1,2,3,4},{2,8,4,3} },y[能是:把形参s所指字符串中最串数组中的位置(下标值),未data :\n"); q=答p->next案; 据输出到filename所指的文件N],i,j; 右边的n个字符复制到形参t所找到则返回-1。ss所指字符串数printf("\nNo: %ld while (q) { 中,覆盖原来的文件内容。 printf("\nThe matrix :\n"); 指字符数组中,形成一个新串。组中共有N个内容不同的字符Name: %s\nScores: ",t.sno, /***found***/ /***found***/ for(i=0;idata答>=案q->data) fp=fopen(filename,答“rb”案); {for(j=0;j案s[j].sno) 能是建立一个main() 量,存储了学生的学号、姓名和/***found***/ {t= s[i]; s[i] = s[j]; s[j] = t;} N×N的矩阵。 矩if(n>=len)strcpy(答t,s案); 阵元素的构成规律是:最外层元else{ {char 3门课的成绩。函数fun的功能答NODE *案fun(NODE *h) fp = fopen(filename, "wb"); 素的值全部为1;从外向内第2/***found***/ ch[N][M]={"if","while","switch"是将形参a中的数据进行修改,{NODE *p, *q, *r; /***found***/ 层元素的值全部为2;第3层元for(i=len-n; i<=len-1; i++) ,"int","for"}, t[M]; 把修改后的数据作为函数值返p = h;if (p == NULL) return 答fwrite案(s, sizeof(STU), N, int n,i; 回主函数进行输出。例如:传给素的值全部为3,…依次类推。t[j++]=答s[i]案; NULL; fp); 例如,若N=5,生成的矩阵为: /***found***/ printf("\nThe original 形参a的数据中,学号、姓名、q = p->next;p->next = NULL; 100.程序通过定义学生结构体 1 1 1 1 1 t[j]=答0案;}} string\n\n"); 和三门课的成绩依次是:10001、while (q){ 变量,存储了学生的学号、姓名 1 2 2 2 1 75.给定程序中,函数fun的功for(i=0;i答next案; 均以二进制方式输出到文件中。 1 2 2 2 1 否是"回文("Palindrome),若是,printf("\nEnter a string for search: 96、81、89。 q->next=p;p=q; 函数fun的功能是重写形参"); gets(t); 1 1 1 1 1 函数返回值为1;不是,函数返/***found***/ /***found***/ filename所指文件中最后一个void fun(int (*a)答[N]案 回值为0。"回文"是正读和反读n=fun(ch,t); 答struct案 fun(struct student a) q=答r案;} 学生的数据,即用新的学生数据/***found***/ 都一样的字符串(不区分大小写/***found***/ {int i;a.sno = 10002; 94.给定程序中,函数fun的功覆盖该学生原来的数据,其它学for(j=答i案;j答next案; /***found***/ (规定N为奇数)的矩阵是否p)) && (lpnext;p->next = NULL; 幻方"的判定条件是:矩阵每行、/***found***/ /***found***/ 作为函数值返回主函数,在主函while (q){r=q->next; q->next=p; 每列、主对角线及反对角线上元if(lpsno = 10002; 至尾的数据为:2、4、6、8、10。 {row+=a[i][j]; colum+=a[j][i];} /***found***/ 且串长小于M。程序中库函数strcpy(a->name, "LiSi"); /***found***/ /***found***/ 答n- -案; flag=1;} strstr(s1,s2)的功能是在s1串中/***found***/ q=答p->next案; if((row!=colum)答||案(row!=m1)) /***found***/ 查找s2子串,若没有,函数值for (i=0; i<3; i++) 答a->score[i]/***found***/ return 0;} if(*s==' ')flag=答0案; 为0,若有,为非0。 案+=1; while (答q案) /***found***/ /***found***/ /***found***/ /***found***/ {if (p->data > q->data) return 答1案;} 答s++案;}return n;} for(i=0;i<答N案;i++) return 答a案;} {t=p->data;p->data=q->data;q->d71.给定程序中,函数fun的功77.给定程序中,函数fun的功/***found***/ 89.程序通过定义学生结构体数ata=t;} 能是:将a所指4×3矩阵中第k能是:将形参s所指字符串中所if(strstr(ss[i],答substr组,存储了若干名学生的学号、q=q->next;} 行的元素与第0行元素交换。例有ASCII码值小于97的字符存案)!=NULL) 姓名和3门课的成绩。函数fun/***found***/ 如,有下列矩阵: 入形参t所指字符数组中,形成{find=1; puts(ss[i]); printf("\n");} 的功能是将存放学生数据的结p=答p->next案;}} 1 2 3 一个新串,并统计出符合条件的/***found***/ 构体数组,按照姓名的字典序96.给定程序中,函数fun的功 4 5 6 字符个数作为函数值返回。例if (find==答0案) (从小到大)排序。 能是根据形参i的值返回某个函 7 8 9 如,形参s所指的字符串为:84.给定程序中,函数fun的功{/***found***/ 数的值。当调用正确时,程序输 10 11 12 Abc@1x56*,程序执行后t所指能是:在形参ss所指字符串数答struct student案 t; 出:x1=5.000000,x2=3.000000,若k为2,程序执行结果为: 字符数组中的字符串应为:组中,将所有串长超过k的字符int i, j; x1*x1+x1*x2=40.000000 7 8 9 A@156*。 串中右边的字符删除,只保留左/***found***/ /***found***/ 答double案 4 5 6 /***found***/ 边的k个字符。ss所指字符串数for(i=0;i<答n-1案; i++) fun(int i, double x, 1 2 3 *(t+n)=答*s案;n++;} 组中共有N个字符串,且串长for (j=i+1; j0) return 答f1案(x);else {int i,temp ; /***found***/ k) 90.程序通过定义学生结构体变/***found***/ /***found***/ return 答n案;} {int i=0 ; 量,存储了学生的学号、姓名和return 答f2案(x, y);} for(i=0;i<答N案;i++) 78.给定程序中,函数fun的功/***found***/ 3门课的成绩。所有学生数据均97.给定程序中,函数fun的功{temp=a[0][i] ; 能是:将形参s所指字符串中的while(i<答N案){ 以二进制方式输出到student.dat能是将形参给定的字符串、整/***found***/ 数字字符转换成对应的数值,计/***found***/ 文件中。函数fun的功能是从指数、浮点数写到文本文件中,再a[0][i]=答a[k][i]案; 算出这些数值的累加和作为函ss[i][k]=答0案;i++;}} 定文件中找出指定学号的学生用字符方式从此文本文件中逐72.给定程序中,函数fun的功数值返回。例如,形参s所指的85.程序通过定义学生结构体变数据,读入此学生数据,对该生个读入并显示在终端屏幕上。 能是:将a所指3×5矩阵中第k字符串为:abs5def126jkm8,程量,存储了学生的学号、姓名和的分数进行修改,使每门课的分{/***found***/ 列的元素左移到第0列,第k序执行后的输出结果为:22。 3门课的成绩。函数fun的功能数加3分,修改后重写文件中该答FILE案 fp; 列以后的每列元素行依次左移,/***found***/ 是将形参a所指结构体变量中学生的数据,即用该学生的新数char ch;fp = fopen("file1.txt",
本文档为【国二C语言】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_833902
暂无简介~
格式:doc
大小:151KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-10-27
浏览量:19