第4章 第5、6节:程序举例与C语言趣味程序实例4(练习)-《C语言程序设计》(电子工业出版社)上好课

2026-04-29
| 2份
| 29页
| 33人阅读
| 0人下载

内容正文:

4.5、4.6节:程序举例与C语言趣味程序实例4 一、单项选择题 1.以下代码输出结果为( ) int x = 10; if (x > 5) if (x < 15) printf("A"); else printf("B");} else printf("C"); A. A B. B C. C D. 无输出 2.若变量ch为字符'a',以下代码输出结果为() char ch = 'a'; if (ch >= 'a' && ch <= 'z') putchar(ch - 32); else if (ch >= 'A' && ch <= 'Z') putchar(ch + 32); else putchar(ch); A. a B. A C. Z D. 报错 3.以下switch语句中,若score = 85,输出结果为() int score = 85; switch (score / 10) { case 8: printf("A"); break; case 9: printf("B"); break; default: printf("C"); } A. A B. B C. C D. 编译错误 4.以下代码中,若输入x = 20,输出结果为() int x; scanf("%d", &x); if (x % 2 == 0) if (x % 5 == 0) printf("Yes"); else printf("No1"); else printf("No2"); A. Yes B. No1 C. No2 D. 无输出 5.以下代码中,若ch为字符'3',输出结果为() char ch = '3'; switch (ch) { case '1': case '2': case '3': printf("Low"); break; case '4': case '5': case '6': printf("Mid"); break; default: printf("High"); } A. Low B. Mid C. High D. 编译错误 6.在switch语句中,case后的常量表达式() A. 只能是整型常量表达式 B. 可以是任意类型的常量表达式 C. 只能是字符型常量表达式 D. 可以是变量表达式 7.以下关于if-else语句的说法,错误的是() A. 一个if可以没有对应的else B. 一个else必须对应一个if C. 多个if可以共用一个else D. if-else语句可以嵌套使用 8.以下关于条件运算符"?:"的说法,正确的是() A. 它是C语言中唯一的三目运算符 B. 它的优先级高于所有算术运算符 C. 它不能嵌套使用 D. 它的结合性是从右到左 9.以下程序段的输出结果是() int a = 5, b = 10; if (a++ > 5 && b-- > 5) printf("A: %d %d", a, b); else printf("B: %d %d", a, b); A. A: 6 9 B. A: 6 10 C. B: 6 10 D. B: 6 9 10.以下代码段中,与其他三个功能不同的是( ) A. if (x) a = 1; else a = 0; B. a = (x != 0); C. a = (x) ? 1 : 0; D. a = -1; if (!x) a = 0; 二、填空题。 1.表达式5 > 3 > 1的值是___________。 2.表达式!5 + 3的值是___________。 3.设int x=5;,表达式x%2==0?x/2:x*2的值是___________。 4.表达式5>3 && 2 || 8<4-!0的值是___________。 5.设int a=1,b=2,c=3,d=4;,表达式a<b?a:c<d?c:d的值是___________。 6.设int a=3,b=4,c=5;,表达式!(a+b)+c-1 && b+c/2的值是___________。 7.设int m=5,n=10;,表达式(m > n) ? m++ : (n > 5) ? n-- : m+n的值是___________。 8.设int a=2,b=3;表达式(a=4)&& (b=5) || (a=6)的值是_____,执行后a=_____,b=______。 9.设int a=3,b=4,c=5;,表达式a + b > c && b == c的值是___________。 10.表达式(3 + 4 > 6) && (2 * 3 == 6) || (5 - 2 < 3)的值是___________。 三、阅读程序题。 1.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int x = 7, y = 3; if (x > y) if (x % 2 == 0) printf("Even"); else printf("Odd"); else { switch (y) { case 1: printf("One"); break; case 3: printf("Three"); break; default: printf("Other"); } } } 2.若输入n = 1234,以下代码输出结果为:________________。 #include <stdio.h> main() { int n; scanf("%d", &n); if (n / 1000 == 1) if (n % 10 == 4) printf("Yes"); else if (n / 100 == 23) printf("No"); else printf("Maybe"); } 3.若输入字符ch = 'G',以下代码输出结果为:________________。 #include <stdio.h> main() { char ch; scanf("%c", &ch); if (ch >= 'A' && ch <= 'Z') if (ch == 'G' || ch == 'P') putchar(ch); else putchar(ch + 1); else putchar(ch - 1); } 4.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 1, b = 1; if (a++ || b++) printf("T: %d %d", a, b); else printf("F: %d %d", a, b); } 5.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 1, b = 2, c = 3, d = 4; if (a > b && c++ > d) printf("A: %d %d %d %d ", a, b, c, d); else if (a < b || d++ > c) printf("B: %d %d %d %d ", a, b, c, d); else printf("C: %d %d %d %d ", a, b, c, d); if (c > d ? a < b : b > a) printf("Conditional true "); else printf("Conditional false "); } 6.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int x = 5, y = 3, z = 2; switch (x - y) { case 1: printf("Case 1: "); switch (z) { case 1: printf("Z=1 "); break; case 2: printf("Z=2 "); case 3: printf("Z=3 "); break; default: printf("Z default "); } break; case 2:printf("Case 2: "); if (z == 2) printf("Z is 2 "); else if (z == 3) printf("Z is 3 "); else printf("Z is other "); break; default: printf("Default case "); } printf(" End of switch "); if ((x > y) ? (y > z) : (x < z)) printf("Nested conditional true "); else printf("Nested conditional false "); } 7.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 0, b = 1, c = 2, d = 3; if (a++ && ++b || c-- && --d) printf("First: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); else printf("Second: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); if ((a = b) > (c = d) ? a + b : c + d) printf("Third: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); else printf("Fourth: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); switch (a + b + c + d) { case 0:case 1:case 2:case 3:case 4:case 5: printf("Sum 0-5 "); break; case 6:case 7:case 8:case 9:case 10: printf("Sum 6-10 "); break; default: printf("Sum >10 "); } } 8.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 3, b = 4, c = 5,d; if (a++ > 3 && ++b < 5 || c-- > 4) printf("Path 1: a=%d, b=%d, c=%d ", a, b, c); else printf("Path 2: a=%d, b=%d, c=%d ", a, b, c); d = (a > b) ? (b > c) ? 10 : 20 : (c > a) ? 30 : 40; switch (a + b - c) { case 1: printf("Case 1: "); if (d > 15) printf("d>15"); else printf("d<=15"); break; case 2: printf("Case 2: "); switch (d % 3) { case 0: printf("d mod 3=0"); break; case 1: printf("d mod 3=1"); break; case 2: printf("d mod 3=2"); break; } break; default: printf("Default: a+b-c=%d", a+b-c); } } 9.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 5, b = 3, c = 2; int result = 0; if (a > b) if (b > c) result = 1; else result = 2; else if (a > c) result = 3; else result = 4; printf("Result: %d ", result); switch (result) { case 1: printf("Path A "); break; case 2: printf("Path B "); break; case 3: printf("Path C "); break; default: printf("Path D "); }} 10.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int p = 2, q = 3, r = 4; int result = 0; if (p > q) result = 10; else if (q > r) result = 20; else if (r > p + q) result = 30; else result = 40; printf("Result: %d ", result); int check = (result > 25) ? 1 : 2; printf("Check: %d ", check); if (check == 1 && result != 40) printf("Condition met "); else printf("Condition not met ");} 四、程序填空题(根据题意,将空缺的语句补上) 1.以下代码实现输入字符转换为对应ASCII码,若输入字符为'5',请在横线处填入正确条件: char c; scanf("%c", &c); if (______) printf("%d", c - '0'); else printf("Error"); 2.以下代码判断闰年,请在横线处补充完整逻辑: int year; scanf("%d", &year); if (______) { printf("Leap year"); } else { printf("Not leap year"); } 3.以下程序输入三个数,按从大到小的顺序输出: #include <stdio.h> main() { int a, b, c, t; printf("请输入三个整数: "); scanf("%d%d%d", &a, &b, &c); if (a < b) { t = a; a = b; b = t; } if (__________) { t = a; a = c; c = t; } if (__________) { t = b; b = c; c = t; } printf("%d %d %d ", a, b, c);} 4.以下程序判断一个字符是否为字母: #include <stdio.h> main() { char ch; printf("请输入一个字符: "); scanf("%c", &ch); if (__________________________________) printf("%c是字母 ", ch); else printf("%c不是字母 ", ch);} 5.以下程序实现简单的计算器功能(支持+、-、*、/): #include <stdio.h> main() { char op; float num1, num2, result; printf("请输入表达式(如 2 + 3): "); scanf("%f %c %f", &num1, &op, &num2); switch (op) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': if (__________) { result = num1 / num2; } else { printf("错误: 除数不能为0 "); return 1; } break; default: printf("错误: 无效的运算符 "); return 1; } printf("结果: %.2f ", result); } 五、编程题。 1. 编写程序,输入一个整数,判断其是否为5的倍数且不是7的倍数。若是,输出"Yes",否则输出"No"。 2.编写程序,输入一个四位正整数,若其逆序数(如1234的逆序为4321)与原数相等,输出"YES",否则输出"NO"(要求不使用循环结构)。 3.编写程序,根据用户输入的身高(cm)和性别('M'或'F'),判断是否符合标准体重(男性:身高-105,女性:身高-110,误差±5kg内为符合)。输出"达标"或"未达标"。 4.输入三个不同的整数,找出其中间值(既不是最大也不是最小的数)。 5.输入一个不多于4位的正整数,将其逆序输出。例如输入1234,输出4321。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 4.5、4.6节:程序举例与C语言趣味程序实例4 一、单项选择题 1.以下代码输出结果为( ) int x = 10; if (x > 5) if (x < 15) printf("A"); else printf("B");} else printf("C"); A. A B. B C. C D. 无输出 【答案】A 【解析】外层if (x > 5)成立,内层if (x < 15)成立,输出A。 2.若变量ch为字符'a',以下代码输出结果为( ) char ch = 'a'; if (ch >= 'a' && ch <= 'z') putchar(ch - 32); else if (ch >= 'A' && ch <= 'Z') putchar(ch + 32); else putchar(ch); A. a B. A C. Z D. 报错 【答案】B 【解析】字符'a'满足小写条件,执行putchar(ch - 32)输出大写A。 3.以下switch语句中,若score = 85,输出结果为( ) int score = 85; switch (score / 10) { case 8: printf("A"); break; case 9: printf("B"); break; default: printf("C"); } A. A B. B C. C D. 编译错误 【答案】A 【解析】score / 10 = 8匹配case 8,输出A并退出。 4.以下代码中,若输入x = 20,输出结果为( ) int x; scanf("%d", &x); if (x % 2 == 0) if (x % 5 == 0) printf("Yes"); else printf("No1"); else printf("No2"); A. Yes B. No1 C. No2 D. 无输出 【答案】A 【解析】因为 20 既能被 2 整除,也能被 5 整除,所以输出 "Yes"。 5.以下代码中,若ch为字符'3',输出结果为( ) char ch = '3'; switch (ch) { case '1': case '2': case '3': printf("Low"); break; case '4': case '5': case '6': printf("Mid"); break; default: printf("High"); } A. Low B. Mid C. High D. 编译错误 【答案】A 【解析】 ch匹配case '3',落入case '1'~'3'组,输出Low。 6.在switch语句中,case后的常量表达式( ) A. 只能是整型常量表达式 B. 可以是任意类型的常量表达式 C. 只能是字符型常量表达式 D. 可以是变量表达式 【答案】A 【解析】switch语句中case后的表达式必须是整型常量表达式。 7.以下关于if-else语句的说法,错误的是( ) A. 一个if可以没有对应的else B. 一个else必须对应一个if C. 多个if可以共用一个else D. if-else语句可以嵌套使用 【答案】C 【解析】每个else只与它前面最近的未匹配的if配对,不能多个if共用一个else。 8.以下关于条件运算符"?:"的说法,正确的是( ) A. 它是C语言中唯一的三目运算符 B. 它的优先级高于所有算术运算符 C. 它不能嵌套使用 D. 它的结合性是从右到左 【答案】A 【解析】条件运算符是C语言中唯一的三目运算符,优先级低于算术运算符,可以嵌套使用,结合性是从右到左。 9.以下程序段的输出结果是( ) int a = 5, b = 10; if (a++ > 5 && b-- > 5) printf("A: %d %d", a, b); else printf("B: %d %d", a, b); A. A: 6 9 B. A: 6 10 C. B: 6 10 D. B: 6 9 【答案】C 【解析】a++>5,先判断a>5(5>5为假),a自增为6,逻辑与短路,b--不执行,执行else,输出B: 6 10。 10.以下代码段中,与其他三个功能不同的是( ) A. if (x) a = 1; else a = 0; B. a = (x != 0); C. a = (x) ? 1 : 0; D. a = -1; if (!x) a = 0; 【答案】D 【解析】A、B、C都是x非0时a=1,x=0时a=0。 二、填空题。 1.表达式5 > 3 > 1的值是___________。 【答案】0 【解析】5>3为1,1>1为0。 2.表达式!5 + 3的值是___________。 【答案】3 【解析】!5为0,0+3=3。 3.设int x=5;,表达式x%2==0?x/2:x*2的值是___________。 【答案】10 【解析】x%2==0为假,取x*2=10。 4.表达式5>3 && 2 || 8<4-!0的值是___________。 【答案】1 【解析】5>3为1,1&&2为1,!0为1,4-1=3,8<3为0,1||0为1。 5.设int a=1,b=2,c=3,d=4;,表达式a<b?a:c<d?c:d的值是___________。 【答案】1 【解析】a<b为真,取a=1,后面的条件表达式不计算。 6.设int a=3,b=4,c=5;,表达式!(a+b)+c-1 && b+c/2的值是___________。 【答案】1 【解析】 !(a+b)=!(7)=0,0+c-1=4,b+c/2=4+2=6,4&&6=1。 7.设int m=5,n=10;,表达式(m > n) ? m++ : (n > 5) ? n-- : m+n的值是___________。 【答案】10 【解析】m>n假,执行(n>5)?n--:m+n,n>5真,执行n--,n先取值10,表达式值为10,n自减为9。 8.设int a=2,b=3;表达式(a=4)&& (b=5) || (a=6)的值是_____,执行后a=_____,b=______。 【答案】1、4、5 【解析】(a=4)值为4(真),(b=5)值为5(真),4&&5=1,逻辑或短路,(a=6)不执行,a=4,b=5。 9.设int a=3,b=4,c=5;,表达式a + b > c && b == c的值是___________。 【答案】0 【解析】a+b>c为7>5真(1),b==c为4==5假(0),1&&0=0。 10.表达式(3 + 4 > 6) && (2 * 3 == 6) || (5 - 2 < 3)的值是___________。 【答案】1 【解析】​ 3+4>6为7>6真(1),2 * 3==6为6==6真(1),1&&1=1,5-2<3为3<3假(0),1||0=1。 三、阅读程序题。 1.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int x = 7, y = 3; if (x > y) { if (x % 2 == 0) { printf("Even"); } else { printf("Odd"); } } else { switch (y) { case 1: printf("One"); break; case 3: printf("Three"); break; default: printf("Other"); } } } 【答案】 Odd 2.若输入n = 1234,以下代码输出结果为:________________。 #include <stdio.h> main() { int n; scanf("%d", &n); if (n / 1000 == 1) { if (n % 10 == 4) { printf("Yes"); } } else if (n / 100 == 23) { printf("No"); } else { printf("Maybe"); } } 【答案】Yes 3.若输入字符ch = 'G',以下代码输出结果为:________________。 #include <stdio.h> main() { char ch; scanf("%c", &ch); if (ch >= 'A' && ch <= 'Z') { if (ch == 'G' || ch == 'P') { putchar(ch); } else { putchar(ch + 1); } } else { putchar(ch - 1); } } 【答案】G 4.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 1, b = 1; if (a++ || b++) { printf("T: %d %d", a, b); } else { printf("F: %d %d", a, b); } } 【答案】T: 2 1 5.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 1, b = 2, c = 3, d = 4; if (a > b && c++ > d) printf("A: %d %d %d %d ", a, b, c, d); else if (a < b || d++ > c) printf("B: %d %d %d %d ", a, b, c, d); else printf("C: %d %d %d %d ", a, b, c, d); if (c > d ? a < b : b > a) printf("Conditional true "); else printf("Conditional false "); } 【答案】 B: 1 2 3 4 Conditional true 6.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int x = 5, y = 3, z = 2; switch (x - y) { case 1: printf("Case 1: "); switch (z) { case 1: printf("Z=1 "); break; case 2: printf("Z=2 "); case 3: printf("Z=3 "); break; default: printf("Z default "); } break; case 2: printf("Case 2: "); if (z == 2) printf("Z is 2 "); else if (z == 3) printf("Z is 3 "); else printf("Z is other "); break; default: printf("Default case "); } printf(" End of switch "); if ((x > y) ? (y > z) : (x < z)) printf("Nested conditional true "); else printf("Nested conditional false "); } 【答案】 Case 2: Z is 2 End of switch Nested conditional true 7.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 0, b = 1, c = 2, d = 3; if (a++ && ++b || c-- && --d) printf("First: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); else printf("Second: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); if ((a = b) > (c = d) ? a + b : c + d) printf("Third: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); else printf("Fourth: a=%d, b=%d, c=%d, d=%d ", a, b, c, d); switch (a + b + c + d) { case 0:case 1:case 2:case 3:case 4:case 5: printf("Sum 0-5 "); break; case 6:case 7:case 8:case 9:case 10: printf("Sum 6-10 "); break; default: printf("Sum >10 "); } } 【答案】 First: a=1, b=1, c=1, d=2 Third: a=1, b=1, c=2, d=2 Sum 6-10 8.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 3, b = 4, c = 5,d; if (a++ > 3 && ++b < 5 || c-- > 4) printf("Path 1: a=%d, b=%d, c=%d ", a, b, c); else printf("Path 2: a=%d, b=%d, c=%d ", a, b, c); d = (a > b) ? (b > c) ? 10 : 20 : (c > a) ? 30 : 40; switch (a + b - c) { case 1: printf("Case 1: "); if (d > 15) printf("d>15"); else printf("d<=15"); break; case 2: printf("Case 2: "); switch (d % 3) { case 0: printf("d mod 3=0"); break; case 1: printf("d mod 3=1"); break; case 2: printf("d mod 3=2"); break; } break; default: printf("Default: a+b-c=%d", a+b-c); } } 【答案】 Path 1: a=4, b=4, c=4 Default: a+b-c=4 9.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int a = 5, b = 3, c = 2; int result = 0; if (a > b) if (b > c) result = 1; else result = 2; else if (a > c) result = 3; else result = 4; printf("Result: %d ", result); switch (result) { case 1: printf("Path A "); break; case 2: printf("Path B "); break; case 3: printf("Path C "); break; default: printf("Path D "); } } 【答案】 Result: 1 Path A 10.写出下列程序段的输出结果:________________。 #include <stdio.h> main() { int p = 2, q = 3, r = 4; int result = 0; if (p > q) result = 10; else if (q > r) result = 20; else if (r > p + q) result = 30; else result = 40; printf("Result: %d ", result); int check = (result > 25) ? 1 : 2; printf("Check: %d ", check); if (check == 1 && result != 40) printf("Condition met "); else printf("Condition not met "); } 【答案】 Result: 40 Check: 1 Condition not met 四、程序填空题(根据题意,将空缺的语句补上) 1.以下代码实现输入字符转换为对应ASCII码,若输入字符为'5',请在横线处填入正确条件: char c; scanf("%c", &c); if (______) { printf("%d", c - '0'); } else { printf("Error"); } 【答案】 c >= '0' && c <= '9' 2.以下代码判断闰年,请在横线处补充完整逻辑: int year; scanf("%d", &year); if (______) { printf("Leap year"); } else { printf("Not leap year"); } 【答案】 (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 3.以下程序输入三个数,按从大到小的顺序输出: #include <stdio.h> main() { int a, b, c, t; printf("请输入三个整数: "); scanf("%d%d%d", &a, &b, &c); if (a < b) { t = a; a = b; b = t; } if (__________) { t = a; a = c; c = t; } if (__________) { t = b; b = c; c = t; } printf("%d %d %d ", a, b, c); } 【答案】​ a < c、b < c 4.以下程序判断一个字符是否为字母: #include <stdio.h> main() { char ch; printf("请输入一个字符: "); scanf("%c", &ch); if (_________________________________________) { printf("%c是字母 ", ch); } else { printf("%c不是字母 ", ch); } } 【答案】 (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') 5.以下程序实现简单的计算器功能(支持+、-、*、/): #include <stdio.h> main() { char op; float num1, num2, result; printf("请输入表达式(如 2 + 3): "); scanf("%f %c %f", &num1, &op, &num2); switch (op) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': if (__________) { result = num1 / num2; } else { printf("错误: 除数不能为0 "); return 1; } break; default: printf("错误: 无效的运算符 "); return 1; } printf("结果: %.2f ", result); } 【答案】num2 != 0 五、编程题。 1. 编写程序,输入一个整数,判断其是否为5的倍数且不是7的倍数。若是,输出"Yes",否则输出"No"。 【参考代码】 #include <stdio.h> main() { int n; scanf("%d", &n); if (n % 5 == 0 && n % 7 != 0) { printf("Yes"); } else { printf("No"); } } 2.编写程序,输入一个四位正整数,若其逆序数(如1234的逆序为4321)与原数相等,输出"YES",否则输出"NO"(要求不使用循环结构)。 【参考代码】 #include <stdio.h> main() { int n; scanf("%d", &n); int a = n / 1000, b = (n / 100) % 10, c = (n / 10) % 10, d = n % 10; int m = d * 1000 + c * 100 + b * 10 + a; if (m == n) { printf("YES"); } else { printf("NO"); } } 3.编写程序,根据用户输入的身高(cm)和性别('M'或'F'),判断是否符合标准体重(男性:身高-105,女性:身高-110,误差±5kg内为符合)。输出"达标"或"未达标"。 【参考代码】 #include <stdio.h> main() { int height,stdWeight,weight; char gender; printf("请输入身高、性别、体重: "); scanf("%d %c %d", &height, &gender,&weight); if (gender == 'M') { stdWeight = height - 105; } else if (gender == 'F') { stdWeight = height - 110; } else { printf("性别输入错误"); exit(1); } if (weight>=stdWeight-5&&weight<=stdWeight+5) { printf("达标"); } else { printf("未达标"); } } 4.输入三个不同的整数,找出其中间值(既不是最大也不是最小的数)。 【参考代码】 #include <stdio.h> main() { int a, b, c, mid; printf("请输入三个不同的整数: "); scanf("%d%d%d", &a, &b, &c); if ((a > b && a < c) || (a < b && a > c)) { mid = a;} else if ((b > a && b < c) || (b < a && b > c)) { mid = b; } else { mid = c; } printf("中间值是: %d ", mid);} 5.输入一个不多于4位的正整数,将其逆序输出。例如输入1234,输出4321。 【参考代码】 #include <stdio.h> main() { int num, reversed = 0; printf("请输入一个正整数(不超过4位): "); scanf("%d", &num); if (num < 0 || num > 9999) { printf("输入错误 "); return 1; } // 通过if-else实现逆序 if (num < 10) { reversed = num; } else if (num < 100) { reversed=(num%10)*10+num/10; } else if (num < 1000) { reversed=(num%10)*100+((num/10)%10)*10+num/100; } else { reversed=(num%10)*1000+((num/10)%10)*100+((num/100)%10)*10+num/1000;} printf("逆序数: %d ", reversed); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第4章 第5、6节:程序举例与C语言趣味程序实例4(练习)-《C语言程序设计》(电子工业出版社)上好课
1
第4章 第5、6节:程序举例与C语言趣味程序实例4(练习)-《C语言程序设计》(电子工业出版社)上好课
2
第4章 第5、6节:程序举例与C语言趣味程序实例4(练习)-《C语言程序设计》(电子工业出版社)上好课
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。