文档详情

国二C语言.doc

发布:2018-02-03约7.04千字共21页下载文档
文本预览下载声明
2012年C语言的题 1. 学生的记录由学号和成绩组成N名学生 的数据已在主函数中放入结构体数组s中请 编写了函数fun它的功能是把指定分数范 围内的学生数据放在b所指的数组中分数范 围内的学生人数由函数值返回。 int fun (STREC *a,STREC *b,int l,int h) { int i,j=0; for(i=0;iN;i++) if(a [i].s=1a[i].s=h)b[j++]=a[i]; return j; } 2. 请编写一个fun函数它的功能是求出1 到m之间含m能被7或11整除的所有整数放 在数组a中通过n返回这些数的个数。 void fun(int m,int *a,int *n) { int i,j=0;*n=0; for(i=1;i=m;i++) if((i %7==0)||(i%11==0)) { a[j]=i; j++; } *n=j; } 3. 学生的记录由学号和成绩组成N名学 生的数据已在主函数中放入结构体数组s中 请编写了函数fun它的功能是函数返回指 定学号的学生数据指定的学生号在主函数 中输入若没有找到指定学号在结构体变 量中给学号置空串给成绩置-1作为函数 值返回。用于字符串比较的函数是strcmp 。 STREC fun(STREC*a,char *b) { STREC c; Int i; c.num*0+=’\0’; c.s=-1; for (i=0;iN;i++) if(strcmp(a[i].num,b)==0) {strcpy(c.num,a[i].num); c.s=a [i].s;break;} return c; } 4. 请编写一个函数fun将ss所指字符串中 所有下标为奇数位置上的字母转换为大写 若该位置上不是字母则不转换。 void fun(char *ss) { int i; for (i=1;istrlen(ss);i+=2){ if(ss*i+=’a ’ss*i+=’z’)ss*i]-=32; } } 5.请编写一个函数fun它的功能是根据 以下公式求JI的值要求满足精度0.0005 即某项小于0.0005时停止送代程序运行 后如果输入精度为0.0005则程序输出为 3.14?。 double fun(double eps) { double s; float n,t,pi; t=1;pi=0;n=1.0;s=1.0; while((fabs(s)) =eps) { pi+=s; t=n/(2*n+1); s*=t; n++; } pi=pi*2; return pi; } 6. 函数fun的功能是将s所指字符串中 ASCII值为奇数的字符删除串中剩余字符形 成一个新串放在t所指定的数组中。 void fun(char *s,char t[]) { int i,j=0; for(i=1;istrlen(s);i+=2) if(s[i]%2)t [j++]=s[i]; t[j]=\0; } 7. 函数fun的功能是将a、b中的两位正整 数合并形成一个新的整数放在c中。合并的方 式是将a中的十位和个位依次放在变量c的 百位和个位上b中的十位和个位数依次放在 变量c的十位和千位上。 #include stdio.h void fun(int a,int b,long *c) { *c=(b%10)*1000+(a/10)*100+(b/10) *10+a%10; } 8. 学生的记录由学号和成绩组成N名学生 的数据已在主函数中放入结构体数组s中请 编写了函数fun它的功能是把分数最高的 学生数据放在b所指的数组中注意分数最 高的学生可能不止一个函数返回分数最高 的学生的人数。 int fun(STREC *a,STREC *b) { int i,max=a[0].s,n=0; for (i=1;iN;i++) if(maxa[i].s)max=a[i].s; for(i=0;iN;i++) if(max==a[i].s)b[n++] =a[i]; return n; } 9. 请编写函数fun函数的功能是求出二 级数组周边元素之和作为函数值返回。二 维数组中的值在主函数中赋予。 int fun (int a [M][N]) { int tot=0,i,j; for (i=0;iN;i++){ tot +=a[0][i]; tot +=a[M-1][i]; } for(i=1;iM-1;i++){ tot +=a[i][0]; tot +=a[i][N-1]; } re
显示全部
相似文档