二级c语言试题题库.docx
《二级c语言试题题库.docx》由会员分享,可在线阅读,更多相关《二级c语言试题题库.docx(71页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、分享徐家祥的分享热门推荐hot(上篇下篇:徐家祥分享皿的日志113道C语言题目,超经典的今天16:40作者Zzt113道C语言题目,超经典的分享首次分享者:首次、ft弄晕已被分享8次评论(0)复制链接分享转载举报1 .输入两个正整数,m和n,求其最大公约数和最小公倍数。#includevoid main()(int hcf(int, int) ;/*函数声明*/int lcd(int, int, int); /*函数声明*/int u, v, h, 1;printf (z,Please input two numbers:nz,);scanf (%d, %d, &u, &v);h=hcf (u
2、, v);printf (H. C. F=%dn”, h);l=lcd(u, v, h);printf (L. C. D=%dn,z, 1);)int hcf(int u,int v)int t, r;if(vu)t=u;u=v;v=t;while(r=u%v)!=0)u=v;v=r;return(v);)int led(int u,int v,int h)(return(u*v/h);)2 .输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#includeint letter, digit, space, others;void main()void count(chart);
3、char text80;printf (z,Please input string:n,z);gets(text);printf(string:n);puts(text);letter=0;digit=0;space=0;others=0;count (text);printf (letter:%d, digit:%d, space:%d, others:%dn,z, letter, digit, space, others);)void count(char str)(int i;for(i=0;stri !=,0,;i+)if (stri=,a &stri= A &stri=,&stri=
4、,9)digit+;else if(stri=32)space+;elseothers+;3 .输入一个正整数求出它是儿位数;输出原数和位数。#includeint digit;void main()(void count(char);char text80;printf (z,Please input numbers:nz,);gets(text);printf(Numbers:n);puts (text);digit=O;count (text);printf (z/digit :%dnz,, digit);)void count (char strL)(int i;for (i=0;st
5、ri != 0* ;i+)if (str i=,0) &stri=,9) digit+;)4,输入一个正整数,输出原数并逆序打印出各位数字。#includevoid invertLonglnt(long);void main()(unsigned long iNumber;printf (z,Please input a number: n,z);scanf&iNumber);printf(The input number is:%ldn”, iNumber);printf(Z/The inverse number is:); invertLonglnt(iNumber);)void inve
6、rtLonglnt(long x)(if(x=0&x=9)printf (,%dn,z, x);elseprintfC%d,z,x%10);invertLonglnt(x/10);5 .从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应 的序号,当输入负数时结束输入。6 .从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。 将结果输出。7 .求1!+2!+3!+20!,将结果输出。#includevoid main()(float s=0,t=l;int n;for (n=l;n=20;n+)(t=t*n;s=s+t;)printf(1!+2!+3!+20
7、!=%en”, s);)8 .打印以下图案:*#includevoid main()(int i, j;printf(The picture is:n);static char picture47= ,, ,, ,,,*,,*,*,*,*,*,,,*,*,*,*,*,*,*,;for(i=0;i=3;i+)(for(j=0;j=6;j+)printfpictureij);printf(n);9 .打印以下图案:*#includevoid main()(int i, j;printf(The picture is:n);char picture 4 4 = *,for(i=0;i=3;i+)(f
8、or(j=0;j=3;j+)printf (/z%czz, picturei j);printf(n);10 .求下列试子的值:1T/2+1/3-1/4+1/99-1/100,将结果输出。#includevoid main()(float sum=l. 0, t, s=l;int i;for(i=l;i=100;i+)(t=s/i;sum=sum+t;s=-s;)printf (1T/2+1/3T/4+l/99-l/100=%5.4fn”, sum);)11 .打印出100999之间的所有水仙花数。#includevoid main()(int i, j, k, n;printf (10099
9、9之间的所有水仙花数are: n*);for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if(n=i*i*i+j*j*j+k*k*k) printf (,z%d ”, n);)printf(n);)12 .求 Sn=a+aa+aaa+ +aa a 之值,n, a 由键盘输入。#includevoid main()(int a, n, i=l, sn=0, tn=0;printf (a, n二:“);scanf (%d, %d”, &a, &n);while (i=n)(tn=tn+a;sn=sn+tn;a=a*10;+i;)printf(/za+aa+
10、aaa+ , ,+aa a=%dnzz, sn);)13 .打印以下图案:#includevoid main()(char a7 = ,*,,*;*,*;*,*,/*,;int i, j, k;char space=;printf(The picture is:);for (i=0;i4;i+)(printf(n);printf (,z);for(j=l;j=i;j+)printf (,z%c,z, space);for (k=O;k7;k+)printf ak);14 .打印以下图案: 112112321 123432115 .打印以下图案:123432112321121 116 .编写一个
11、统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩; 求出全班的总平均分,将结果输出。#includedefine N 4 struct student (char num3;char name4;float score2;float avr;)stuN;void main ()(int i, j;float sum, average;for(i=0;iN;i+)/* 输入数据*/(printf C input scores of student%d:n”, i+1);printf(name:;scanfstui. name);for(j=0;j2;j+)printf(*score %d
12、:*, j+1);scanf&stui. scorej);/*计算*/average=O;for(i=0;iN;i+)sum=0;for(j=0;j2;j+)sum+=stui. scorej;stui. avr=sum/2;average+=stui. avr;)average/=N;printf C Name scorel score2 averagenz/);for(i=0;iN;i+)(printf (z,%5s%10s,z, stui. num, stui. name);for(j=0;j2;j+)printf C%9. 2f”, stui. scorej);printf (%8.
13、2fn”, stui. avr);)printf (/zaverage=%5. 2fn,average);)17 .打印以下图案:#includevoid main()(char a5 = ,int i, j, k;char space=;printf(The picture is:);for(i=0;i5;i+)(printf(n);printf();for(j=l;j=i;j+)printf(%c,space);for(k=0;k5;k+)printfak);18 .给出年、月、日,计算该日是该年的第几天。#includevoid main()int sum_day(int, int);i
14、nt leap(int year);int year, month, day, days;printf (z/ input date (year, month, day):z,);scanf (%d, %d, %d”, &year, &month, &day);printf (%d/%d/%d”, year, month, day);days=sum_day(month, day);if(1eap(year)&month=3)days=days+1;printf (/zis the %dth day in this year. n,z, days);)int sum_day(int month
15、, int day)(int day_tab13 = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31;int i;for(i=l;imonth;i+)day+=day_tabi;return(day);int leap(int year)(int leap;leap=year%4=0&year%100!=0|year%400=0;return(leap);)19 .求一个3*3的整型矩阵对角线元素之和。将原矩阵和求出的和输出。#includevoid main()(float a33, sum=0;int i, j;printf (请输入元素
16、:n);for(i=0;i3;i+)for(j=0;j3;j+)scanf &ai j);for(i=0;i3;i+)sum=sum+aii;printf (对角线之和是:%6. 2fn, sum); for(i=0;i=3;i+)for(j=0;j=3;j+)printf (%5. 2f”, ai j); printf(n);20 .求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。#includevoid main()(int a4 3, s4, i, j, k;for(i=0;i4;i+)for(j=0;j3;j+)scanf*(a+i)+j);for(i=0;i4;i
17、+)k=0;for(j=0;j3;j+)k+=ai j;printf (第%d行的平均值是%d, i+1, k);printf(n);21 .求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。#includevoid main ()(int a43, s4, i, j, k;for(i=0;i4;i+)for(j=0;j3;j+)scanf*(a+i)+j);for(i=0;i4;i+)(k=0;for(j=0;j3;j+)k+=aij;printf (第知行的平均值是%d, i+1, k);22 .求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。#inc
18、ludevoid main()(int a3 5, s3, i, j, k;for(i=0;i3;i+)for(j=0;j5;j+)scanf(%d,*(a+i)+j);for(i=0;i3;i+) *(s+i)= *(* (a+j);for(j=l;j5;j+)if (*(s+i) *(* (a+i)+j)*(s+i)= *(*(a+i)+j);for(i=0;i3;i+)(printf (z,Line=%d Max=%d,z, j, sj);printf(n);23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。#includevoid main()(int a43,
19、 s4,i,j, k;for(i=0;i4;i+)for(j=0;j3;j+)scanf(%d,*(a+i)+j);for(i=0;i4;i+) *(s+i)= *(*(a+i);for(j=l; j3; j+)if (*(s+i) *(* (a+i)+j)*(s+i)= *(*(a+i)+j);for (i=0;i4;i+)printf (zzRow=%d Max=%d*, i, si); printf(n);24 .求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。 #include ttdefine N 10#define M 10 void main() ( int a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 试题 题库
限制150内