C语言程序设计的试题及答案(779).docx

上传人:scccc 文档编号:14417003 上传时间:2022-02-05 格式:DOCX 页数:15 大小:24.37KB
返回 下载 相关 举报
C语言程序设计的试题及答案(779).docx_第1页
第1页 / 共15页
C语言程序设计的试题及答案(779).docx_第2页
第2页 / 共15页
C语言程序设计的试题及答案(779).docx_第3页
第3页 / 共15页
C语言程序设计的试题及答案(779).docx_第4页
第4页 / 共15页
C语言程序设计的试题及答案(779).docx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《C语言程序设计的试题及答案(779).docx》由会员分享,可在线阅读,更多相关《C语言程序设计的试题及答案(779).docx(15页珍藏版)》请在三一文库上搜索。

1、C语言程序设计的试题及答案7. #include int main() float x,y; scanf(%f,&x); switch(int)x/10) case 0: y=1.0; printf(y=%fn,y);break; case 1: y=2*x+1; printf(y=%fn,y);break; case 2: y=3*x*x+2; printf(y=%fn,y);break; default: printf(No definition.n); return 0; 输入:15.3 8. #include int main() char ch1=A,ch2=B; switch(ch

2、1) case A: switch(ch2) case B: printf(Good!n);break; case A: printf(Better!n);break; case B: printf(Best!n); break; return 0; 9.#include void main() float score; score = 100; if (score0) case 1: switch (b12 ? x + 10 : x - 12; return 0; 输入:12 17. #include int main() float x, y; char op; double r; sca

3、nf(%c%f%f,&op,&x,&y); switch(op) case +: r = x + y; break; case -: r = x - y; break; case *: r = x * y; break; case /: r = x / y; break; printf(%.1f, r); return 0; 输入:3.5 18. #include stdio.h void main( ) int a=7; if(a9 | a10) a=a%3; printf(a=%d, a); printf(%dn, y);a=a/3;else19. #include void main()

4、 int a=20; switch(a%3) case 0: printf(0); case 1: printf(1); case 2: printf(2); default: printf(3); printf(4); 20. #include void main() int a=2,b=5,c=8,t; if ( a b ) t = a; a = b; b = t; if ( b c ) t = b; b = c; c = t; if ( a b ) t = a; a = b; b = t; printf( %d,%dn, a+, -c ); 解答: 1. 运行结果: 9,7 2. a=1

5、,b=3 3. ch1= F 4. 3,5 5. m=21 6. ch3=D 7. y=31.600000 8. Good! Best! 9. A BC 10. * 11. q=35 12. *0*2* 13. *& 14. d=20 15. *1* 16. 0 17. 0.6 18. a=2 19. 234 20. 8,1 三.补充程序 1. 根据输入字符的 ASCII 码来判别字符的类别。由 ASCII 码表可知 ASCII 值小于 32 的为控制 字 符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之 间为小写字母,其余则为其它字符。 #includ

6、estdio.h #includestring.h int main() char c; printf(input a character: ); _ if(c=a&cb) _ _ else max=b;min=a; _ max=c; if(minc)_ printf(max=%dnmin=%d,max,min); return 0; 4. #includestdio.h int main() int a; printf(input integer number: ); scanf(%d,&a); _ case 1:printf(Mondayn);break; _ printf(Tuesday

