Res - 2009春学期C语言上机练习参考答案汇总(3)

2019-04-23 22:33

C程序设计 2009春学期 上机练习M2-M8参考答案

40015 求最小值

输入一个正整数repeat (0

输入一个正整数n, 再输入n个整数,输出最小值。 输入输出示例:括号内是说明 输入

3 (repeat=3) 4 -2 -123 100 0 4 -9 -1 1 -8 3 5 3 1 输出 min = -123 min = -9 min = 1

#include int main(void) { int i, min, n, x; int repeat, ri; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ #include #include int main(void) { int a, i, n, sn, tn; int ri, repeat; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ sn=0; tn=0; for (i=0; i

第5周(M5)

30001 求一元二次方程的根

输入一个正整数repeat (0

输入参数a,b,c,求一元二次方程a*x*x+b*x+c=0的根,结果保留2位小数。 输出使用以下语句:

printf(\参数都为零,方程无意义!\\n\printf(\和b为0,c不为0,方程不成立\\n\printf(\

printf(\printf(\printf(\sqrt(-d)/(2*a));

printf(\sqrt(-d)/(2*a));

输入输出示例:括号内为说明 输入:

5 (repeat=5)

scanf(\ min=x; for(i=1;ix) min=x; } /*---------*/ printf(\ } }

40018 求a+aa+aaa+aa…a

提示: 第i项通项: tn = a + a * 10 + a * 100 … +a * 10^( n-1) = t(n-1) + a * 10^(n-1) 11

C程序设计 2009春学期 上机练习M2-M8参考答案

0 0 0 (a=0,b=0,c=0) 0 0 1 (a=0,b=0,c=1) 0 2 4 (a=0,b=2,c=4) 2.1 8.9 3.5 (a=2.1,b=8.9,c=3.5) 1 2 3 (a=1,b=2,c=3) 输出:

参数都为零,方程无意义! a和b为0,c不为0,方程不成立 x = -2.00 x1 = -0.44 x2 = -3.80 x1 = -1.00+1.41i x2 = -1.00-1.41i #include #include int main(void) { int repeat, ri; double a, b, c, d; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\b, &c); d=b*b-4*a*c; if(a==0){ if(b==0){ if(c==0){ printf(\参数都为零,方程无 printf(\= %0.2f\\n\(-b-sqrt(d))/(2*a)); } else{ printf(\= %0.2f+%0.2fi\\n\ printf(\= %0.2f-%0.2fi\\n\ } } } }

30002 求分段函数的值

输入一个正整数 repeat (0

输入一个整数 x,计算并输出下列分段函数 sign(x) 的值。

-1 x < 0

x = 0 x > 0

y = sign(x) = 0

1

输入输出示例:括号内是说明 输入

3 (repeat=3) 10 (x=10) 0 (x=0) -98 (x=-98) 输出

sign(10) = 1 (x = 10时 y = 1)

意义!\\n\ } else{ printf(\和b为0,csign(0) = 0 (x = 0时 y = 0) sign(-98) = -1 (x = -98时y = -1)

#include 不为0,方程不成立\\n\ } else{ if(d>=0){ printf(\= %0.2f\\n\ } else{ } printf(\} int main(void) { int repeat, ri; int x, y; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ if(x==0) y=0; (-b+sqrt(d))/(2*a)); else if(x>0) y=1; 12

C程序设计 2009春学期 上机练习M2-M8参考答案

else y=-1; 五级制成绩对应的百分制成绩区间为:A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59),如果输入不正确的成绩,显示\。 输出使用以下语句: printf(\printf(\printf(\printf(\printf(\

printf(\

输入输出示例:括号内是说明 输入

6ABCDEj (repeat=6,输入的五级成绩分别为A、B、C、D、E和无效的字符j) 输出 90-100 80-89 70-79 60-69

0-59

Invalid input #include int main(void) { (输入数据不合法)

printf(\ } }

30003 分类统计字符

输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

输入输出示例:括号内是说明 输入 Reold 123? 输出

letter = 5, blank = 1, digit = 3, other = 1

#include int main(void) { char c; int blank, digit, i, letter, other; blank = digit = letter = other = 0; for(i = 1; i <= 10; i++){ c = getchar(); } printf(\= %d, blank = %d, digit = %d, other = %d\\n\, blank, digit, other); }

30004 显示五级记分制成绩所对应的百分制成绩区间(使用switch)

输入一个正整数 repeat (0

输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用switch语句。

if(c==' ') blank ++; else else else other ++; if(c>='0'&&c<='9') digit ++; if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) letter ++; char ch; int repeat, ri; scanf(\ for(ri = 1; ri <= repeat; ri++){ ch = getchar(); switch(ch){ case'A': printf(\ break; case'B': printf(\ break; case'C': printf(\ break; case'D': printf(\break; 13

C程序设计 2009春学期 上机练习M2-M8参考答案

} case'E': printf(\break; printf(\ printf(\ printf(\ printf(\ printf(\ scanf(\ if(choice == 0) break; else{ switch (choice){ case 1: price= 3.00; break; default: } printf(\ break; return 0; }

30005 显示水果的价格(使用switch)

查询水果的单价。有4种水果,苹果(apples)、梨(pears)、桔子(oranges)和葡萄(grapes),单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤和10.20元/公斤。

在屏幕上显示以下菜单(编号和选项),用户可以连续查询水果的单价,当查询次数超过5次时,自动退出查询;不到5次时,用户可以选择退出。

当用户输入编号1~4,显示相应水果的单价(保留1位小数);输入0,退出查询;输入其他编号,显示价格为0。 输入输出示例:括号内是说明 输入

3 (oranges的编号) 0 (退出查询) 输出 [1] apples [2] pears [3] oranges [4] grapes [0] Exit price = 4.1 [1] apples [2] pears [3] oranges [4] grapes [0] Exit

#include int main(void) { int choice, i; double price; for(i = 1; i <= 5; i++){ case 2: price=2.50; break; case 3: price=4.10; break; case 4: } price=10.20; break; } } }

printf(\30007 求三角形的面积和周长

输入一个正整数 repeat (0

输入三角形的3条边 a, b, c,如果能构成一个三角形,输出面积 area 和周长 perimeter(保留2位小数);否则,输出\。 在一个三角形中,任意两边之和大于第三边。三角形面积计算公式:area = (s(s-a)(s-b)(s-c))^0.5 ,其中s = (a+b+c)/2

输出使用以下语句:

printf(\perimeter);

printf(\triangle\\n\

输入输出示例:括号内是说明

14

C程序设计 2009春学期 上机练习M2-M8参考答案

输入

2 (repeat=2) 5 5 3 1 4 1 输出

area = 7.15, perimeter = 13.00

These sides do not correspond to a valid triangle

#include #include int main(void) { int a, b, c; int repeat, ri; double area, perimeter, s; scanf(\ for(ri = 1; ri <= repeat; ri++){ scanf(\ if ((a+b>c)&& (a+c>b) && (b+c>a) ){ perimeter=a+b+c; s=(a+b+c)/2.00; area =sqrt(s*(s-a)*(s-b)*(s-c)); printf(\= %.2f, perimeter (a=5,b=5,c=3) (a=1,b=4,c=1)

输入输出示例:括号内是说明 输入

5 (repeat=5) 1010.87 (salary=1010.87) 32098.76 (salary=32098.76) 800 (salary=800) 4010 (salary=4010) 2850 (salary=2850) 输出 tax = 8.04 tax = 6249.75 tax = 0.00 tax = 474.00 tax = 200.00

#include int main() { printf(\sides do not correspond to scanf(\ for(ri=1; ri<=repeat; ri++) { scanf(\ if (salary<=850) { } else if (salary<=1350) { rate=0.05; tax=rate*(salary-850); } else if (salary<=2850) { rate=0.10; tax=rate*(salary-850); } else if (salary<=5850) rate=0; tax=rate*(salary-850); int ri, repeat; double rate, salary, tax; = %.2f\\n\ } else a valid triangle\\n\ } }

30008 计算个人所得税

输入一个正整数 repeat (0

输入一个职工的月薪 salary,输出应交的个人所得税 tax(保留2位小数)。

计算公式:tax = rate * (salary - 850) 当 salary ≤850 时,rate = 0

当 850 < salary ≤ 1350 时,rate = 5% 当 1350 < salary≤ 2850 时,rate = 10% 当 2850 < salary ≤ 5850 时,rate = 15% 当 5850 < salary 时,rate = 20%

15


Res - 2009春学期C语言上机练习参考答案汇总(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:单元评价检测(二)(第二单元 生物体的结构层次)

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

马上注册会员

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