C语言 编程试题及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和a+b。#includestdio.hmain(){inta,b,c;printf(pleaseinputa=);scanf(%d,&a);printf(pleaseinputb=);scanf(%d,&b);if(a*a+b*b100){c=(a*a+b*b)/100;printf(%d,c);}elseprintf(%d\n,a+b);}2编程:根据以下函数关系:当x=0,y=0;当0x=10,y=x;当10x=20,y=10;当x20,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)属于math.h)#includestdio.h#includemath.hmain(){intx;floaty;printf(pleaseinputx=);scanf(%d,&x);if(x=0){y=0;}elseif((0x)&&(x=10)){y=x;}elseif((10x)&&(x=20)){y=10;}elsey=sin(x);printf(%f\n,y);}3编程:根据以下函数关系:当xx=1,y=x;当1x=2,y=sqrt(x);当x2,y=sin(x);输入一个x值,计算出相应的y值并输出。(提示:sin(x)、sqrt(x)属于math.h)参考24编程:输入三个正整数x,y,z,将这三个数由小到大输出。#includestdio.h#includemath.hmain(){inta[3],i,max,j;printf(pleaseinputthe3numbers:);for(i=0;i3;i++){scanf(%d,&a[i]);}for(i=0;i3;i++){for(j=0;j2;j++)if(a[j]a[j+1]){max=a[j];a[j]=a[j+1];a[j+1]=max;}}printf(theresultis);for(i=0;i3;i++)printf(%d,a[i]);printf(\n);}#includestdio.hmain(){inta,b,c,t;scanf(%d%d%d,&a,&b,&c);if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}printf(Theansweris:%d,%d,%d\n,a,b,c);}5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整除;或能被100整除且能被400整除的年号。练习书上有,第一页6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、4、6、8打头的加3,例如:输入1234,则输出:21234。#includestdio.hmain(){longx,y;printf(pleaseinputtelephonenumber);scanf(%d,&x);y=x/1000;switch(y){case1:case3:case5:case7:case9:x=2*10000+x;break;case2:case4:case6:case8:x=3*10000+x;break;}printf(theresultis%ld\n,x);}7编程实现四位电话号码的升位。原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、7、8、9打头的加2,例如:输入1234,则输出:31234。参考68编程:已知分段函数:当x10时,y=2*x+1;当1x=10时,y=5*(x+1)*(x-2);当x=1时,y=1-2*x;从键盘输入x的值,计算y的值。参考29编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h)#includestdio.h#includemath.hmain(){floatx,y,z;floatarea,s;printf(pleaseinput:);scanf(%f%f%f,&x,&y,&z);if((x+y=z)||(z+y=x)||(x+z=y))printf(no\n);else{s=(x+y+z)/2;area=sqrt(s*(s-x)*(s-y)*(s-z));printf(%f\n,area);}}10编程:已知分段函数,当x=0时,y=3*x;当0x=10时,y=(x+1)*(x-2);当x10时,y=2*x*x;从键盘输入x的值,计算y的值。参考211编程:判定用户输入一个不大于999的正整数是否为一个回文数。回文数是指正读和反读都相同的数。#includestdio.hmain(){inta,x,y,z;printf(pleaseinputanumber);scanf(%d,&a);if(0a&&a=999){x=a/100;y=(a-100*x)/10;z=a%10;if(x==0){if(y==z)printf(Yes\n);elseprintf(no\n);}elseif(x==z)printf(yes\n);elseprintf(no\n);}}12编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较大的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=49,则结果b=94。#includestdio.hmain(){inta,b,x,y;printf(pleaseinputanumber);scanf(%d,&a);if(0a&&a100){x=a/10;y=a%10;if(x=y){b=a;}else{b=10*y+x;}printf(theresultis%d,b);}elseprintf(awrongnumber);}13编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较小的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=54,则结果b=45。参考1214初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删除这个整数并输出删除后的数组,否则输出no。#includestdio.hmain(){inta[10]={2,3,4,1,5,6,7,8,9,10},i,x,j,k;printf(pleaseinputanumber);scanf(%d,&x);for(i=0;i10;i++){if(a[i]==x){for(j=i;j10;j++)a[j]=a[j+1];for(k=0;k9;k++)printf(%3d,a[k]);break;}elseif(i==9)printf(no);}}15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符相同的字符,输出处理后的字符串。#includestdio.hmain(){chara[7]={howare};charb[1];inti,j,k;printf(pleaseinputthestring:);gets(b);for(i=0;i7;i++){if(a[i]==b[0]){for(j=i;j5;j++){a[j]=a[j+1];}for(k=0;k5;k++)printf(%c,a[k]);printf(\n);break;}elseif(a[i]=='\0'){printf(no\n);break;}}}16计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。#includestdio.hmain(){inta[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}};inti,sum=0,max,j;for(i=0;i4;i++)sum=sum+a[i][i];max=a[0][0];for(i=0;i4;i++){for(j=0;j4;j++)if(maxa[i][j])max=a[i][j];}printf(thesumis%dandthemaxnumberis%d\n,sum,max);}17计算一个3*3矩阵的所有元素之和以及所有元素中的最大元素的值。要求初始化矩阵,输出计算结果并输出该矩阵。参考16,懒得弄了18初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。#includestdio.hmain(){chara[20]={asldfkjasldkf};inti;puts(a);for(i=2;i7;i++)printf(%c,a[i]);printf(\n);}19编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。参考1620初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。#includestdio.hmain(){inta[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}},i,j,max;for(i=0;i4;i++){max=a[i][0];for(j=0;j4;j++){printf(%3d,a[i][j]);}printf(\n);}for(i=0;i4;i++){for(j=0;j4;j++){if(maxa[i][j])max=a[i][j];}}printf(themaxnumberis%d\n,max);}21初始化一矩阵a[4][4],计算每列的最大元素值,要求输出原始矩阵以及每列的最大元素值。参考2022编程计算a[3][4]数组的最大值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。参考2023编程实现:计算矩阵a[3][4]每行元素的和。要求输出原始矩阵以及每行元素的和值。要求初始化矩阵。参考2024编程实现:计算矩阵a[3][4]每列元素的和。要求输出原始矩阵以及每列元素的和值。要求初始化矩阵。参考2025一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。输出原始数据和移动后的结果。要求初始化数组。例如:原始数据为:610298717182345,输出结果为:6102998717182345。#includestdio.hmain(){inta[11]={6,10,2,9,8,7,17,18,23,45},i;printf(theoriginstringsis);for(i=0;i10;i++)printf(%3d,a[i]);printf(\n);for(i=10;i3;i--)a[i]=a[i-1];printf(thechangedstringsis);for(i=0;i11;i++)printf(%3d,a[i]);printf(\n);}26编程实现:在任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a和数组b。要求初始化数组a。懒得弄,太简单27初始化一个存放10个整数的数组,删除其中所有的小于0的数据。例如:当前的数据为1–1–68966–569,则输出结果为1896669。#includestdio.hmain(){inta[10]={1,-1,-6,8,9,6,6,-5,6,9};inti;printf(theoriginstringis);for(i=0;i10;i++)printf(%3d,

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功