7、n); break; case 3:printf(Wednesdayn);break; case 4:printf(Thursdayn);_ case 5:printf(Fridayn);break; case 6:printf(Saturdayn);break; case 7:printf(Sundayn);break; _ printf(errorn); return 0; 5. 判断 ab、aBn); _ printf(A#includestdio.h int main ( ) int x,c,m; float y; scanf(“%d”,&x); _c=-1; c=_; switch

8、(c) case 1 : y=0 ; break ; case 0 : y=x ; break ; case 1 : y=10 ; break ; case 2 : case 3 : y=-0.5*x+20 ; _;elsedefault : y=-2 ; if (c!=2) printf (“y=%f”,y); _ printf(“error!”); return 0; 7. 找出 x,y,z 三个数中的最小数,并判断该数是否等于 b。 #includestdio.h int main() int x=4,y=5,z=8 ,b; int u,v; scanf(%d,&b); u = x8.

9、输入两个运算数 x,y 和一个运算符号 op, 输出该运算结果的值, 例如输入 3+5得到结果 8 . #includestdio.h int main ( ) float x,y,r; char op ; scanf(%f,%c,%f,&x,&op,&y); switch (op) case +: r=x+y ; _; _ r=x-y ;break; case * :_;break; _ r=x/y; break; printf(%f,r); return 0; 9. 根据输入字符的 ASCII 码来判别字符的类别。由 ASCII 码表可知 ASCII 值小于 32 的为控制 字 符。 在“

10、0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之 间为小写字母,其余则为其它字符。 #includestdio.h int main() char c; printf(input a character: ); c=getchar(); _ printf(This is a control charactern); if(c=0&c=0&c=A&c=Z) else 2. char c; break; -: printf(%fn,a/b); 3. max=a; min=b; if(maxb) else if(ac=x/10; break; else 7. x:y;

11、u:z; (v=b) else 8. break; case -: r=x*y; case /: 9. if(c=A&c=a&c=z) else10. b:a c:u (v=x) else 四.改错题 解答: 五.编程一 1. 求分段函数的值, 输入 x 值,输出结果。 2. 从键盘上输入一个数 x,计算并输出下列分段函数 y 的值。3. 某运输公司运费计算时根据运输距离打折计算,折扣的计算方法如下:(其中,discount 表示折扣,S 表示运输距离) 。 编写一完整程序,输入运输距离,统计运费并输出。每公里的运费通过符号常量定义为 2 .5。 4. 编程输入一元二次方程的三个系数,求解一元

12、二次方程的实根,无实根时不用求虚根, 给出相应提示信息即可。 5. 给定三条边,判断其是否能构成三角形,若能构成,判断其是等腰三角形、等边三角形 、直角三角形还是普通三角形。 6. 从键盘输入一个三角形的三条边,判断是否能组成三角形,若能组成三角形,则输出它 的面积。7. 从键盘输入一个百分制的学生成绩,输出其对应的分数等级,其中 90100 为 A,80 89 为 B,7079 为 C,6069 为 D,60 以下为 E。 8. 编写一个程序,从键盘输入三个整数给 a,b,c,然后交换它们中的数,把 a 中原来的值 给 b,把 b 中原来的值给 c,把 c 中原来的值给 a。 9. 输入一个

13、字符,判断其是否为英文字母,若是英文字母,则将其大小写进行转换,若不 是英文字母,则不变。 10. 给定三个整数型 x,y,z,输出三个数中的最大值和最小值。 解答: 1. #include stdio.h #include math.h void main() float x,y; printf(input xn); scanf(%f,&x); if(x0) y=1; else if(x20|x1&x10) printf(无定义n); return; if(x0) y=-x; else if(x=10&x=20) y=x*x*x; printf(x=%5.1fy=%8.3fn,x,y); 3

14、. #include stdio.h#include math.h #define price 2.5 void main() float discount,cost,s; printf(input distancen); scanf(%f,&s); if(s250) discount=0; else if(s800) elsediscount=0.02; else if(s0) x1=(-b+sqrt(disc)/(2*a); /*求出两个不相等的实根*/ x2=(-b-sqrt(disc)/(2*a); printf(x1=%7.2f,x2=%7.2fn, x1, x2); else pr

15、intf(无实根n); 5. #include stdio.h void main() float a,b,c; printf(输入三条边:n); scanf(%f%f%f,&a,&b,&c); if(a+bc&a+cb&b+ca) if(a=b&b=c) printf(等边三角形n); else if(a=b|b=c|c=a) printf(等腰三角形n); else if(a*a=b*b+c*c|b*b=a*a+c*c|c*c=b*b+a*a) printf(直角三角形n); elseprintf(不能构成三角形 n); 6. #include stdio.h #include math.

16、h void main() float a, b, c, s, area; printf(输入三条边:n); scanf(%f%f%f,&a,&b,&c); if(a+bc&a+cb&b+ca) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%7.2fn,area); else printf(不能构成三角形 n); 7. #include void main() int score; char d; printf(Input scoren); scanf(%d,&score); if (score100|score=a&c1=A

