答案-C语言考试系统题库答案.docx
《答案-C语言考试系统题库答案.docx》由会员分享,可在线阅读,更多相关《答案-C语言考试系统题库答案.docx(99页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、分类一1 .编写一程序P1-ULC实现以下功能x(x只考虑整数int且必须定义为int、但F(x)完全可能超过int的表示范围)通过键盘输入(输入前给出提示Please input x:),然后计算并在屏幕上输出国数值。注意,图1中的括号不是而是0,编程可用素材:printf (*Please input x:*).0r -5x+27(x0)程序的运行效果应类似地如图1所示,图1中的3是从键盘输入的内容。尹命令提示符回回iPlease input x:3 F=5.14l 习)include int main(void)(int x; double y;printf(*Please input
2、x:*); scanf(*%d*,&x);if (x 0)(y =(double)2* x -1;) else (if (x =0)( y =(double)7909; else (y =(double)-5* x +27;)printf (*nF (%d)=%.x, y);return 0;2. Pl-113已知某银行整存整取存款不同期限的年息利率分别为:3.15%期限一年,3.63%期限二年,4.02%期限三年,4.69%期限五年,5.36%期限八年。从键盘上输入存钱的本金(以元为单位,必须定义为int且应考虑金额很大的情况)和存款期限(只考虑1,2,3,5,8),求到期时能从银行得到的利
3、息(以元为单位,应考虑有小数,不计复利)。编程可用素材: printf (*nPlease input benj in, cunqi:)、printf (*nl ixi =. yuan*. o程序的运行效果应类似地如图1所示,图1中的10000,8是从键盘输入的内容。ttinclude int main(void)(int benjin, cunqi;double lixi;double money;printf(*nPlease input benjin, cunqi:*): scanf(*%d,%d*,&benjin,&cunqi);money = benjin;if ( cunqi =1
4、)(lixi = money * cunqi *3.15/100;else(if ( cunqi =2)(lixi = money * cunqi *3.63/100;)else(if ( cunqi =3)lixi = money * cunqi *4.02/100; else if ( cunqi =5)lixi = money * cunqi *4.69/100;elseif ( cunqi =8)(lixi = money * cunqi *5.36/100;)printf(*nlixi =%.2f yuann*, lixi);return 0;)3. Pl-114编写一个简单计算器程
5、序,输入格式为:datal op data20其中datal和data2是参加运算的两个数(datal、data2必须定义为int,但二者相加可能超出int能表示的范围),op为运算符,它的取值只能是+、-、*、/、%o程序的运行效果应类似地如图1、图2、图3、图4所示,图1中的3000+2000、图2中的3000%2000、图3中的3000%0和图4中的3000/0是从键盘输入的内容。ftinclude int main( void ) int datal, data2; double jieguo; char op;printf(*nPlease input datal op data2:
6、); scanf(%d %c %d”, &datal, &op, &data2);switch ( op )case + :jieguo = ( double ) datal printf Crn%d%c%d=%. Ofn”, break;,, case -:jieguo = ( double ) datal printf(*n%d%c%d=%. Ofn”, break;case :jieguo = ( double ) datal printf(*n%d%c%d=%. Ofn”, break;case /:if ( data2 != 0 )+ data2;datal, op, data2,-
7、data2;datal, op, data2,* data2;datal, op, data2,jieguo);jieguo);jieguo);jieguo =( double ) datal / data2;printf(*n%d%c%d=%. Ofn*, datal, op, data2, jieguo); break; else(printf(*nError! chu shu wei 0.n); break;case :if ( data2!=0)jieguo = datal % data2;printf(*n%d%c%d=%. Ofn*, datal, op, data2, jiegu
8、o); break;)elseprintf(*nError! chu shu wei 0.n*);break;default:printf(*nError!n*);)return 0;)4.输入月份,打印2003年该月有几天。当输入的月份超范围时,应显示“Invalid month input”。程序的运行效果应类似地如图1和图2所示,图1中的4和图2中的13是从键盘输入的内容。#include int main( void )(int month;int day;printf(*nplease input the month number:*); scanfftmonth);switch (
9、 month )(case 1:case 3:case 5:case 7:case 8:case 10:case 12:day =31;printf (*n2003.%d has %d days.n, month, day);break;case 4:case 6:case 9:case 11:day =30;printf (*n2003.%d has %d days.n*, month, day);break;case 2:day =28;printf Cn2003.%d has %d days.n, month, day);break;default:printfCnlnvalid mon
10、th inputn*);)return 0;5.已知某公司员工的保底薪水为500,某月所接工程的利润profit (整数)与利润提成的关系如下(计量单位:元):profit1000没有提成;1000 prof it2000提成10%;2000 profit5000提成15%;5000 prof it10000提成20%;10000profit25%。请根据输入的利润计算员工的薪水。程序的运行效果应类似地如图1所示,图1中的2000是从键盘输入的内容。#include int main( void )int profit;double salary =500;printf(*nlnput pro
11、fit:*);scanf(*%d*, ftprofit);if ( profit 1000& profit 2000& profit 5000& profit 10000)(salary = salary + profit *0.25;printf(*salary=%.2fn*, salary);return 0;6.编写一程序P7-708. C实现以下功能输入一个三位正整数,然后逆序输出。如输入123,则输出321。程序的运行效果应类似地如图1所示,图1中的752是从键盘输入的内容。lid#include#include/int main(void)int num, i;char str4;
12、printf(Input an integer:*);scanf(%d”,&num);itoa(num, str,10);printf(*The result is *);for(i =2; i =0; i)(printfstri);)printf(*n*);return 0;*/int main(void)(int num;printf(*Input an integer:*);scanf&num);printf(*The result is );do(printfnum%10);num = num/10: while (num);printf(n);return 0;)7.编写一程序P7-
13、713.C实现以下功能用scanf输入某年某月某日,判断这一天是这一年的第几天?以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。注:判断年份是否为闰年的方法一一为400的倍数为闰年,如2000年;若非100的倍数,而是4的倍数,为闰年,如1996年。程序的运行效果应类似地如图1所示,图1中的2000-3-1是从键盘输入的内客。立命令提示符回Please input : yeai*-nonth-day 2000-3-1It is the 61th day.#includeint main(void)(int ye, mo,
14、da, sum =0, i;int mday13=0,31,28,31,30,31,30,31,31,30,31,30,31);printf(Please input: year-month-dayn);scanf(*%d-%d-%d*,&ye,&mo,&da);for (i =1; i 2)(sum+;)sum = sum + da;printf(*It is the %dth day.n*, sum);return 0;8 . P7-723.C输入三角形的三边长a、b、c (边长可以是小数),求三角形面积area,并输出。如果输入的三边构不成三角形,应给出data error的信息提示。注
15、:根据海伦-秦九韶”公式,area =a/p(P-a)(p-b)(p-c),其中 p =(a+b+c)/2O程序的运行效果应类似地如图1和图2所示,图1中的3,4,5和图2中的3,4,8是从键盘输入的内容。include #include int main( void )double aa, bb, cc, pp, ss, tt;printf(*nplease input triange sides:*);scanf (*%lf,%lf,%lf*,&aa,&bb,&cc);if ( aa + bb cc )&( aa + cc bb )&( bb + cc aa )(pp =( aa + bb
16、 + cc )/2;tt = pp *( pp - aa )*( pp - bb )*( pp - cc );ss = sqrt( tt ):printf(*narea=%.21fn*, ss);else(printf(ndata errorn*);)return 0;9 .7-731输出n行星号,每行5个*星号。程序的运行效果应类似地如图1所示,图1中的4是从键盘输入的内容。ttinclude int main( void )(int nn, i;printf(*nplease input n:);scanf&nn);for ( i =1; i = nn; i+)(printf C*n*);
17、)return 0;)10 .编写一程序P7-736. C实现以下功能从键盘上输入一个四位整数,计算各个位上的数字之和。程序的运行效果应类似地如图1所示,图1中的1234是从键盘输入的内容。#include int main(void)int num, sum =0;printf(Input a number with 4-digit:); scanf&num);do(sum = sum + num %10;num = num /10; while (num);printf(*sum=%dn*, sum);return 0;)11 .从键盘输入3个整数,输出绝对值最大的数。程序的运行效果应类似
18、地如图1所示,图1中的1,2,3是从键盘输入的内容。#includeint ab(int x);int main(void)(int num3, i, j;printf(*Input 3 numbers:*);scanf (*%d,%d,%d*,&num0,&numl,&num2);j =0;for (i =1: i 3; i+)(if (ab(numj)=0)return x;return12 .设某企业2006年的产值为5000万,计划以后每年的增长率为x (x从键盘输入,例如输入8.75表示8.75%),计算该企业的产值在哪年实现翻番以及翻番时的产值,然后输出(输出时以万为单位,应考虑有
19、小数)。程序的运行效果应类似地如图1所示,图1中的50是从键盘输入的内容。#include int main(void)(float chanzhi =5000, xx;int year =2006;printf(*nPlease input x:*);scanf(*%f*,&xx);while ( chanzhi 10000)chanzhi = chanzhi *(1+ xx /100);year+;printf(*nyear =%d nian, chanzhi =%.2fn”, year, chanzhi);return 0;13 .编写一程序P2-221. C实现以下功能从键盘读入一个字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答案 语言 考试 系统 题库
限制150内