C语言答案

更新时间:2023-10-26 00:52:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第三章

30、求下列算术表达的值,设x=2.5, a=7, y=4.7。 x+a%3*(int)(x+y)%2/4 2..5

、求下列算术表达的值,设 a=2,b=3,x=3.5,y=2.5。 (float)(a+b)/2+(int)x%(int)y 3.5

32、写出下面赋值表达式运算后a的值,设原来a=12: (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a

(5)a%=(n%=2) n的值等于5 (6)a+=a-=a*=a 24 10 60 0 0 0 第五章

有三个整数a,b,c,由键盘输入,输出其中最大得数。 main() {

int a,b,c,d;

printf(\ scanf(\ d=(a>b)?a:b; d=(d>c)?d:c;

printf(\ }

36、以下面的方程为基础,写一程序,输入X值,输出Y值,方程如下:当 x<1 时,y=x,当1<=x<10时,y=2x-1,当x>=10时,y=3x-11 main() { int x,y,a;

printf(\输入X的值*/ scanf(\

printf(\分条件打印出y值*/ if(x<1) { y=x; printf(\ } else

if( x>=1&&x<10) { y=2*x-1; printf(\ } else {

y=3*x-11; printf(\ } }

37、给出一百分制成绩,要求输出成绩等级?A?,?B?,?C?,?D?,?E?,90分以上为A,80~90分为B,70~79分为C,60~69分为D,60分以下为E。 main() { int num ;

printf(\ scanf(\ if(num<0||num>100)

printf(\ else if(num>=90) num=65; else if(num>=80) num=66; else if(num>=70) num=67; else if(num>=60) num=68; else num=69; printf(\ switch(num)

{

case 65: printf(\ case 66: printf(\ case 67: printf(\ case 68: printf(\ case 69: printf(\ } }

38、给一个不多于5位的正整数,要求:(1)求出它是几位数,(2)分别打印出每一位数字(3)按顺序打印出各位数字,例如原数时321,应输出123。 main() {

long num; int k;

printf(\ scanf(\

printf(\ if(num>=10000) { k=5; printf(\ }

else if(num>=1000) { k=4; printf(\ }

else if(num>=100) { k=3; printf(\ }

else if(num>=10) { k=2; printf(\ } else { k=1; printf(\ }

printf(\ switch(k)

{

case 1: printf(\

case 2: printf(\

case 3: printf(\

case 4: printf(\

case 5: printf(\m);break; }

printf(\ switch(k) {

case 1: printf(\

case 2: printf(\

case 3: printf(\

case 4: printf(\

case 5: printf(\reak; } }

39、企业发放的奖金根据利润提成。利润低于或等于10万的,奖金可提成10%;利润高于10万,低于20万的,低于10万的部分按10%提成,高于10万的提成7.5%;高于20万低于40万时,低于20万的按上述方法提成(下同)。高于20万的按5%提成。高于40万低于60万的,高于40万的部分按3%提成。高于60万低于100万的,高于60万的部分按1.5%提成,超过100万的部分按1%提成。要求从键盘输入当月利润I,求应发奖金数。 要求:

(1)用if语句编程序。 (2)用switch语句编程序。 (1): main() { long i;

int bonus,bonus1,bonus2,bonus4,bonus6,bonus10; printf(\ scanf(\

printf(\ bonus1=100000*0.1;

bonus2=bonus1+100000*0.075; bonus4=bonus2+200000*0.05; bonus6=bonus4+200000*0.03; bonus10=bonus6+400000*0.015; if(i<=100000) bonus=bonus1;

else if(i<=200000) bonus=bonus1+(i-100000)*0.075; else if(i<=400000) bonus=bonus2+(i-200000)*0.05; else if(i<=600000) bonus=bonus4+(i-400000)*0.03;

else if(i<=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; printf(\ }

输入4个整数,要求按由小到大的顺序输出。 main() { int a,b,c,d,t;

printf(\ scanf(\ /*把最小的数排到第一个位置*/ if(a>b) {t=a;a=b;b=t;} if(a>c) {t=c;a=c;c=t;} if(a>d) {t=a;a=d;d=t;} /*排第二个位置的数*/ if(b>c) {t=b;b=c;c=t;} if(b>d) {t=b;b=d;d=t;} /*排第三、四个位置的数*/ if(c>d) {t=c;c=d;d=t;}

printf(\ }

41、有4个圆塔,圆心分别为(2,2),(-2,2),(-2,-2),(2,-2),圆半径为1,这4个塔的高度为10m,塔外无建筑物,今输入任何一点的坐标,求该点的建筑高度,(塔外的高度为0)。 #include /*数学函数头文件,用来调用fabs()和sqrt()函数*/ main() { int h; float w,x,y,j,i,k;

printf(\ scanf(\ if(x>=3||x<=-3||y>=3||y<=-3) h=0; else h=1; switch(h) {

case 0 : printf(\ case 1 :{ x=fabs(x);y=fabs(y); w=sqrt((x-2)*(x-2)+(y-2)*(y-2)); printf(\ } } }

42、输入两个整数,若它们的平方和大于100,则输出该平方和的百位数以上(包括百位数字)的各位数字,否则输出两个整数的和。 #include \ main ( ) {

本文来源:https://www.bwwdw.com/article/ycs2.html

Top