第4章 分支程序设计
1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。 #include int main() { int x; scanf(\ for (;x;scanf(\ { if ( x > 0) { printf(\ } else { printf(\ } } return 0; }
2.输入一批数,输出比相邻数大的数,当输入0时结束。 #include int main() { int a; int b = 0; scanf(\ b = a; for (;a;scanf(\ { if (a > b) { printf(\ } b = a; } return 0; }
3.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。 #include int main() {
char c; while ((c = getchar()) != '\\n') { if (c >= 'A' && c <= 'Z') { c+=32; } putchar(c); } return 0; }
4.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。
#include int main() { char c; int dx = 0,xx = 0,sz = 0,qt = 0; while ((c = getchar()) != '\\n') { if (c >= 'A' && c <= 'Z') { dx++; } else if (c >= 'a' && c <= 'z') { xx++; } else if (c >= '0' && c <= '9') { sz++; } else { qt++; } } printf(\包含大写字母%d个,小写字母%d个,数字%d个,其他字符%d个.\\n\ return 0; }
5.编写程序,计算分段函数:
??x?5x?1?y??2x1?x?10
?3x?10??x?10
#include int main() { double x,y; scanf(\ if (x <= 1) { y = x + 5; } else if (x < 10) { y = 2 * x; } else { y = 3/(x-10); } printf(\ return 0; }
6.根据输入的百分制按五分制的成绩输出。百分制与五分制之间的关系见下表。
百分制 90 ~ 100 80 ~ 89 70 ~ 79 60 ~ 69 <60
#include int main() { int a; scanf(\ if (a > 90) { printf(\
五分制 5 4 3 2 1 } else if (a > 80) { printf(\ } else if (a > 70) { printf(\ } else if (a > 60) { printf(\ } else { printf(\ } return 0; }
7、用switch完成:读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。 #include #include int main() { int a,b; scanf(\ switch(a) { case 1:printf(\ case 2:printf(\ case 3 :printf(\ default:printf(\ } return 0; }
8、用switch完成:输入星期1 到星期5,输出它们对应的颜色
星期1:blue 星期2:red 星期3:white 星期4:yellow 星期5:green
#include int main() { int a; scanf(\ switch(a) { case 1:printf(\星期一:blue\\n\ case 2:printf(\星期二:red\\n\ case 3:printf(\星期三:white\\n\ case 4:printf(\星期四:yellow\\n\ case 5:printf(\星期五:green\\n\ default:printf(\ } return 0; }
9、用switch完成:从键盘输入A、B、C、D四个等级中的一个,转化输出
等级 A B C D E
#include int main() { char a; scanf(\ switch(a) { case 'A':printf(\优秀\\n\ case 'B':printf(\良好\\n\ case 'C':printf(\中等\\n\ case 'D':printf(\及格\\n\ case 'E':printf(\不及格\\n\ default:printf(\ } return 0; }
输出 优秀 良好 中等 及格 不及格