C语言程序设计第四版答案.docVIP

  • 71
  • 0
  • 约6.48千字
  • 约 11页
  • 2020-11-07 发布于江苏
  • 举报
第四章 4.1 什么是算术运算?什么是关系运算?什么是逻辑运算? 解:略。 4.2 C语言中怎样表示“真”和“假”?系统怎样判定一个量“真”和“假”? 解:设有一个逻辑表示式,若其结果为“真”,则以1表示;若其结果为“假”,则以0表示。不过判定一个逻辑量值时,以0代表“真”,以非0代表“假”。比如35值为“真”,系统给出35值为1。 4.3 写出下面各逻辑表示式值。设a=3,b=4,c=5。 (1) a+bcb==c (2) a||b+cb-c (3) !(ab)!c||1 (4) !(x=a)(y=b)0 (5) !(a+b)+c-1b+c/2 解: (1) 0 (2) 1 (3) 1 (4) 0 (5) 1 4.4 有3个整数a、b、c,由键盘输入,输出其中最大数。 解: 方法一 #include stdio.h main() { int a,b,c; printf(请输入3个整数:); scanf(%d,%d,%d,a,b,c); if(ab) if(bc) printf(max=%d\n,c); else printf(max=%d\n,b); else if(ac) printf(max=%d\n,c); else printf(max=%d\n,a); } 方法二:使用条件表示式,能够使程序愈加简明、清楚。 程序以下: #include stdio.h main() { int a,b,c,temp,max; printf(请输入3个整数:); scanf(%d,%d,%d,a,b,c); temp=(ab)?a:b; /* 将a和b中大者存人temp中 */ max=(tempc)?temp:c; /* 将a和b中大者和c比较,取最大者*/ printf(3个整数最大数是%d\n”,max); } 4.6有一函数: 写一程序,输入x值,输出y值。 解: #include stdio.h main() {int x,y; printf(输入x:); scanf(%d,x); if(x1) /* x1 */ { y=x; printf(x=%3d, y=x=%d\n,x,y); } else if (x10) /* 1≤x-10 */ { y=2*x-1; printf(x=%3d, y=2*x-1=%d\n,x,y); } else /* x≥10 */ { y=3*x-11; printf(x=%3d, y=3*x-11=%d\n,x,y); } } 4.8给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。 解: 程序以下: #include stdio.h main() { float score; char grade; printf(请输入学生成绩:); scanf(%f,score); while(score100||(score0) { printf(\n输入有误,请重新输入:); scanf(%f,score); } switch((int)(score/10)) { case 10: case 9: grade=’A’;break; case 8: grade=’B’;break; case 7: grade=’C’;break; case 6: grade=’D’;break; case 5: case 4: case 3: case 2: case 1: case 0: grade=’E’; } printf(成绩是%5.1f,对应等级是%c。\n,score,grade); } 说明:对输入数据进行检验,如小于0或大于100,要求重新输入。(int)(score/10)作用是将 (score/10) 值进行强制类型转换,得到一个整型值。 4.9 给定一个不多于5位正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数字。比如原数为321,应输出123。 解: #include stdio.h main() { long int num; int indiv,ten,hundred,thousand,ten_thousand,place; /*分别代表个

文档评论(0)

1亿VIP精品文档

相关文档