17、&c1max) max=b; else if(bmax) max=c; else if(cletter: );printf(原字符:%c 转换后为:%cn,c1,c2);)、do-while 语句、() 。2. break 语句在 C 程序中只能出现在两种场合:一是用于( )语句中。)语句中,二是用于 (3. 以下程序段中的语句 printf(“*”)要执行 5 次,请在空白处填入合适的数 。 for( i=1;i=( );i=i+2 ) printf(“*”); 4. 定义 int k=10;执行语句 while(k20) k += 1 ; 后,k 的值为( 5. 在循环控制结构中 brea

18、k 语句的作用是( 6. 在循环控制结构中 continue 语句的作用是:( )。 )。 )。7. 若已知 int a55; 并在运行过程中 a 数组已经赋值;要打印次对角线元素,在空白处 填入合适的值/表达式; for (i = 0; i=0; j-) printf(%5d, aij); 8. 执行完语句 sum = 0; for (i = 0; i 10; i+) if (i % 5 = = 0) sum += i; sum = ( ) 。 9. 在使用 while 语句中需要注意,为了防止“死循环”的发生,在循环体中一定要有( )语句。 10. do-while 语句中,判断循环条件在

19、( ” ) ),执行循环体在 ( ) 。 (填“先” “后解答: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 二.阅读程序写结果 1. #include void main() int number , digit; number = 1234; while ( number != 0 ) digit = number%10 ;printf( %d , digit ) ; number = number / 10 ; 2. #include #define N 5 void main( ) int i; for(i=1;i void main( ) int i,s,x; s=

20、0; x=15; if (x%i=0) printf(i=%d,s=%dn,i,s); for(i=1;i=5;i+) s= s + i;4. #include void main() int counter=1; while(counter = 5) printf(%d n, counter ); counter+; 5. #include int main() int i,sum,m,a; sum=0; m=5; for(i=0;im) sum+=a; printf(sum=%dn,sum); return 0; 输入:2 10 8 36. #include int main() int

21、i,j,k; for(i=1;i=4;i+) for (j=1;j5-i;j+) printf( ); for(k=1;k=i;k+) printf(*); printf(n); return 0; 7. #include int main() int i,j; i=1; while(i5) for(j=1;j=0); printf(m=%d,n=%dn,m,n); return 0; 9. #include void main() int sum=0,n; scanf(%d,&n); while(n=5) sum+=n; n+; printf(sum=%d,sum); 输入:1 10. #i

22、nclude void main() int i, j; for(i=2;i=0;i-) for(j=1;j=i;j+) printf(*); for(j=0;j=2-i;j+) printf(!); printf(n); 11. #include void main() int a,b; for(a=1,b=1;a20) break; if(b%4=1) b=b+4; b=b-5; printf(a=%dn,a); 12. #include void main( ) continue; char k; int i; for(i=1;i3;i+) scanf(%c,&k); switch(k)

23、 case 0: printf(anothern); case 1: printf(numbern); 输入:01 13. #include int main() int i, s = 0; for(i = 1; i 10) break; printf(i=%d, s=%dn, i, s); return 0; 14. #include void main() char ch; while(ch=getchar()!=n) if (ch=A&ch=Z) ch=ch+32; ch=ch-32; 输入:ABCdefelse if (ch=a&ch=z) printf(%c,ch);15. #inc

24、lude int main () int a, b; for (a = 1, b = 1 ; a = 9) break; if (b % 3 = 1) b += 3 ; continue ; b -= 5; printf(%d,%dn, a, b); return 0; 16. #include int main () int i = 0,j = 0; while (i 10) i+; while (j+ 10) ; printf(i=%d,j=%dn,i,j); return 0; 17. #include stdio.h void main( ) int i,j,t; for(i=1,j=

25、10;i 4 ); 19. #include stdio.h void main() int i=7,j; while ( i 2)printf( %d,j );j = i%2; i-; printf( %d,i ); printf( %d,j );20. #include void main() int i,j,t=0; for(i=3;i0;i-) for(j=0;j4;j+) t+=j; printf(t=%d,t); 解答: 1. 4321 2. 1 4 9 16 3. i=6,s=9 4. 1 2 3 4 5 5. sum=18 6. * * * *7. # # # #8. m=25

26、,n=30 9. sum=15 10. *! *! ! 11. a=6 12. another number number 13. i=3, s=14 14. abcDEF 15. 4,10 16. i=10,j=11 17. 8,12 18. 010101 19. 101012 20. t=18 三.补充程序 1. 输出 100 以内能被 3 整除的数 #includestdio.h int main() _; for(_;n=100; _) if (n%3!=0) _ printf(%d ,n); return 0; 2. 输出 100 以内的素数。素数是只能被 1 和本身整除的数。为减少循环次数,只需对数 n用2 去除来判断该数是否素数。 #includestdio.h _ int main() int n,i,k; for(n=2;n=100; _) k=sqrt(n); for(i=2;i=k; 共8页: 上一页 1 2 3 4 5 6 7 8 下一页15

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1