C技能树-判断语句
- 人工智能
- 2025-08-20 11:09:01

三个数从小到大排序并输出
任意输入3个整数,使用if语句对这3个整数由小到大进行升序排序。请判断下面哪一项无法实现该功能。
#include <stdio.h> /* 交换x和y */ void swap(int* x, int* y) { int temp = *x; *x = *y; *y = temp; } int main(int argc, char** argv) { int a, b, c; printf("请输入 a,b,c:\n"); scanf("%d,%d,%d", &a, &b, &c); (_____1_____) printf("升序排序结果:\n"); printf("%d,%d,%d", a, b, c); return 0; }C语言if语句流程图: 答案是:B
B中如果a小于等于b,不执行任何代码块了,所以B是错误的。 两数较大值输入两个整数,使用if-else语句求两个整数之间的较大值。以下四个选项中,请判断哪一项是错误的。
#include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { int num_1 = 0; int num_2 = 0; int max_num = 0; printf("请输入第1个整数:"); scanf("%d", &num_1); printf("请输入第2个整数:"); scanf("%d", &num_2); (_____1_____) printf("两数之间的较大值为:%d", max_num); return 0; }C语言if-else语句流程图: 答案是:D
A中abs是取绝对值,如果条件判断里相等,说明num_1-num_2不是负数,num_1大于等于num_2; BC中直接指明了num_1是大于等于num_2的; D中只指明num_1大于等于max_num,max_num初始值是0,假设num_1是1,num_2是2,满足D中条件,打印的max_num是1,显然是不对的。 判断三角形的类型输入三角形各边的长度,并判断三角形的类型。请判断下列选项中,哪一项无法正确判断三角形的类型。
#include <stdio.h> #include <math.h> int main(int argc, char** argv) { float a, b, c; printf("请输入三角形的三条边:"); scanf("%f,%f,%f", &a, &b, &c); (_____1_____) return 0; }C语言else-if语句流程图: 答案是:D
D中在判断三角形是等腰三角形时,忽略了两边之和大于第三边的前提条件。 假设a=1,b=1,c=3,满足a == b || a == c || b == c,但是并不构成三角形。 成绩转换输入成绩(百分制),将成绩转换为相应的等级,并输出。具体转换规则为:
大于等于90分为等级A;小于90分且大于等于80分为等级B;小于80分且大于等于70分为等级C;小于70分且大于等于60分为等级D;小于60分为等级E。请从以下选项中选出能使下面代码正确运行的一项。
#include<stdio.h> int main(int argc, char** argv) { int score; printf("请输入成绩:"); scanf("%d", &score); if ((score > 100) || (score < 0)) { printf("请输入百分制的成绩!"); return 0; } int quotient = score / 10; (_____1_____) return 0; }C语言switch语句流程图: 答案是:C
在需要跳出的时候,在语句后面加上break; swich(表达式) { case 常量1: 语句1;break; case 常量2: 语句2;break; ... case 常量n: 语句n;break; default: 语句n+1;break; }上一篇
每日学术速递1.28