1 程序设计题
函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。 例如,若s所指字符串中的内容为“ABCDEFG 123456”,其中字符A的ASCII码值为奇数,因此应当删除;其中字符B的ASCII码值为偶数,但在数组中的下标为奇数,因此也应当删除;而字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其他依此类推。最后,t所指的数组中的内容应是“246”。 注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include
**************************** int k,n=0;
for(k=0;k ***************************** } main() { char s[100],t[100]; printf(\ scanf(\ 2.程序设计题 编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(y)-y=0的一个实根。 Yn+1=cos(yn) 迭代步骤如下: (1)取y1初值为0.0。 (2)y0=y1,把y1的值赋给y0。 (3)y1=cos(y0),求出一个新的y1。 (4)若y0-y1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2)。 (5)所求y1就是方程cos(x)-y=0的一个实根,作为函数值返回。 程序将输出结果Result=0.739085。 注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。 #include } main() { FILE *out; float cos=fun(); printf(\ out=fopen(\ fprintf(out,\ fclose(out); } 3.程序设计题 程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N], int n),函数的功能是:使N×N的二维数组左下三角元素中的值乘以n。 例如:若n的值为3,a数组中的值为: 1 9 7 2 3 8 4 5 6 则返回主程序后a数组中的值应为: 3 9 7 6 9 8 12 15 18 注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include int j,k; for(j=0;j 4.程序设计题 请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。 例如,若有5门课程的成绩是90.5、72、80、61.5、55,则函数的值为:71.80。 注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include float fun(float *a,int n) { float s=0.0; int i; for(i=0; i 5.程序设计题 请编写一个函数unsigned fun(unsigned n),n是一个大于10的无符号整数,若n是m(m≥2)位的整数,则函数求出n的后m-1位的数作为函数值返回。 例如,若n的值为1234,则fun()函数值为234。 注意:部分源程序已给出。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。 #include unsigned fun(unsigned m) { unsigned t,s=0,s1=1,p=0; t=m; while(t>10) { if(t/10) p=t; s=s+p*s1; s1=s1*10; t=t/10; } return s; 6.程序设计题 编写函数fun,其功能是:根据以下公式计算s,将结果作为函数值返回;n通过形参传入: S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…n) 例如:若n的值为11时,函数的值为:1.833333 #include float s=0.0; int t=0, k; for(k=1; k<=n; k++) { t+=k; s+=1.0/t; } return s; } main() { int n; float s; printf(\ scanf(\ s=fun(n); printf(\ score(); } void score() { FILE *fp; fp=fopen(\ fprintf(fp,\ fclose(fp); } 7.程序设计题 请编写函数fun,其功能是:计算并输出3到m之间所有素数的平方根之和。 例如,若主函数从键盘给m输入50后,则输出为s=63.665791。 #include int n,k,i; double sum=0.0; for(n=3;n<=m;n++) { k=sqrt(n); for(i=2;i<=k;i++) if(n%i==0) break; if(i>=k+1) sum+=sqrt(n); } return sum; } main() { int m; double s; FILE *out; printf(\ \ scanf(\ s=fun(m); printf(\ out=fopen(\ for(m=0;m<10;m++) fprintf(out,\ fclose(out); } 8.程序设计题 请编写函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 例如,若传送给m的值为50,则程序输出:7 11 14 21 22 28 33 35 42 44 49 #include int k; *n=0; for(k=0; k<=m; k++) if(k%7==0||k==0) a[(*n)++]=k; } main() { FILE *fp; int aa[M],n,k; fp=fopen(\ fun(50,aa,&n); for(k=0;k if((k+1) ==0) printf(\ else { printf(\/*************************/ fprintf(fp,\/*************************/ } printf(\} 9.程序设计题 N名学生的成绩已在主函数中放入一个带头节点的链表结构中,a指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。 #include