admin 管理员组文章数量: 1184232
2024年4月21日发(作者:stackpanel水平排列)
1编程:要求输入整数a和b,若a*a+b*b大于100,则输出a*a+b*b百位以上的数字,否则输出两数之和
a+b。
#include
main()
{
int a,b,c;
printf("please input a=");
scanf("%d",&a);
printf("please input b=");
scanf("%d",&b);
if(a*a+b*b>100)
{
c=(a*a+b*b)/100;
printf("%d",c);
}
else
printf("%dn",a+b);
}
2编程:根据以下函数关系:当x<=0,y=0;当0
输入一个x值,计算出相应的y值并输出。(提示:sin(x)属于math.h)
#include
#include
main()
{
int x;
float y;
printf("please input x=");
scanf("%d",&x);
if(x<=0)
{
y=0;
}
else if((0 { y=x; } else if ((10 { y=10; } else y=sin(x); printf("%fn",y); } 3编程:根据以下函数关系:当x 计算出相应的y值并输出。(提示:sin(x)、sqrt(x)属于math.h) 参考2 4编程:输入三个正整数x,y,z,将这三个数由小到大输出。 #include #include main() { int a[3],i,max,j; printf("please input the 3 numbers:"); for(i=0;i<3;i++) { scanf("%d",&a[i]); } for(i=0;i<3;i++) { for(j=0;j<2;j++) if(a[j]>a[j+1]) { max=a[j]; a[j]=a[j+1]; a[j+1]=max; } } printf("the result is"); for(i=0;i<3;i++) printf(" %d",a[i]); printf("n"); } #include main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { } if(a>c) { } if(b>c) { } t=b;b=c;c=t; t=a;a=c;c=t; t=a;a=b;b=t; printf("The answer is:%d,%d,%dn",a,b,c); } 5编程:从键盘输入一个年号,判断该年号是否为闰年,并输出结果。闰年是能被4整除但不能被100整 除;或能被100整除且能被400整除的年号。 练习书上有,第一页 6编程实现四位电话号码的升位。原来电话号码为1、3、5、7、9打头的号码前加2,原来电话号码为2、 4、6、8打头的加3,例如:输入1234,则输出:21234。 #include main() { long x,y; printf("please input telephone number "); scanf("%d",&x); y=x/1000; switch(y) { case 1: case 3: case 5: case 7: case 9:x=2*10000+x;break; case 2: case 4: case 6: case 8:x=3*10000+x;break; } printf("the result is %ldn",x); } 7编程实现四位电话号码的升位。原来电话号码为1、2、3、4、5打头的号码前加3,原来电话号码为6、 7、8、9打头的加2,例如:输入1234,则输出:31234。 参考6 8编程:已知分段函数:当x>10时,y=2*x+1;当1 盘输入x的值,计算y的值。 参考2 9编程:输入3个正整数,判断能否组成三角形,如果能够组成三角形,则输出三角形的面积,否则输出 错误。三角形面积公式:area=sqrt(s(s-a)(s-b)(s-c)),其中s=1/2(a+b+c)。(提示:sqrt(x)属于math.h) #include #include main() { float x,y,z; float area,s; printf("please input:"); scanf("%f%f%f",&x,&y,&z); if((x+y<=z)||(z+y<=x)||(x+z<=y)) printf("non"); else { s=(x+y+z)/2; area=sqrt(s*(s-x)*(s-y)*(s-z)); printf("%fn",area); } } 10编程:已知分段函数,当x<=0时,y=3*x;当0 入x的值,计算y的值。 参考2 11编程:判定用户输入一个不大于999的正整数是否为一个回文数。回文数是指正读和反读都相同的数。 #include main() { int a,x,y,z; printf("please input a number "); scanf("%d",&a); if(0 { x=a/100; y=(a-100*x)/10; z=a%10; if(x==0) { if(y==z) printf("Yesn"); else printf("non"); } else if(x==z) printf("yesn"); else printf("non"); } } 12编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较 大的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=49,则结果b=94。 #include main() { int a,b,x,y; printf("please input a number "); scanf("%d",&a); if(0 { x=a/10; y=a%10; if(x>=y) { b=a; } else { b=10*y+x; } printf("the result is %d",b); } else printf("a wrong number"); } 13编程:从键盘输入一个两位数的正整数a,将其转换形成一个整数b并输出b。转换的方式是:将a中较 小的数码作为b的十位,剩余的数码作为b的个位。例如,当输入a=54,则结果b=45。 参考12 14初始化数组a中包含10个不同的整数,要求从键盘输入一个整数,若这个整数在数组中则从数组中删 除这个整数并输出删除后的数组,否则输出no。 #include main() { int a[10]={2,3,4,1,5,6,7,8,9,10},i,x,j,k; printf("please input a number "); scanf("%d",&x); for(i=0;i<10;i++) { if(a[i]==x) { for(j=i;j<10;j++) a[j]=a[j+1]; for(k=0;k<9;k++) printf("%3d",a[k]); break; } else if(i==9) printf("no"); } } 15初始化一字符串(字符串中的每个字符各不同),要求从键盘输入一个字符,删除字符串中和输入字符 相同的字符,输出处理后的字符串。 #include main() { char a[7]={"howare"}; char b[1]; int i,j,k; printf("please input the string :"); gets(b); for(i=0;i<7;i++) { if(a[i]==b[0]) { for(j=i;j<5;j++) { a[j]=a[j+1]; } for(k=0;k<5;k++) printf("%c",a[k]); printf("n"); break; } else if(a[i]=='0') { printf("non"); break; } } } 16计算一个4*4矩阵的主对角线的元素之和以及最大元素的值。要求初始化矩阵,输出计算结果并输出该 矩阵。 #include main() { int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}}; int i,sum=0,max,j; for(i=0;i<4;i++) sum=sum+a[i][i]; max=a[0][0]; for(i=0;i<4;i++) { for(j=0;j<4;j++) if(max max=a[i][j]; } printf("the sum is %d and the max number is %dn",sum,max); } 17计算一个3*3矩阵的所有元素之和以及所有元素中的最大元素的值。要求初始化矩阵,输出计算结果并 输出该矩阵。 参考16,懒得弄了 18初始化一字符串(长度小于20个字符),取出第3个字符到第7个字符组成的子串,输出该子串。 #include main() { char a[20]={"asldfkjasldkf"}; int i; puts(a); for(i=2;i<7;i++) printf("%c",a[i]); printf("n"); } 19编程计算一个a[3][4]数组的最小值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。 参考16 20初始化一矩阵a[4][4],计算每行的最大元素值,要求输出原始矩阵以及每行的最大元素值。 #include main() { int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}},i,j,max; for(i=0;i<4;i++) { max=a[i][0]; for(j=0;j<4;j++) { printf("%3d",a[i][j]); } printf("n"); } for(i=0;i<4;i++) { for(j=0;j<4;j++) { if(max max=a[i][j]; } } printf("the max number is %dn",max); } 21初始化一矩阵a[4][4],计算每列的最大元素值,要求输出原始矩阵以及每列的最大元素值。 参考20 22编程计算a[3][4]数组的最大值所在位置,输出该位置以及a[3][4]矩阵。要求初始化矩阵。 参考20 23编程实现:计算矩阵a[3][4]每行元素的和。要求输出原始矩阵以及每行元素的和值。要求初始化矩阵。 参考20 24编程实现:计算矩阵a[3][4]每列元素的和。要求输出原始矩阵以及每列元素的和值。要求初始化矩阵。 参考20 25一维数组中存放任意10个整数,从第四个数据开始直到最后一个数据,依次向右移动一个位置。输出 原始数据和移动后的结果。要求初始化数组。 例如:原始数据为:6 10 2 9 8 7 17 18 23 45, 输出结果为: 6 10 2 9 9 8 7 17 18 23 45。 #include main() { int a[11]={6,10,2,9,8,7,17,18,23,45},i; printf("the origin strings is"); for(i=0;i<10;i++) printf("%3d",a[i]); printf("n"); for(i=10;i>3;i--) a[i]=a[i-1]; printf("the changed strings is"); for(i=0;i<11;i++) printf("%3d",a[i]); printf("n"); } 26编程实现:在任意字符串a中将与字符c相同的所有元素的下标值分别存放在数组b中,输出字符串a 和数组b。要求初始化数组a。 懒得弄,太简单 27初始化一个存放10个整数的数组,删除其中所有的小于0的数据。例如:当前的数据为1 –1 –6 8 9 6 6 –5 6 9 ,则输出结果为1 8 9 6 6 6 9。 #include main() { int a[10]={1,-1,-6,8,9,6,6,-5,6,9}; int i; printf("the origin string is"); for(i=0;i<10;i++) printf("%3d",a[i]); printf("n"); printf("the change string is"); for(i=0;i<10;i++) { if(a[i]>0) printf("%3d",a[i]); } printf("n"); } 28已知4X4矩阵,求行下标和列下标均为偶数的元素之和, 要求输出原始矩阵以及和值。提示:例如A[0][0]、 A[0][2]的行下标和列下标均为偶数。要求初始化矩阵。 #include main() { int a[4][4]={{2,123,1,5},{4,22,56,23},{5,7,89,23},{1,2,3,4}}; int i,sum=0,j; for(i=0;i<3;i=i+2) { for(j=0;j<3;j++) printf("%d",a[i][j]); } for(i=0;i<3;i=i+2) { for(j=0;j<3;j=j+2) sum=sum+a[i][j]; } printf("the result is %dn",sum); } 29已知4X4矩阵,求行下标和列下标均为奇数的元素之和, 要求输出原始矩阵以及和值。例如A[1][1]、 A[1][3]的行下标和列下标均为奇数。要求初始化矩阵。 参考28 30函数void fun(int a[],int n,int *small,int *big),该函数的功能是分别求出一维数组a中所有奇数项 中的最小值与所有偶数项中的最大值,形参n给出数组中数据的个数;利用指针small返回奇数项中的最 小值,利用指针big返回偶数项中的最大值。要求:在主调函数中初始化一个一维数组,并在主调函数中 调用函数fun后,在主调函数中输出结果。 #include void fun(int a[],int n,int *small,int *big) { int max,min,i,j; min=a[0]; max=a[1]; if(n%2==0) { for(i=0;i<=n-2;i=i+2) { if(min>a[i]) min=a[i]; } for(j=1;j<=n-1;j=j+2) { if(max max=a[j]; } *small=min; *big=max; } else { for(i=0;i<=n;i=i+2) { if(min>a[i]) min=a[i]; } for(j=1;j<=n-1;j=j+2) { if(max max=a[j];
版权声明:本文标题:C语言 编程试题及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713671093a646287.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论