C语言题库及答案.docx
- 文档编号:28276709
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:35
- 大小:27.28KB
C语言题库及答案.docx
《C语言题库及答案.docx》由会员分享,可在线阅读,更多相关《C语言题库及答案.docx(35页珍藏版)》请在冰豆网上搜索。
C语言题库及答案
第一题汇总
1要求输入整数a和b,若a*a+b»b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b.
#include
main()
{
intabmnsum;
printf(Hpleaseputina&b:
");
scanf("%d,%d",&a,&b);
讦(a*a+b*b>100)
{
m=a*a+b*b;
n=m/100;
printf(,,%d*%d+%d*%d百位以上的数字为%d\n“,a,a,b,b,n);
}
else
{
sum=a+b;
printf("两数之和为%d\n",sum);
}
}
2根据以下函数关系:
当x<=0,y=0;当0
sin(x)属于math.h)
#include
#include
main()
{
floatx.y;
printff'pleaseputinx:
H);
scanf(”%f”,&x);
if(x<=0)
y=o;
elseif(x<=10)
y=x;
elseif(x<=20)
y=10;
else
y=sin(x);
printf("y=96r,y);
}
3输入三个正整数x,y,z,将这三个数由小到大输出
main()
intx,y,z,t;
scanf(”%d%d%d”,&x,&y,&z);
if(x>y)
{t二x;x二y;y二t;}厂交换x,y的彳克*
if(x>z)
{t=z;z=x;x=t;}/*交换x,z的值
if(y>z)
{t=y;y=z;z=t;}/*交换乙y的值・/printf(nsmalltobig:
%d%d%d\n",x,y,z);}
4从键盘输入一个年号,判断该年号是否为闰年,并输出结果.闰年是能被4整除但不能被100整除;或能被“0整除且能被400整除的年号。
#include
main()
{inty;
scanf(H%d",&y);
if(y%400==0||y%4==0&&y%100!
=0)printf("Yes.\nM);
elseprintf("No.\nM);
}
5编程实现四位电话号码的升位。
原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:
输入1234,则输出:
21234.
6输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误•三角形面积公式:
area=sqrt|s(s-a)|s-b)(s-c)|,其中s=l/2(a+b+c).(提示:
sqrt(x)属于math.h)
#include
#include
main()
{
inta,b,c;
printf(”请输入三边边长:
”);
scanf("%d/%d/%d,,/&a/&b,&c);
if(a+b>c&&a+c>b&&b+oa)
{
floats.area;
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printff三角形面积为%f',area);
}
else
printf(“输出错误”);
}
7判定用户输入一个不大于999的正整数是否为一个回文数。
回文数是指正读和反读都相同的数。
main()
{
longge^ai,x;
scanf(“%ld”,&x);
bai=x/100;
ge=x%10;
if(ge==bai)
printf(Hthisnumberisahuiwen\nH);
else
printffthisnumberisnotahuiwen\n,1);
}
8从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。
转换的方式是:
将a中较大的数码作为b的十位,剩余的数码作为b的个位.例如,当输入a=49,则结果b=94o
#include
main()
{
inteb,x,y;
printf(Hpleaseinputanumber");
scanf(”%d“,&a);
if(9 { x=a/10; y=a%10; if(x>=y) { b=a; } else { b=10*y+x; } printfftheresultis%d'\b); printf(*awrongnumber11); } 9将一个正整数分解质因数。 例如: 输入90,打印出90=2*3*3枣5。 include returnl;1}'}'return0汀voidmain()'{'inti=0,ent=90;'printf(,,%d="/ent);'while(parse(&i. &cnt))‘{•printf「%dTi);1}*printf(M%d\n,l/ent);1} 10设有一分数列: 如,3/2t5/3,攀仲,21/13,・・・・・・试编程求出这个数列的前十项之和。 #inckide main() {intixy^a; floatsum=0; x=2; y=l; for(i=l;i<20;i++) { sum+=(float)(x)/y; //printf("%d/%d\n",x,y); a=x; x=x+y; y=a; } printf(”%7・5f\njsum); } 11输入一个同学的c语言成绩,要求输出成绩等级比等级划分原则是: 90分以上者为'A',8089分为B,7679分为宅,969分为"60分以下为 #include main() { intiNum; sacnf("%d: &iNum); switch(iNum/10) { case10: case9: printf(HA\nH);break; case8: printff'BXn'^break; case7: printf(,,C\n,,);break; case6: printf(,,D\n,,);break; default: printf(HE\n");break; } } 12求一个3*3矩阵两条对角线元素之和.要求初始化该数组元素. #include #definek3 intmainO { intenter; //intk=3; intarr[k][k]; inti,j,sum=O; for(i=0;i { for(j=0;j { scanf(”%d: &enter); arr[i][j]=enter; if(i==j) { sum+=arr[i][j]; } } sum+=arr[i][k-i-1]; } if((k%2)==1) { sum-=arr[k⑵[k/2]; } for(i=0;i { for(j=0;j { printf(n%d",arr[i][j]); } printf(”\n”); } printf(H%d\n",sum); return0; } 13输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 #include #include main() {charc; intw=0/x=0/y=0/z=0; while((c=getchar())! ='\n') {if((c>虫&&c<=lz,)||(c>=A,&&cc=h)) w++; elseif(c==*) x++; elseif(O=*0'&&c<='9') y++; else z++; }printf("w=%(tx=%d,y=%(tz=%cr: wxy,z); } 14实现两个数的第法和$法运算。 如输入3,4期输出25;输入3,4,$,输出34;提示溥法和$法运算是自己定义的一种运算/a#b=a*a+b*b/a$b=a*10+b. #include voidmain() { inta,b; chare; scanf("%d,%d,%c,",&a,&b,&c); switch(c) { case,#,: printf("%d\n"/a*a+b*b); break; case: printf("%d\n",a*10+b); } } 第二题汇总 14初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no. #include main() { inta[10]={2,3,4」,5,6,7,8,9,10},i,x,j,k; printff'pleaseinputanumber"); scanf(”%d”,&x); for(i=0;i<10;i++) { »(a[i]==x) { for(j=i;j<10;j++) a[j]=a[j+l]; for(k=0;k<9;k++) printf「%3cCa[k]); break; } elseif(i==9) pnntf("non); } } 15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串. #include main() { chara[7]={"howare"}; charb[l]; printff'pleaseinputtliestring: "); gets(b); for(i=0;i<7;i++) { if(a[i]=b[O]) { for(j=i;j<5;j++) { a[j]=a[j+l]; } for(k=0;k<5;k++) printfC^c'Xk]); printf("\n"); break; } elseif(a[i]==,\O,) { printf("no\n"); break; } } } 16•计算一个4F矩阵的主对角线的元素之和以及最大元素的值。 要求初始化矩阵,输出计算结果并输出该矩阵. #include main() { inta[4][4]={{2,123,l,5},{4,22,、6,23},{、,/,89,23},{l,2,3,4}}; inti/sum=O/max/j; for(i=0;i<4;i++) sum=sum+a[i][i]; max=a[O][O]; for(i=0;i<4;i++) { for(j=0;j<4;j++) if(max max=a[i][j]; } printff'thesumis%dandthemaxnumberis%d\n"/sum,max); } 17初始化一字符串(长度小于20个字符〉,取出第3个字符到第7个字符组成的子串,输出该子串。 #include main() { chara[20|={"asldfkjasldkf"}; inti; puts(a); for(i=2;i<7;i++) printf(“%c”,a[i]); printfCAn"); } 18编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及班3][4施阵。 要求初始化矩阵。 #include main() { inta[4][4]={{2,123,l,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}},"max; for(i=0;k4;k+) { max=a[i][0); for(j=0;j<4;j++) { } printf(M\nH); } for(i=0;i<4;i++) { for(j=0;j<4;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 答案