全国计算机等级考试二级C语言100题
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案1. 以下哪个选项不是C语言中的运算符?A. 赋值运算符B. 逗号运算符C. 条件运算符D. 逻辑运算符答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 5, b = 10;a = a + b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 20答案:C4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 若有以下代码片段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 3B. 4C. 2D. 5答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 下列哪个选项不是C语言中的数组类型?A. 一维数组B. 二维数组C. 三维数组D. 指针数组答案:D10. 在C语言中,以下哪个关键字用于声明一个指针变量?A. intB. charC. floatD. void答案:D结束语:以上是全国计算机等级考试二级C语言的部分题库及答案,希望对您的学习和复习有所帮助。
c语言二级考试题及答案
c语言二级考试题及答案### C语言二级考试题及答案#### 单项选择题1. 题目:以下哪个选项是C语言中合法的变量名?- A. 2variable- B. variable-name- C. $variable- D. variable_name答案:B2. 题目:C语言中,以下哪个选项是正确的字符串字面量? - A. "Hello, World!"- B. 'Hello, World!'- C. "Hello World"- D. 'Hello World'答案:A3. 题目:在C语言中,以下哪个选项是正确的整型常量? - A. 0x1A- B. 1.2E3- C. 0123- D. 0b1010答案:A#### 填空题1. 题目:在C语言中,以下代码段的输出结果是____。
```cint a = 5;printf("%d", a++);```答案:52. 题目:以下代码段中,变量`b`的值是____。
```cint a = 10, b;b = a % 3;```答案:13. 题目:以下代码段中,变量`c`的值是____。
```cfloat a = 2.5, b = 4.5;int c = a + b;```答案:7#### 编程题1. 题目:编写一个C语言程序,计算并输出以下数列的前10项之和:1, 1/2, 1/3, 1/4, ...```c#include <stdio.h>int main() {double sum = 0.0;for (int i = 1; i <= 10; i++) {sum += 1.0 / i;}printf("Sum of the first 10 terms: %f\n", sum); return 0;}```2. 题目:编写一个C语言程序,实现两个整数的交换。
计算机二级c语言编程100题
#include <stdio.h>#include <conio.h>void fun(char *a,char *h,char *p){char b[81],*x;int i=0,j=0;x=a;while (x<h) {b[j]=*x;x++;j++;}while (h<=p)if (*h!='*') {b[j]=*h;j++;h++;}else h++;p++;while (*p) {b[j]=*p;j++;p++;}b[j]='\0';j=0;while (b[j]){ a[i]=b[j];i++;j++;}a[i]='\0';}main(){ char s[81],*t,*f;printf("Enter a string:\n");gets(s);t=f=s;while(*t) t++;t--;while (*t=='*') t--;while (*f=='*') f++;fun(s,f,t);printf("The string after deleted:\n");puts(s);NONO();}2#include <stdio.h>#include <math.h>double fun ( double eps){int n=0;double down=1,up=1;double one ,pi=0;one = (double)up/(double)down;while(one>=eps) {pi+=one;n++;up=up*n;down=down*(2*n+1);one=(double)up/(double)down;}return pi*2;}main( ){ double x;printf("Input eps:") ;scanf("%lf",&x); printf("\neps = %lf, PI=%lf\n", x, fun(x)); NONO();}3#include <stdio.h>char *fun ( char *s, char *t){int first=0,second=0;char *p,*q;p=s;q=t;while(*p++!='\0')first++;while(*q++!='\0')second++;if(first==second)return s;else if (first>second)return s;elsereturn t;}main( ){ char a[20],b[10];printf("Input 1th string:") ;gets( a);printf("Input 2th string:") ;gets( b);printf("%s\n",fun (a, b ));NONO ();}4#include <stdio.h>#include <conio.h>void fun(char *a,int n){ char b[81];int i=0,j=0,s=0,k;while (a[i]=='*') {s++;i++;}{ for (k=0;k<n;k++){b[j]='*';j++;}while (a[i]){b[j]=a[i];j++;i++;}b[j]='\0'; i=0;j=0;while (b[j]){ a[i]=b[j];i++;j++;}a[i]='\0';}}main(){ char s[81];int n;printf("Enter a string:\n");gets(s);printf("Enter n: ");scanf("%d",&n);fun(s,n);printf("The string after deleted:\n");puts(s);NONO();}5#include <stdio.h>float fun ( float *a , int n ){int i;float average;double sum=0;for(i=0;i<n;i++)sum+=a[i];average=(float)sum/n;return average;}main(){ float score[30]={90.5, 72, 80, 61.5, 55}, aver; aver = fun( score, 5 );printf( "\nAverage score is: %5.2f\n", aver); NONO ( );}6#include <stdio.h>#define N 8typedef struct{ char num[10];double s[N];double ave;void fun(STREC *p){ int i;double aver=0;for (i=0;i<N;i++){aver=aver+(*p).s[i]; }(*p).ave=aver/N;}main(){ STREC s={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};int i;fun(&s);printf("The %s's student data:\n",s.num);for(i=0;i<N;i++)printf("%4.1f\n",s.s[i]);printf("\nave=%7.3f\n",s.ave);NONO();}7#include <stdio.h>#define N 12typedef struct{ char num[10];double s;} STREC;double fun(STREC *a,STREC *b,int *n){ int i,j;double aver=0;*n=0;for (i=0;i<N;i++)aver=aver+a[i].s;aver=aver/N;for (i=0;i<N;i++)if (a[i].s>=aver){b[*n].s=a[i].s;for (j=0;j<10;j++)b[*n].num[j]=a[i].num[j];*n=*n+1;}return (aver);}main(){ STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA08",64},{"GA06",87},{"GA09",60},{"GA11",79},{"GA12",73},{"GA10",90}};STREC h[N];FILE *out;int i,n;double ave;ave=fun(s,h,&n);printf("The %d student data which is higher than %7.3f:\n",n,ave);for(i=0;i<n;i++)printf("%s %4.1f\n",h[i].num,h[i].s);printf("\n");out=fopen("out12.dat","w");fprintf(out,"%d\n%7.3f\n",n,ave);for (i=0;i<n;i++)fprintf(out,"%s %4.1f\n",h[i].num,h[i].s);fclose(out);}8#include <stdio.h>#define N 16typedef struct{ char num[10];int s;} STREC;void fun(STREC a[]){int i,j,p,t,k;char h;for (i=0;i<N;i++){ p=i;for (j=i+1;j<N;j++)if (a[p].s<a[j].s) p=j;if (p!=i){t=a[p].s;a[p].s=a[i].s;a[i].s=t;for (k=0;k<10;k++){h=a[p].num[k];a[p].num[k]=a[i].num[k];a[i].num[k]=h;}}}}main(){ STREC s[N]={{"GA05",85},{"GA03",76},{"GA02",69},{"GA04",85},{"GA01",91},{"GA07",72},{"GA 08",64},{"GA06",87},{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},{"GA011",91 },{"GA017",64},{"GA018",64},{"GA016",72}};int i;FILE *out;printf("The data after sorted:\n");for(i=0;i<N;i++){ if((i)%4==0)printf("\n");printf("%s %4d",s[i].num,s[i].s);}printf("\n");out=fopen("out16.dat","w");for (i=0;i<N;i++){ if((i)%4==0 && i) fprintf(out,"\n");fprintf(out,"%s %4d",s[i].num,s[i].s);}fprintf(out,"\n");fclose(out);}9/******本答案只作参考。
计算机二级c语言上机考试100题
题目1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。
请编写函数num(int m,int k,int xx[])实现函数的要求,最后调用函数readwriteDAT()把结果输出到文件out.dat中。
例如:若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序已给出。
请勿改动主函数main()和函数readwriteDAT()的内容。
--------------类型:素数。
void num(int m,int k,int xx[]){int data=m+1;int half,n=0,I;while(1){half=data/2;for(I=2;I<=half;I++)if(data%I==0)break;if(I>half){xx[n]=data;n++;}if(n>=k)break;data++;} }题目2:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 如果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。
最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
-------------------------void jsVal(){int bb[4];int I,j,k,flag;for (I=0;I<200;I++){bb[0]=a[I]/1000; bb[1]=a[I]%1000/100;bb[2]=a[I]%100/10; bb[3]=a[I]%10;for (j=0;j<4;j++){if (bb[j]%2==0)flag=1;else{flag=0;break;}}if (flag==1){ b[cnt]=a[I];cnt++;} }for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]<b[j]){k=b[I];b[I]=b[j];b[j]=k;}}题目3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT.DAT中.例如:原文:You can create an index on any field.you have the correct record.结果: n any field.You can create an indexrd.yu have the crrect rec原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.-------------------类型:字符串(单词)的倒置和删除。
计算机二级c语言试题题库及答案
计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。
A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。
A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。
A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。
A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。
答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。
答案:return3. 在C语言中,用于计算字符串长度的函数是____。
答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。
答案:'\0'5. 当使用指针变量时,必须先对其进行____。
答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。
全国计算机二级C语言程序设计题((100全中必过)
目录题目一“回文”字符串 (3)题目二迭代法求给定多项式的值 (4)题目三迭代法求给定方程的根 (5)题目四二维数组三角元素操作1 (6)题目四二维数组三角元素操作2 (7)题目四二维数组三角元素操作3 (9)题目五二维数组元素求最值 (10)题目六二维数组周边元素1 (11)题目六二维数组周边元素2 (12)题目七二维数组转一维数组1 (13)题目七二维数组转一维数组2 (14)题目七二维数组转一维数组3 (15)题目七二维数组转一维数组4 (16)题目八结构体数组排序1 (17)题目八结构体数组排序2 (18)题目八结构体数组排序3 (19)题目八结构体数组排序4 (20)题目九结构体数组求最值1 (22)题目九结构体数组求最值2 (23)题目九结构体数组求最值3 (23)题目九结构体数组求最值4 (24)题目十结构体数组筛选 (25)题目十一结构体数组字符串比较 (26)题目十二矩阵操作1 (27)题目十二矩阵操作2 (28)题目十三类似素数判断1 (29)题目十三类似素数判断2 (30)题目十四累加累乘求和1 (30)题目十四累加累乘求和2 (31)题目十四累加累乘求和3 (31)题目十四累加累乘求和4 (32)题目十四累加累乘求和5 (32)题目十四累加累乘求和6 (33)题目十四累加累乘求和7 (34)题目十四累加累乘求和8 (35)题目十四累加累乘求和9 (35)题目十四累加累乘求和10 (36)题目十四累加累乘求和11 (37)题目十四累加累乘求和12 (37)题目十四累加累乘求和13 (38)题目十四累加累乘求和14 (39)题目十四累加累乘求和15 (39)题目十四累加累乘求和16 (40)题目十五链表2 (42)题目十六删除整数位某数位 (43)题目十七删除字符串中指定字符1 (44)题目十七删除字符串中指定字符2 (45)题目十七删除字符串中指定字符3 (45)题目十七删除字符串中指定字符4 (46)题目十七删除字符串中指定字符5 (47)题目十七删除字符串中指定字符6 (47)题目十七删除字符串中指定字符7 (48)题目十七删除字符串中指定字符8 (48)题目十七删除字符串中指定字符9 (49)题目十七删除字符串中指定字符10 (50)题目十七删除字符串中指定字符11 (50)题目十七删除字符串中指定字符12 (51)题目十七删除字符串中指定字符13 (52)题目十七删除字符串中指定字符14 (53)题目十七删除字符串中指定字符15 (54)题目十七删除字符串中指定字符16 (54)题目十七删除字符串中指定字符17 (55)题目十七删除字符串中指定字符18 (56)题目十八数字字符串转整数1 (57)题目十八数字字符串转整数2 (58)题目十九素数判定1 (58)题目十九素数判定2 (59)题目十九素数判定3 (60)题目二十统计问题 (61)题目二十一小数位操作 (62)题目二十二一维数组或字符串排序1 (62)题目二十二一维数组或字符串排序2 (63)题目二十二一维数组元素的筛选1 (64)题目二十二一维数组元素的筛选2 (64)题目二十二一维数组元素的筛选3 (65)题目二十二一维数组元素的筛选4 (66)题目二十二一维数组元素的筛选5 (67)题目二十二一维数组元素的筛选6 (67)题目二十二一维数组元素的筛选7 (68)题目二十二一维数组元素的筛选8 (69)题目二十二一维数组元素的筛选9 (70)题目二十三一维数组元素筛选 (70)题目二十五一维数组最值求解1 (71)题目二十五一维数组最值求解2 (72)题目二十五一维数组最值求解3 (73)题目二十六移动问题1 (73)题目二十七整数合并1 (75)题目二十七整数合并2 (75)题目二十七整数合并3 (76)题目二十七整数合并4 (76)题目二十七整数合并5 (77)题目二十七整数合并6 (77)题目二十七整数合并7 (78)题目二十七整数合并8 (78)题目二十八字符串长度比较1 (78)题目二十八字符串长度比较2 (79)题目二十九字符串的逆置 (80)题目三十字符串计数 (81)题目三十一字符串连接1 (82)题目三十一字符串连接2 (82)题目三十一字符串连接3 (83)题目三十二字符串中指定字符查找 (84)题目三十三字母大小的判断及转换 (84)题目一“回文”字符串3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
全国计算机等级考试二级C语言100题
1:第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到”z”26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’: pp[4]++;break;case ‘f’: pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’: pp[8]++;break;case ‘j': pp[9]++;break;case ‘k': pp[10]++;break;case ‘l’: pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n’: pp[12]++;break;case ‘o': pp[14]++;break;case ‘p': pp[15]++;break;case ‘q’: pp[16]++;break;case ‘r': pp[17]++;break;case ‘s’: pp[18]++;break;case ‘t': pp[19]++;break;case ‘u’: pp[20]++;break;case ‘v': pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x’: pp[23]++;break;case ‘y': pp[24]++;break;case ‘z': pp[25]++;break;}tt++;}}5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
计算机二级C语言上机题库及答案(100套)
~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。
全国计算机二级C语言上机考试100题
全国计算机二级C语言上机考试100题1.编写函数fun,如,a=45,b=12时,调用该函数后,c=4152.*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10)填空:1.STYPE 2.FILE 3.fp 改错:1.for(i=0;i<=s1;i++) 2.t[s1]=’\0’改为t[2*s1]=’\0’.编写函数fun,如,a=45,b=12,调用后,c=1524.*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);填空:1,*fw 2.str 3.str 改错1.void fun (long s, long *t3>合并整a,b;a的十位和个位放在c的个位和百位上,b的十位和各位在c的十位和千位*c=(b%10)*1000+(a%10)*100+(b%10)*10+a/10;填空 1>ft 2>fclose 3>fname改错 1>for(i=j+i;ip=i4>合并整a,b;a的十位和位个放在c的十位和千位上,b的十位和个位在c的十位百和个位*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);填空1>"r" 2>fs 3>ft改错1>if(d%2==0) 2>s/=10;5>计算n门课程的均分,返回结果int i;float ave=0.0;for(i=0;ireturn ave;填空1>x 2>p 3>s 改错1>long k=1; 2>num/=10;6>比较两个字符串,返回长的,相等返回前者int i; char *p=s,*q=t; int n=0,m=0;while(*p) {n++; p++;} while(*q){m++; q++;} if(n>=m) p=s; else p=t;return p;7>求到能被7或11整除的整数,通过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; 填空1>q 2>nex 3>next改错1>p=j; 2>p=i;8>将ss所指字符串中下标为奇数的字母换为大写int i; for(i=1;i< bdsfid="97" p=""><>{if(ss[i]>='a'&&ss[i]<='z')ss[i]-=32];}填空1>0或NULL 2>n 3>head,ch改错1>for(i=0,t=0;p[i];i++) 2>c[t]='\0';9>保留下标和ASCII值为偶数的字符,其余删除int i,j=0; for(i=0;i< bdsfid="103" p=""><>if(s[i]%2==0) t[j++]=s[i]; t[j]='\0';填1>*n2>next3>head 改1>a=NULL;2>if(*r==*p)10>删除s中下标为偶数的字符,剩余放在t中int i,j=0; for(i=1;i< bdsfid="108" p=""><>t[j++]=s[i]; t[j]='\0'11>删除s所指字符串中ASCII值为偶数的字符,其余放在t所指数组中 int i,j=0;for(i=0;i<="" p="">t[j++]=s[i]; t[j]=0;填空1>STU 2>std[i].num 3>std[i]改错1>r++; p++ 2>if(*r=='\0')12>学生数据在结构体a中,找最高分用形参指针返回int i,max=a[0].s,j=0; for(i=1;i<n;i++)< bdsfid="119" p=""></n;i++)<>if(maxstd[i].year 2>std[i] 3>n改错1>IsPrime(int n)2>if(!(n%i))13>给数组左下角元素乘n int i,j;for(i=0;ia[i][j]*=n;填空1>STU 2>score[i] 3>&std改错1>if(k>0) 2>else if(k==0)14>使数组坐下三角元素为零 int i,j;for(i=0;ia[i][j]=0; 填空1>*std 2>PERSON 3>std改错1>int i,k,q; 2>pt[i]=str[k][i];15>求出二维数组每列最小元素并依次放入pp数组中int i,j,min,k; for(i=0;i<n;i++)< bdsfid="135" p=""></n;i++)<> {min=tt[0][i];k=0; for(j=1;j<m;j++)< bdsfid="137" p=""></m;j++)<>if(min>tt[j][i]){min=tt[j][i]; k=j; }pp[i]=tt[k][i];}填1>*std2>std[i].age3>/doc/4dc8440af12d2af90 242e63e.html 改1>void fun(int *a,int *b) 2>t=*b;*b=*a;*a=t;16>函数求出w的低n-1位的数作为函数返回值unsigned t,s=0,s1=1,p=0; t=w; while(t>10) {if(t/10) p=t%10; s=s+p*s1; s1=s1*10t=t/10;} return s;填空1>tt2>tt.score[i]3>std 改错1>m=i;2>if(a[k]>a[m])m=k;17>把s所指字符串逆置char b[N]; int i=0,j; memset(b,0,N); for(j=strlen(s)-1;j>=0;j--)b[i++]=s[j]; strcpy(s,b);填1>i+12>k=j3>t 错1>void fun(char *str,char ch) 2>if(*str!=ch) 3>str[1]='\0';18>从s所指的字符串中删除给定字符char *p=s; int i=0; while(*p){if(*p !=c)s[i++]=*p; p++;} s[i]='\0';填空1>k 2>len 3>ss[i][j]改错1>result*=n--; 2>return result;19>对7个字符的串除首尾字符外按ASCII码降序排列char t; int i,j; for(i=1;i<num-2;i++)< bdsfid="152" p=""></num-2;i++)<>for(j=i+1;j<s[j])<="" p="">{t=s[i]; s[i]=s[j]; s[j]=t; }填空1>ss[i] 2>n+j 3>1改错1>if(*p=='') 2>*(p-1)=toupper(*(p-1));20>统计长为2的字符串再另一串中出现的次数int cnt=0; char *p=str, *q; while(*p){q=strstr(p,substr); if(q==NULL) break;p=q+strlen(substr); cnt++} return cnt;填1>[N] 2>len 3>*n=len 改1>t+=1.0/i; 2>return t;21>将1到m的非素数存入xx数组中,用k传回其个数int i,j; int t=0; for(i=2;i<="">j=2; while(jt++; break; } j++; } *k=t; }填空1>M 2>< 3>k改错1>if(('a'<=tt[i])&&(tt[i]<='z')) 2>tt[i]-=32;22>指出ss字符串中指定字符的个数并返回此值int cnt=0; char *p=ss; while(*p) {if(*p==c)cnt++; p++; } return cnt;填空1>j++ 2>s[i]=t1[i] 3>j改错1>for(j=i+1;j<6;j++) 2>*(pstr+i)=*(pstr+j);23>计算矩阵A加上A的转置,存放在矩阵B中int c[3][3]; int i,j; for(i=0;i<3;i++)for(j=0;j<3;j++) { c[i][j]=a[j][i];b[i][j]=a[i][j]+c[i][j]; }填空1>&& 2>0 3>s[j]改错1>for(i=2;i<=m;i++) 2>y+=1.0/(i*i);24>秋1到1000能被7或11整除但不能同时整除的数int i; *n=0; for(i=7;i<1000;i++)if(((i%7)==0||(i%11)==0)&&(i%77)!=0) a[(*n)++]=i;填1>s[i] 2>'9' 3>*t=n 改1>t=*x; *x=y; 2>return(t); 25>统计tt中26个字母出现的次数,并依次放在pp中char *p=tt; int i; for(i=0;i<26;i++)pp[i]=0;while(*p){ if(*p>='a'&&*p<='z')pp[*p-'a']+=1;p++;}填空1>1 2>s[k] 3>c 改错1>long s=0,t=0; 2>t=t/10;26.输入字符串:world,然后输入3,则输出结果为:Int p,m=0; for(p=0;p填空: 1.t=i 2. i 3.0改错:1.while(fabs(t)>=num) 2.t=s/n;27根据公式计算s计算结果返回.如,n的值为11时,函数值为1.833333 int k; float str=1.0,sum=1.0;for(k=2;k<=n;k++) {sum=sum+k; str=str+1/sum;} return str;填空:1.0 2.0 3.c 改错:1.double sum=0.0; 2.sum/=c28.利用简单迭代方法求方程:cox(x)-x=0的一个实根。
全国计算机等级考试二级C语言上机考试题库100道
2 }
3. 请编写函数fun,它的功能是:求小于形参n同时能被3和7整除的所有自然数之和的平方根,并作函数的返回值。
double sum=0.0;
int i;
for(i=21;i<=n;i++)
if((i%3= =0)&&(i%7= =0))sum
1 *n 2 next 3 head
2. 给定程序MODI1.C中函数fun的功能是:求出s所指字符串最后一次出现的t所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。
1 a=NULL; 2 if(*r==*p)
2. 给定程序MODI1.C中函数fun的功能是:按以下递推公式求函数值。例如,当给n输出5时,函数值为18;当给n输入3时,函数值为14.
1 fun(int n) 2 if(n==1)
3. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
2给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母顺序的后续字母(但Z转化成A,z转换为a),其它字符不变。
1 while(*s) 2 s++;
3 请编写函数fun,函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于 等于n-1)的数组元素平移到数组的最后。
1 N 2 substr 3 0
2. 给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。
全国计算机等级考试二级C语言附详解
以下选项中非法的字符常量是
A、’\102’ B、’\65’ C、’\xff’ D、’\019’
转义字符,即反斜杠加数字或字母的形式(例如'\n'是换行 符),转义字符本身就是一个字符。 C的\X后面是十六进制数 数字不需要以0开头的,以0开头了,0所代表的意义是指八进 制,例如01,是指八进制的1,八进制里是没有数字8和9的, 所以09是错误的,同理,D项的019错了 C以x开头代表了xff这个数是16进制,16进制里是有f的,数值 上等于十进制里的15 数字前什么都不加,例如A和B项,C语言默认为十进制。
软件设计包括概要设计和详细设计
软件详细设计--程序流程图(PDF)和PAD(问题分析图) 是过程设计的常用工具
数据流图(DFD图)是软件定义阶段结构化分析方法常 用的工具。
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
指针的概念和应用 数组名本身就是地址,所以不需要用&符号。C选项不能对所 有元素赋值而是反复再给一个数值赋值且是死循环。D
有以下程序
#include <sthio.h> Main() {int a,b,k,m,*p1,*p2; k=1,m=8; p1=&k,p2=&m; a=/*p1-m; b=*p1+*p2+6; printf(“%d ”,a); printf(“%d\n”,b);
一个正确的算法可以有零个或者多个输入,必须有一个或者多 个输出
以下叙述错误的是 A、一个C程序可以包含多个不同名的函数 B、一个C程序只能有一个主函数 C、C程序在书写时,有严格的缩进要求,否 则不能编译通过 D、C程序的主函数必须用main作为函数名
计算机二级c语言100套试题及答案
计算机二级c语言100套试题及答案1. 题目:编写一个C语言程序,计算并输出1到100之间所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1到100之间所有偶数的和是:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现字符串的反转。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```3. 题目:编写一个C语言程序,计算并输出100以内最大的10个质数。
```c#include <stdio.h>#include <stdbool.h>bool isPrime(int num) {if (num <= 1) return false;for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int count = 0;int primes[10];for (int i = 2; i < 100 && count < 10; i++) { if (isPrime(i)) {primes[count++] = i;}}printf("100以内最大的10个质数是:");for (int i = 0; i < count; i++) {printf("%d ", primes[i]);}printf("\n");return 0;}```4. 题目:编写一个C语言程序,实现两个整数的交换。
全国计算机二级C语言等级考试试题
题库名:程序设计基础总试题库.mdb题数:167题1、在语句cin>>data;中,cin是(判断题)所属章节:4.C语言二级考试题库难度系数:1A. C++的关键字B. 类名C. 对象名D. 函数名说明: 此写解题要点或对题目做说明。
2、假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句:u=(a==2)?b+a:c+a;执行该语句后整型变量u的值为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. 0B. 3C. 4D. 5答案: C说明: 此写解题要点或对题目做说明。
3、分析下面的代码:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");如果x=30,y=150,输出为()。
(单选题)所属章节:4.C语言二级考试题库难度系数:1A. GoodB. BadC. Good BadD. Bad Good答案: B说明: 此写解题要点或对题目做说明。
4、分析下面的代码:#include<stdio.h>void main(){int a;scanf("%d",&a);switch(a){case 1:printf("星期一");case 2:printf("星期二");case 3:printf("星期三");case 4:printf("星期四");case 5:printf("星期五");case 6:printf("星期六");case 7:printf("星期日");default:printf("输入错误\n");}}若a=6,则输出结果是()。
全国计算机等级考试二级c语言笔试试题及答案
全国计算机等级考试二级c语言笔试试题及答案1. 单项选择题:以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 单项选择题:在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. 单项选择题:C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C4. 单项选择题:以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello''';D. char str[] = "Hello";答案:A5. 单项选择题:C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. lengthC. countD. size答案:A6. 单项选择题:在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array[3][];D. int array[][];答案:A7. 单项选择题:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 单项选择题:在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr*[];答案:A9. 单项选择题:C语言中,哪个函数用于输入一个字符?A. scanfB. printfC. getcharD. putchar答案:C10. 单项选择题:在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. default (condition)答案:A11. 单项选择题:C语言中,哪个关键字用于定义一个循环?A. forB. whileC. doD. All of the above答案:D12. 单项选择题:在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. float myFunction();D. All of the above答案:D13. 单项选择题:C语言中,哪个运算符用于计算两个数的除法?A. /B. *C. %D. //答案:A14. 单项选择题:在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. define PI 3.14C. #define "PI" 3.14D. #define PI = 3.14答案:A15. 单项选择题:C语言中,哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 单项选择题:在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freadD. All of the above答案:D17. 单项选择题:C语言中,哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A18. 单项选择题:在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D19. 单项选择题:C语言中,哪个函数用于输出一个字符串?A. scanfB. printfC. getcharD. putchar答案:B20. 单项选择题:在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. int factorial();C. int factorial(int);D. int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n - 1); }答案:D。
计算机国家二级考试c语言试题及答案
计算机国家二级考试c语言试题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义:int a=5, b=2;,则表达式a%b的值是:A. 0B. 1C. 2D. 5答案:B3. 下列哪个选项不是C语言中合法的变量名?A. _sumB. sum$C. 2sumD. sum答案:C4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strncat5. 若有定义:char c='A';,则变量c占用的内存空间是:A. 1字节B. 2字节C. 4字节D. 8字节答案:A6. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. "r+"答案:D7. 在C语言中,以下哪个关键字用于声明一个函数?A. voidB. intC. returnD. function答案:A8. 若有定义:int x=10;,则表达式x++的结果是:A. 9B. 10C. 11D. 无法确定答案:B9. 在C语言中,以下哪个选项是正确的字符串比较函数?B. strcpyC. strlenD. strcat答案:A10. 若有定义:int a=3, b=4;,则表达式a<b?a:b的值是:A. 3B. 4C. 7D. 无法确定答案:B二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个指针变量。
答案:*2. 若有定义:int a=5;,则表达式sizeof(a)的值是________字节。
答案:43. 在C语言中,使用________函数可以计算一个字符串的长度。
计算机等级二级考试题(C语言)
考试题1---------一、客观题。
1.()是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从()开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3.下列正确的标识符是()。
A、-a1B、a[i]C、a2_iD、int t4.C语言中的简单数据类型包括()。
A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型5.如果int a=3,b=4;则条件表达式"a<b? a:b"的值是()。
A、3B、4C、0D、16.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()A、b=1.0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1.0)7.以下对一维数组a的正确说明是:()。
A、char a(10)B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};8.若有以下数组说明,则i=10;a[a[i]]元素数值是()。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.59.下列数据结构中,属于非线性结构的是()。
A、循环队列B、带链队列C、二叉树D、带链栈10.C语言中函数返回值的类型是由()决定的。
A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型11.以下对结构变量stul中成员age的非法引用是()。
struct student{ int age;int num;}stu1,*p;p=&stu1;A、 stu1.ageB、 student.ageC、 p->ageD、 (*p).age12.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。
答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。
答案:void fun(int *a, int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 || i%11==0) && i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。
答案:void fun(int x, int pp[ ], int *n) {int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。
答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a’: pp[0]++;break;case ‘b’: pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;b reak;case ‘f’: pp[5]++;break; case ‘g’: pp[6]++;break; case ‘h’: pp[7]++;break; case ‘i’: pp[8]++;break; case ‘j’: pp[9]++;break; case ‘k’: pp[10]++;break; case ‘l’: pp[11]++;break; case ‘m’: pp[12]++;break; case ‘n’: pp[12]++;bre ak; case ‘o’: pp[14]++;break; case ‘p’: pp[15]++;break; case ‘q’: pp[16]++;break; case ‘r’: pp[17]++;break; case ‘s’: pp[18]++;break; case ‘t’: pp[19]++;break; case ‘u’: pp[20]++;break;case ‘w’: pp[22]++;break;case ‘x’: pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。
答案:void fun(int m, int k, int xx[]){int g=0,I,j,flag=1;for(i=m+1;i<m*m;i++){for(j=0;j<I;j++) {if(i%j!=0)flag=1;else{flag=0;break;}}if (flag==1 && j>=i) {if (k>=0){xx[g++]=i;k--;}break;}}}6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。
答案:void fun(char a[],char b[], int n){int I,j=0;for (i=0;i<LEN;i++)if (i!=n){b[j]=a[i];}b[j]=‘\0’;}7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。
答案:void fun (int *s, int t, int *k){int I, max;max=s[0];for(i=0;i<t;i++)if (s[i]>max){max=s[i];*k=I;}}8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。
S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)答案:float fun (int n){int i;float s=, t=;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。
M与n为两个正整数,且要求m>n。
p=m!/n!(m-n)!答案:float fun(int m, int n){float p,t=;int I;for (i=1;i<=m;i++)t=t*I;p=t;for(t=,i=1;i<=n;i++)t=t*I;p=p/t;for(t=,i=1;i<=m-n;i++)t=t*I;p=p/t;return p;}10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。
迭代步骤如下:(1)取x1初值为; (2)x0=x1,把x1的值赋各x0;(3)x1=cos(x0),求出一个新的x1;(4)若x0-x1的绝对值小于,则执行步骤(5),否则执行步骤(2);(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序将输出root=。
答案:float fun(){float x1=,x0;do{x0=x1;x1=cos(x0);}while(fabs(x0-x1)>1e-6);return x1;}11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。
请编写函数 fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。
答案:int fun(int a[][N]){int I,j;for(i=0;i<N;i++)for(j=0;j<=I;j++)a[i][j]=0;}12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。
请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。
答案:double fun(int w[][N]){int I,j,k=0;double s=;for(j=0;j<N;j++){s+=w[0][j];k++;}for(j=0;j<N;j++){s+=w[N-1][j];k++;}for(i=1;i<=N-2;i++) {s+=w[i][0];k++;}for(i=1;i<=N-2;i++) {s+=w[i][N-1];k++;}return s/=k;}13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。
二维数组中的数已在主函数中赋予。
答案:void fun(int tt[M][N], int pp[N]){int I,j,min;for(j=0;j<N;j++){min=tt[0][j];for(i=0;i<M;i++){if (tt[i][j]<min)min=tt[i][j];}pp[j]=min;}}14: 第14题请别写函数fun,函数的功能使求出二维数组周边元素之和,作为函数值返回。
二维数组中的值在主函数中赋予。
答案:int fun(int a[M][N]){int I,j,s=0;for(j=0;j<N;j++){s+=a[0][j];s+=a[M-1][j];}for(i=1;i<=M-2;i++){s+=a[i][0];s+=a[i][N-1];}return s;}15: 第15题请编写一个函数unsigned fun(unsigned w),w使一个大于10的无符号整数,若w使n(n≥2)位的整数,则函数求出w后n-1位的数作为函数值返回。
答案:unsigned fun(unsigned w){unsigned t,s=0,s1=1,p=0;t=w;while(t>10){if(t/10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;}return s;}16: 第16题请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树,并对第三位进行四舍五入(规定h中的值位正数)。
答案:float fun(float h){long t;float s;h=h*1000;t=(h+5)/10;s=(float)t/;return s;}17: 第17题请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。
答案: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--;}18: 第18题编写程序,实现矩阵(3行3列)的转置(即行列互换)。
答案:void fun(int array[3][3]){int I,j,temp;for(i=0;i<3;i++)for(j=0;j<I,j++){temp=array[i][j];array[i][j]=array[j][i];array[j][i]=temp;}}19: 第19题编写函数fun,该函数的功能是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。