}
五十六套
1.给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S=πr2,在程序中定义的变量名要与公式的变量相同)。 例如,输入圆的半径值:19.527,输出为:s=598.949991。 (1)r*r (2)&x (3)x
2.下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值: t=1+1/2+1/3+1/4+…+1/m
例如,若输入5,则应输出2.283333。
请改正程序中的错误,使它能计算出正确的结果。 (1)t+=1.0/i; (2)return t;
3.请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最大元素在数组中的下标并存放在k所指向的存储单元中。 例如,输入如下整数:
876 675 896 101 301 401 980 431 451 777 则输出结果为6,980。 int fun(int *s,int t,int *k) {
int i;
*k=0; /*k所指的数是数组的下标值*/ for(i=0;i if(s[*k] 五十七套 1.请补充main函数,该函数的功能是:计算两个自然数n和m(m<10000)之间所有数的和(n和m从键盘输入)。 例如,当n=1,m=100时,sum=5050;当n=100,m=1000时,sum=495550。 (1) sum=0 (2) sum+=n (3) ld 2.下列给定程序中,函数fun的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper=5,lower=9。 请改正程序中的错误,使它能计算出正确的结果。 (1)void fun(char *s, int *a, int *b) (2)(*a)++; (3)正确:(*b)++; 3.请编写函数fun,其功能是:计算并输出当x<0.97时,如下多项式的值,直到|Sn-Sn-1|<0.000001为止。 例如,若主函数从键盘给x输入0.21后,则输出为S=1.100000。 double fun(double x) { double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1; do { s0=s1; sum+=s0; t*=n; p*=(0.5-n+1)*x; s1=p/t; n++; }while(fabs(s1-s0)>=1e-6); return sum; } 五十八套 1.从键盘输入一组无符号整数并保存在数组xx[N]中,以整数0结束输入,要求这些数的最大位数不超过4位,其元素的个数通过变量num传入函数fun。请补充函数fun,该函数的功能是:从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数fun返回。 例如,当xx[8]={123,11,25,222,42,333,14,5451}时,bb[4]={25,42,333,5451}。 (1) xx[i] (2) bb[n++]=xx[i] (3) n 2.下列给定的程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值由主函数传入,若k的值为500,则函数的值为4622。 请改正程序中的错误,使它能得出正确的结果。 (1)if((k==0)||(k==0)) (2)加 } 3.编写函数fun,它的功能是:根据以下公式求p的值,结果作为函数值返回。m与n为两个正数且要求m>n。 p=m!/(n!(m-n)!) 例如,m=12,n=8时,运行结果为 495.000000。 float fun (int m, int n) { int i; double p=1.0; for(i=1;i<=m;i++) p=p*i; /*求m!*/ for(i=1;i<=n;i++) p=p/i; /求m!/n!*/ for(i=1;i<=m-n;i++) p=p/i; /*求m!/(n!(m-n)!)*/ return p; } 五十九套 1.请补充函数fun,该函数的功能是:把ASCII码为偶数的字符从字符串str中删除,结果仍然保存在字符串str中,字符串str从键盘输入,其长度作为参数传入函数fun。 例如,输入\,输出\。 (1) void fun(char s[],int n) (2) j=0 (3) s[j]=′\\0′ 2。下列给定程序中,函数fun()的功能是:根据整型形参m的值,计算如下公式的值: t=1-1/(2×2)-1/(3×3)-…-1/(m×m) 请改正函数fun()中的错误,使它能得出正确的结果。 (1)for(i=2;i<=m; i++) (2)y-=1.0/(i*i); 3.请编写函数fun,函数的功能是:求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。 例如,若二维数组中的值为 1 3 5 7 9 2 9 9 9 4 6 9 9 9 8 1 3 5 7 0 则函数值为61。 int fun( int a[M][N]) { int i,j,sum=0; for(i=0;i if(i==0||i==M-1||j==0||j==N-1) /*只要下标中有一个为0或M-1或N-1,则它一定是周边元素*/ sum=sum+a[i][j]; /*将周边元素相加*/ return sum; } 六十套 1.请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 (1) n0!=0或n0 (2) n@0==0 (3) flag 2.下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和 a[1] 中的数对调。 请改正程序中的错误,使它能得出正确的结果。 (1)void fun(int *a, int n) (2)m=i; 3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是则函数返回1,主函数中输出\,否则返回0,主函数中输出\。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 nt fun(char *str) { int i,n=0,fg=1; char *p=str; while (*p) /*将指针p置位到字符串末尾,并统计字符数*/ { n++; p++; } for(i=0;i if(str[i]==str[n-1-i]) ; /*相同,什么都不作*/ else /*不同,直接跳出循环*/ { fg=0; break; } return fg; } 六十一套 1.给定程序的功能是:计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,并返回人数。 例如,当score={10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40}。 (1) score[i]或*(score+i) (2) below (3) below[i]或*(below+i) 2.下列给定程序中,函数fun的功能是:首先将b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。例如,当a所指字符串中的内容为abcdefg,b所指字符串中的内容为1234,c所指数组中的内容应该为a4b3c2d1efg;而当a所指字符串中的内容为1234,b所指字符串中的内容为abcdefg,c所指数组中的内容应该为1g2f3e4dcba。 请改正程序中的错误,使它能得出正确的结果。 (1)while(i 3.编写函数int fun(int lim, int aa[MAX]),该函数的功能是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求出的素数的个数。 int fun(int lim, int aa[MAX]) { int i,j,k=0; for(i=2;i<=lim;i++) /*求出小于或等于lim的全部素数*/ { for(j=2;j=i) aa[k++]=i; /*将求出的素数放入数组aa中*/ } return k; /*返回所求出的素数的个数*/ } 六十二套 1.函数fun的功能是:统计长整数n的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。 例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。 (1) n (2) break (3) break 2.下列给定程序中,函数fun的功能是:实现两个整数的交换。例如,给a和b分别输入60和65,输出为:a=65 b=60 (1)void fun(int *a,int *b) (2)t=*b;*b=*a;*a=t; 3.请编一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。 void fun(char *s) { char ch; int i,m,n; i=0; m=n=strlen(s)-1; while(i<(n+1)/2) { ch=s[i]; s[i]=s[m]; s[m]=ch; i++; m--; } 六十三套 1.请补充函数fun,该函数的功能是:整除x且是偶数的数,把这些数保存在数组bb中,并按从大到小的顺序输出。 (1)i=1 (2)k%i==0&&i%2==0 (3) --j或j-1 2.下列给定程序中,函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。 请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。 (1)r=t; (2)应填:r=t;或r=&t[0];