大学C语言复习题_附答案(5)

2019-04-02 14:01

编程序

1. 编写程序,判断输入字符的种类,即区分空格、数字字符、英文字母和其他字符。 #include void main() { char c;

printf(\ c=getchar(); if(c==' ')

printf(\ else if(c>='0'&&c<='9')

printf(\

else if(c>='A'&&c<='Z'||c>='a'&&c<='z') printf(\

else printf(\ }

2. 编写程序,输入一批正整数,遇0或负数则输入结束,要求统计并输出其中奇数和偶

数个数。

#include void main()

{ int x,a=0,b=0;

printf(“Enter data:”); scanf(“%d”,&x); while(x>0)

{ if(x%2!=0) a++; else b++;

scanf(“%d”,&x); }

printf(“奇数:%d\\n偶数:%d\\n”,a,b); }

3. 输入入一个职工的月薪salary,计算并输出应交的个人所得税tax = rate * (salary-850)。

其中rate的计算方式如下: 当 salary ≤850 时,rate = 0;

当 850 < salary ≤ 1350 时,rate = 5%; 当 1350 < salary≤ 2850 时,rate = 10%; 当 2850 < salary ≤ 5850 时,rate = 15%; 当 5850 < salary 时,rate = 20%。 #include void main()

{ double salary,rate,tax;

printf(“Please input salary:\\n”); scanf(“%lf”, &salary); if(salary<=850) rate=0;

else if(salary>850&& salary<=1350) rate=5;

else if(salary>1350&& salary<=2850) rate=10;

else if(salary>2850&& salary<=5850) rate=15; else rate=20; tax=rate*(salary-850)/100; printf(“tax=%.2f\\n”,tax);

}

4. 编程求数列1+(1+2)+(1+2+3)+…+(1+2+...+10)的和并输出。 #include main()

{ int a,b,sum=0; for(a=1;a<=10;a++) for(b=1;b<=a;b++) sum+=b;

printf(\?+(1+2+...+10)=%d\\n\

} 或

#include main()

{ int a,b=0,sum=0; for(a=1;a<=10;a++) { b+=a; sum+=b; }

printf(\?+(1+2+...+10)=%d\\n\

}

5. 输出一张平方根表(如下表所示),x的取值范围是[5, 1000],请调用库函数sqrt()计算

平方根。

x sqrt(x) 5 2.24 6 2.45 … … 999 31.61 1000 31.62

#include #include void main() { float x,y;

printf(\ for(x=5;x<=1000;x++) { y=sqrt(x);

printf(\ } }

6. 输入一个实数a,判断是 “正数”、“负数”或“零”,并输出“正数”、“负数”或“零”

的判断结果。

#include void main()

{ float a;

scanf(\

if(a>0) printf(\正数\\n\

else if (a==0) printf(\零\\n\

else printf(\负数\\n\

}

7. 输入被除数和除数x,y,如果除数y不等于0,计算x除以y的商,如果除数y等于

0,输出“数据错误”。 #include void main()

{ double x,y,s;

printf(“Input x y:\\n”); scanf(\ if(y!=0){

s=x/y;

printf(\}

else printf(\数据错误\\n\

}

8. 输入一个小时、分、秒的时间,将输入的时间加1秒后,输出新的时间。要求输入输出

时间格式为小时:分:秒(例如输入5:45:9,则输出5:45:10,若输入23:59:59,则输出0:0:0)。 #include void main() { int h,m,s;

scanf(“%d:%d:%d”,&h,&m,&s); s++;

if(s==60) // 加1秒后为60,向分进位 { s=0; m++;

if(m==60) // 60分时向时进位 { m=0; h++;

if(h==24) h=0; } }

printf(“%d:%d:%d\\n”,h,m,s); }

9. 输入年份、月份,判定是否为闰年,并输出该年该月的天数。 #include main()

{ int y,m,days,leap=0; printf(“输入年 月\\n”); scanf(“%d%d”,&y,&m);

if(m%2==1&&m<8||m>=8&&m%2==0) days=31; else if(m==4||m==6||m==9||m==11) days=30; else if(m==2)

if(y%4==0&&y0!=0||y@0==0)

{ days=29;

leap=1; }

else days=28; if(leap==1)

printf(“%d年是闰年,”,y); else

printf(“%d年不是闰年,”,y);

printf(“%d月有%d天\\n”,m,days);

}

10. 计算表达式1+2!+3!+...+10!+11!+12!的值,并将计算结果以格式\输出。 #include

void main( ) { int s=1,k=1,i;

for(i=2;i<=12;i++)

{ k*=i;

s+=k; }

printf(\

} 或

#include

void main( ) { int s=0,k,i,j;

for(i=1;i<=12;i++)

{ k=1;

for(j=1;j<=i;j++)

k*=j; s+=k; }

printf(\

}

11. 计算数列1,-1/3!,1/5!,-1/7!,1/9!,...的和至某项的绝对值小于1e-5时为止(该项不累加),将

求和的结果保留4位小数输出。 #include #include

void main( ) { float s=1,t=1,i=3; do {

t= -t* (i-1)*i; s=s+1/t;

i+=2;

}while(fabs(1/t) >= 1e-5); printf(\ }

12. 编写一个程序求出300~500之间满足如下条件的数:它们三个数字之积为42,三个数

字之和为12。

#include #include

void main( ) { int x,a,b,c;

for(x=300;x<=500;x++){ a=x/100; b=x0/10; c=x;

if(a*b*c==42&&a+b+c==12) printf(\ } }

13. 输入一个实数x,一个整数n,输出xn的值(不使用pow函数)。

#include void main()

{ double x,t=1; int i,n;

printf(“Input x n:\\n”); scanf(\for(i=1;i<=n;i++)

t*=x;

printf(\

}

14. 编制程序,输入n个整数(n从键盘输入,n>0),输出它们中偶数的和。

#include void main()

{ int i,n,x,sum=0;

printf(“Input n:\\n”); scanf(\for(i=1;i<=n;i++){

scanf(“%d”,&x); if(x%2==0) sum+=x; }

printf(\ }

15. 编制程序,输入n个整数(n从键盘输入,n>0),输出它们中偶数的平均值。

#include void main()


大学C语言复习题_附答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:与高校建立对应专业人才培养及实习基地的实施方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: