东北大学机械学院C语言考试题库及答案 联系客服

发布时间 : 星期日 文章东北大学机械学院C语言考试题库及答案更新完毕开始阅读2adbe08f1eb91a37f0115c78

printf(“has complex roots:\\n”);

printf(“% 8.4f +%8.4fi\\n”,realpart,imagpart); printf(“% 8.4f -%8.4fi\\n”,realpart,imagpart); } } }

16题目:给出一个不多于5位的正整数,求出它是几位数,分别打印出每一位数字,然后再按逆序打印出各位数字。 main( )

{long a,b,c,d,e,x; scanf(\

a=x/10000;/*分解出万位*/

b=x000/1000;/*分解出千位*/ c=x00/100;/*分解出百位*/ d=x0/10;/*分解出十位*/ e=x;/*分解出个位*/ if (a!=0)

printf(\else if (b!=0)

printf(\else if (c!=0)

printf(\else if (d!=0)

printf(\else if (e!=0)

printf(\}

17题目:从键盘输入一个百分制成绩,将其转换为等级'A'、'B'、'C'、'D'、'E'后输出成绩。转换规则为:90分以上为'A';80~89分为'B';70~79分为'C';60~69分为'D'; 60分以下为'E'。 main()

{int number,md; char c1;

scanf(\md=number/10; switch(md) {case 10:

case 9: c1='A';break; case 8: c1='B';break;

case 7: c1='C';break; case 6: c1='D';break; case 5: case 4: case 3: case 2: case 1:

case 0: c1='E';break; }

printf(\}

18题目:某运输公司规定路程越远,每公里运费越低,对用户计算运费标准如下:1)当S<250km时,没有折扣;2)当250≤S<500时,折扣为2%;3)当500≤S<1000时,折扣为5%;4)当10000≤S<2000,折扣为8%;5)当2000≤S,折扣为10%。从键盘输入路程和货物重量,计算并输出相应的运费。 main() {int c,s;

float p,w,d,f;

scanf(“%f,%f,%d”,&p,&w,&s); if (s>=2000) c=10; else c=s/250; switch(c)

{ case 0:d=0;break; case 1:d=2;break; case 2:

case 3:d=5;break; case 4: case 5: case 6:

case 7:d=8;break; case 8: d=10;break; }

f=p*w*s*(1-d/100.0);

printf(“freight=% 15.4f ”,f); }

19题目:某企业利润提成的规则如下:1)利润低于或等于10万元的,可提成奖金;2)利润高于10万元,低于20万元时,低于10万元的部分按提成,另外部分可以提成7.5%;3)利润高于20万低于40万元的,其中20万元按前面的方法发放,另外的部分按5%提成;4)利润高于40万元的,40 万元按前面的方法提成,高于部分按3%提成。从键盘输入利润,输出应发的提成。 解法一:

#include “stdio.h” main()

{int pf; float? pr;

printf(“\\n请输入利润总数(单位:万元):”); scanf(“%d”,&pf); if(pf<=10) pr=pf*0.10; else if(pf<20)

pr=10*0.10+(pf-10)*0.075; else if(pf<40)

pr=10*0.10+10*0.075+(pf-20)*0.05; else

pr=10*0.10+10*0.075+20*0.05+(pf-40)*0.03; printf(“\\n应发的奖金是:%f万元.”,pr); }

解法二

/*用switch语句*/ #include “stdio.h” main()

{int pf; float? pr;

printf(“\\n请输入利润总数(单位:万元):”); scanf(“%d”,&pf); switch(pf/10)

{case 0: pr=pf*0.10; break;

case1: pr=10*0.10+(pf-10)*0.075; break; case2:

case3: pr=10*0.10+10*0.075+(pf-20)*0.05; break; default: pr=10*0.10+10*0.075+20*0.05+(pf-40)*0.03; }

printf(“\\n应发的奖金是:%f万元.”,pr); }

20题目:已知银行整存整取存款不同期限的月息利率分别为:0.315% 期限一年;0.330% 期限二年;月息利率 = 0.345% 期限三年;0.375% 期限五年;0.420% 期限八年。要求输入存钱的本金和期限,计算到期时能从银行得到的利息与本金的合计。 #include main( ) {int year;

float money,rate,total; /* money:本金 rate:月利率 total:本利合计*/ printf(\;

scanf(\; /* 输入本金和存款年限 */ if(year==1) rate=0.00315; /* 根据年限确定利率 */ else if(year==2) rate=0.00330; else if(year==3) rate=0.00345; else if(year==5) rate=0.00375; else if(year==8) rate=0.00420; else rate=0.0;

total=money + money * rate * 12 * year; /* 计算到期的本利合计 */ printf(\; }

21题目:利用switch语句完成两个浮点数的四则运算(数与运算符又键盘给入)。 #include main() {float a,b; char c;

printf(“\\n please input num:\\n”); scanf(“%f%f”,&a&b);

printf(“please input ?+? ?-? ?*? ? /?:”); scanf(“\\n%c”,&c); switch(c)

{case ?+?:printf(“%.0f+%.0f=%.2f”,a,b,a+b); break;

case ?-?:printf(“%.0f-%.0f=%.2f”,a,b,a-b); break;

case ?*?:printf(“%.0f*%.0f=%.2f”,a,b, a*b); break;

case ?/?:if(b!=0)

printf(“%.0f/%.0f=%.2f”,a,b,a/b); break;

default:printf(“\\n????\\n”); }

getchar(); }

22题目:利用键盘输入某年某月某日,判断并输出这一天是这一年的第几天。 #include \#include main( )

{ int day,month,year,sum,leap;

printf(\scanf(\

switch(month)/*先计算某月以前月份的总天数*/ { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break;