首页 计算机二级c语言题库

计算机二级c语言题库

举报
开通vip

计算机二级c语言题库第1题操作题 /*求菲玻那契数列的前20项。菲玻那契数列前2项分别是1,1,从第3项开始,各项分别是其前2项之和。*/ #include void fibonacci(int f[]) { int i; /************Fill in the blanks************/ for(i=2;i void trans(int a[2][3],int b[3][2]) {/* 本函数将二维数组a的行和列元素互换,存到二维数组b中 */ /**********Error*****...

计算机二级c语言题库
第1 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 操作题 /*求菲玻那契数列的前20项。菲玻那契数列前2项分别是1,1,从第3项开始,各项分别是其前2项之和。*/ #include void fibonacci(int f[]) { int i; /************Fill in the blanks************/ for(i=2;i<20;i++) /************Fill in the blanks************/ f[i]=f[i-1]+f[i-2]; } main() { int f[20]={1,1},i; fibonacci(f); printf("\n菲玻那契数列的前20项为: "); for(i=0;i<20;i++){ if(i%5==0) printf("\n"); /************Fill in the blanks************/ printf("%12d",f[i]); } getch(); } 第2题操作题 /*将一个二维数组a的行和列元素互换,存到另一个二维数组b中。*/ #include void trans(int a[2][3],int b[3][2]) {/* 本函数将二维数组a的行和列元素互换,存到二维数组b中 */ /**********Error**********/ int i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) /**********Error**********/ b[j][i]=a[i][j]; } main() { int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j; printf("数组a:\n"); for(i=0;i<2;i++){ for(j=0;j<3;j++) printf("%5d",a[i][j]); printf("\n"); } trans(a,b); printf("数组b:\n"); for(i=0;i<3;i++){ for(j=0;j<2;j++) printf("%5d",b[i][j]); printf("\n"); } getch(); } 第3题操作题 /*找出数组arr[]中的最大元素。 suffix函数的功能是:求出形参数组a[]中最大元素的下标。其中,形参n为数组元素的个数。 例如, 数组元素为: 56 178 6 123 87 243 161 124 78 143 则输出结果为: 数组arr的最大元素为: arr[5]=243 */ #include int suffix(int a[],int n) { int i,k,max; max=a[0]; for(i=1;i /************Fill in the blanks************/ double sum(int m) { int i; double y,d; /************Fill in the blanks************/ y=0; for(i=100;i<=m;i+=100){ d = (double)i * (double)i ; y += 1.0/d; } /************Fill in the blanks************/ return(y); } main( ) { int n = 2000 ; printf("\nThe result is: %lf\n",sum(n)); getch(); } 第5题操作题 /*比较数组a[]和数组b[]中,a[i]>b[i]、a[i]=b[i]和a[i]y时,返回1;当x=y时,返回0;当x=y时,返回0。*/ #include /**********Error**********/ int comp(int x,int y) { int flag; if(x>y) flag=1; /**********Error**********/ else if(x==y) flag=0; else flag=-1; return(flag); } main() { int i,n=0,m=0,k=0; int a[10]={5,-23,5,21,6,18,9,12,23,7}; int b[10]={6,-9,64,23,-52,0,9,8,-35,12}; printf("数组a:\n"); for(i=0;i<10;i++) printf("%4d",a[i]); printf("\n"); printf("数组b:\n"); for(i=0;i<10;i++) printf("%4d",b[i]); printf("\n"); for(i=0;i<10;i++){ if(comp(a[i],b[i])==1) n=n+1; else if(comp(a[i],b[i])==0) m=m+1; else k=k+1; } printf("a[i]>b[i]%2d 次\na[i]=b[i]%2d 次\na[i] int fun(int a[],int n) { int i; int k=0; for(i=1;i<=n;i++) if(i%7==0&&i%11==0) {a[k]=i; k++; } return k; } main() { void CHECK(); int arr[20],i,k,n; clrscr(); n=1000; k=fun(arr,n); for(i=0;i #define N 5 float count(int a[N][N]) { int i,j; float sum=0,ave; for(i=0;i long fibonacci(int n) { long a=1,b=1,c=1,d; int i; /************Fill in the blanks************/ for(i=4;i<=n;i++) { /************Fill in the blanks************/ d=a+b+c; a=b; b=c; c=d; } /************Fill in the blanks************/ return d; } main() { int n=20; printf("广义菲玻那契级数的第%d项为: %ld\n",n,fibonacci(n)); getch(); } 第9题操作题 /*应用冒泡排序算法,对数组a[]中的元素从小到大进行排序。*/ #include void sort(int a[],int n) { int i,j,t; for(j=0;ja[i+1]){ t=a[i]; /**********Error**********/ a[i]=a[i+1]; /**********Error**********/ a[i+1]=t; } } main() { int k,a[10]={6,-9,78,23,-12,0,9,8,-3,12}; printf("数组a:\n"); for(k=0;k<10;k++) printf("%d ",a[k]); sort(a,10); printf("\n从小到大排序:\n"); for(k=0;k<10;k++) printf("%d ",a[k]); printf("\n"); getch(); } 第10题操作题 /*计算1到形参n之间,能被3和7整除的整数的和,并作为函数值返回。 例如,n为1800时,程序输出: 1到1800之间,能被3和7整除的整数的和为: 76755 */ #include long sum(int n) { int i; long sum=0; for(i=1;i<=n;i++) if(i%3==0&&i%7==0) sum=sum+i; return(sum); } main() { void CHECK(); int n=1800; clrscr(); printf("1到%d之间,能被3和7整除的整数的和为: %ld\n",n,sum(n)) ; getch(); CHECK(); } 第11题操作题 /*统计子字符串substr在字符串str中出现的次数。 例如,若字符串为This is a C Program,子字符串为is,则应输出2。*/ #include int count(char str[],char substr[]) { int i,j,k,num=0; /************Fill in the blanks************/ for(i=0;str[i]!='\0';i++) for(j=i,k=0;substr[k]==str[j];k++,j++) /************Fill in the blanks************/ if(substr[k+1]=='\0') { num++; break; } /************Fill in the blanks************/ return num; } main() { char str[80],substr[80]; printf("Input a string: "); gets(str); printf("Input a substring: "); gets(substr); printf("The result is: %d\n",count(str,substr)); getch(); } 第12题操作题 /*求二维数组a[3][3]中各列元素的平均值,并依次存储在一维数组b[3]中。*/ #include void fun(int a[3][3],float b[3]) { int i,j; for(i=0;i<3;i++){ for(j=0;j<3;j++) /**********Error**********/ b[j]+=a[i][j]; } for(i=0;i<3;i++) /**********Error**********/ b[i]/=3; } main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}},i; float b[3]={0,0,0}; fun(a,b); for(i=0;i<3;i++) printf("%4.1f ",b[i]); printf("\n") ; getch(); } 第13题操作题 /*有一个3×4的矩阵,求所有元素中的最小值。*/ #include min_value(int array[][4]) { int i,j,min; min=array[0][0]; for(i=0;i<3;i++) /************Fill in the blanks************/ for(j=0;j<4;j++) if(array[i][j] float average(float array[],int n) { int i; float aver,sum=array[0]; /************Fill in the blanks************/ for(i=1;i 英语 关于好奇心的名言警句英语高中英语词汇下载高中英语词汇 下载英语衡水体下载小学英语关于形容词和副词的题 单词的第一个字母改成大写(这里的“单词”是指由空格隔开的字符串)。 例如,若输入:I am a student to take the examination., 则应输出:I Am A Student To Take The Examination.。*/ #include /**********Error**********/ void change(char s[]) { int i,k; k=0; /**********Error**********/ for(i=0;s[i]!='\0';i++) if(k) {if(s[i]==' ') k=0;} else if(s[i]!=' ') {k=1; s[i]=toupper(s[i]); } } main() { char str[80]; printf("\nPlease enter an English text line: "); gets(str); printf( "Before changing:\n %s",str); change(str); printf("\nAfter changing:\n %s\n",str); getch(); } 第16题操作题 /*计算 1 1 1 1 1 1 - --- + --- - --- + --- - ... --- 2 3 4 5 n 例如,n=100时,运算结果为:0.688172。*/ #include float count(int n) { int i; float sign=1; float sum=0; for(i=1;i<=n;i++) { sum=sum+sign/i; sign=(-1)*sign; } return sum; } main() { void CHECK(); int n=100; clrscr(); printf(" 1 1 1 1 1\n"); printf("1 - --- + --- - --- + --- - ... --- = %f\n",count(n)); printf(" 2 3 4 5 %d\n",n); getch(); CHECK(); } 第17题操作题 /*求出以下分数序列的前n项之和。 2 3 5 8 13 21 ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , ┄┄ , …… 1 2 3 5 8 13 例如,若n = 5,则应输出:8.391667。*/ #include /************Fill in the blanks************/ double sum(int n) { int a,b,c,k; double s; /************Fill in the blanks************/ s=0; a=2; b=1; for(k=1;k<=n;k++){ s=s+(double)a/b; c=a; /************Fill in the blanks************/ a=b+c; b=c; } return s; } main() { int n=5; printf("\nThe value of function sum is: %lf\n",sum(n)); getch(); } 第18题操作题 /*计算两个双精度数的和的平方根。 例如,若输入:23.18,32.4721,则输出:z=7.460034。*/ #include /**********Error**********/ double count(double a,double b) { double c; /**********Error**********/ c=sqrt(a+b); return c; } main() { double x,y,z; printf("Enter x,y:"); scanf("%lf,%lf",&x,&y); z=count(x,y); printf ("z=%f\n",z); getch(); } 第19题操作题 /*计算n!。例如,给n输入5,则输出5!=120。*/ #include long count(int n) { int i; long s=1; for(i=1;i<=n;i++) s=s*i; return s; } main() { void CHECK(); int n; clrscr(); printf("Input N:"); scanf("%d", &n); printf("%d! =% ld\n",n,count(n)); getch(); CHECK(); } 第20题操作题 /*输出M行M列整数方阵,并计算主对角线上各元素之和。*/ #include #define M 5 /************Fill in the blanks************/ int count(int n,int a[M][M]) { int i,sum=0; for(i=0;i void invert(char str[],int n) {int i;char temp; for(i=0;i int upper,lower,digit,space,other; /************Error************/ void count(char str[]) { int i=0; while(str[i]!='\n') { if((str[i]>='A')&&(str[i]<='Z')) upper++; else if((str[i]>='a')&&(str[i]<='z')) lower++; /************Error************/ else if(str[i]==' ') space++; else if((str[i]>='0')&&(str[i]<='9')) digit++; else other++; i++; } } main() { int i=0; char s[80]; printf("\n请输入一行字符:"); while((s[i]=getchar())!='\n') i++; upper=lower=digit=space=other=0; count(s); printf("其中,大写字母个数:%d,小写字母个数:%d,空格个数:%d,数字个数:%d,其它字符个数:%d",upper,lower,space,digit,other); getch();} 第23题操作题 /*输入一个字符串(不超过80个字符),按逆序存放。*/ #include /************Error************/ void inverse(char str[]) { int i,j; char t; for(i=0,j=strlen(str);i #define N 20 /************Fill in the blanks************/ void swap(int a[],int n) { int k, m, t ; m=0; /************Fill in the blanks************/ for(k=0;ka[m]) m=k; t=a[0]; /************Fill in the blanks************/ a[0]=a[m]; a[m]=t; } main( ) { int i,n=10,arr[N]={0,5,12,10,23,6,9,7,10,8}; printf("\n交换前:"); for(i=0;i long count(long num) {int n; long s=1; while(num!=0) { n=num%10; s=s*n; num=num/10; } return s; } main() { void CHECK(); long n ; clrscr(); printf("\Please enter a number:"); scanf("%ld",&n); printf("%ld\n",count(n)); CHECK(); } 第26题操作题 /*统计形参s[]所指字符串中数字字符出现的次数。 例如,形参s[]所指的字符串为:sjk7gr7we98yv98y3。输出结果为: 字符串sjk7gr7we98yv98y3中数字字符出现的次数为: 7 */ #include #define N 80 int count(char s[]) { int i,k=0; for(i=0;s[i]!='\0';i++) if(s[i]>='0'&&s[i]<='9') k++; return k; } main() { void CHECK(); char arr[N]="sjk7gr7we98yv98y3"; clrscr(); printf("字符串%s中数字字符出现的次数为: %d\n",arr,count(arr)) ; CHECK(); } 第27题操作题 /*将小写字母转换为大写字母。 例如:C Language,转换为C LANGUAGE。*/ #include void change(char s[]) { int i; for(i=0;s[i]!='\0';i++) if(s[i]>='a'&&s[i]<='z') s[i]=s[i]-32; } main() { void CHECK(); char str[20]="C Language"; clrscr(); change(str); printf("%s\n",str); CHECK(); } 第28题操作题 /*求二维数组a[3][3]中各列元素的最大值,并依次存储在一维数组b[3]中。*/ #include void fun(int a[3][3],int b[3]) { int i,j; for(i=0;i<3;i++){ /**********Error**********/ b[i]=a[0][i]; for(j=1;j<3;j++) if(b[i] long count(int n) { int i; long sum=0,p=1; /************Fill in the blanks************/ for(i=1;i<=n;i++) { p=p*i; /************Fill in the blanks************/ sum=sum+p; } return(sum); } main( ) { int n; printf("计算1!+2!+3!+...+n!\n请输入n的值(3 void insert(char *s,char c) { while(*s && *s!=c) s++; /**********Error**********/ if(*s!=c) { *s=c; /**********Error**********/ *(s+1)='\0'; } } main() { char str[80], c; printf( "\n请输入一个字符串:"); gets(str); printf("请输入一个字符:"); c=getchar(); insert(str, c) ; printf("操作结果为:%s\n",str); }
本文档为【计算机二级c语言题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_992134
暂无简介~
格式:doc
大小:111KB
软件:Word
页数:18
分类:工学
上传时间:2012-05-16
浏览量:582