文章目录
第四章.选择结构程序设计
(1)从键盘输入4个整数,输出其中的最大数和次大数。
数组+循环结构:冒泡排序
int main() {
int a, b, c, d, t, n = 3 ;
printf("输入四个数字:");
scanf("%d %d %d %d", &a, &b, &c, &d);
do {
if (a < b) {
t = a;
a = b;
b = t;
}
if (b < c) {
t = b;
b = c;
c = t;
}
if (c < d) {
t = c;
c = d;
d = t;
}
n--;
} while (n!=0);
printf("最大数:%d,次大数:%d", a, b);
return 0;
}
(2)实现函数:
int main() {
int x;
printf("输入x值:");
scanf("%d", &x);
if (x < 1) {
printf("y的值:%d", x);
}
else if (x < 30 && x >= 1) {
printf("y的值:%d", 3 * x + 5);
}
else {
printf("y的值:%d", 7 * x - 3);
}
return 0;
}
(3)从键盘输入一个整数。如果是正数,输出该数自身;如果是负数,输出他的绝对值。
int main() {
int n;
printf("输入一个整数:");
scanf("%d", &n);
if (n >= 0) {
printf("输出:%d", n);
}
else {
printf("输出:%d", abs(n));
}
return 0;
}
(4)从键盘输入a,b,c三个数,判断能否构成三角形。若能构成三角形,计算并输出三角形的面积。
int main() {
int a, b, c;
double n, m;
printf("输入三边长:");
scanf("%d %d %d", &a, &b, &c);
if ((a + b) > c || (a + c) > b || (b + c) > a) {
n = (double)(a + b + c) / 2;
m = sqrt(n * (n - a) * (n - b) * (n - c));
printf("三角形的面积:%.3lf", m);
}
else {
printf("无法构成三角形");
}
return 0;
}
(5)从键盘输入一个字符,如果是小写字母,则转换为其对应的大写字母;如果是大写字母,则原样输出;如果是数字,则输出其十进制ASCII码;若果是其他字符,则统一输出@。
int main() {
char n;
printf("输入一个字符:");
scanf("%c", &n);
if (n >= 'a' && n <= 'z') {
printf("是小写字母。\n其大写字母为:%c", n - 32);
}
else if (n >= 'A' && n <= 'Z') {
printf("是大写字母:%c", n);
}
else if (n >= '0' && n <= '9') {
printf("是数字。\n其ASCII码是:%d", n);
}
else {
printf("是其他字符:@");
}
return 0;
}
(6)编程实现从键盘输入一个人的体重和身高,计算并输出其所在的身体质量指数(BMI)分类。
int main() {
double n, m, x;
printf("输入你的身高(m)、体重(kg):");
scanf("%lf %lf", &n, &m);
x = m / (n * n);
printf("你的BMI指数:%.1lf,", x);
if (x < 18.5) {
printf("体重过轻");
}
else if (x < 24.0 && x >= 18.5) {
printf("正常范围");
}
else if (x < 28.0 && x >= 24.0) {
printf("超重");
}
else {
printf("超胖");
}
return 0;
}
(7)从键盘输入四个整数,要求从大到小的顺序输出。
int main() {
int a, b, c, d, t, n = 3 ;
printf("输入四个数字:");
scanf("%d %d %d %d", &a, &b, &c, &d);
do {
if (a < b) {
t = a;
a = b;
b = t;
}
if (b < c) {
t = b;
b = c;
c = t;
}
if (c < d) {
t = c;
c = d;
d = t;
}
n--;
} while (n!=0);
printf("大到小:%d>%d>%d>%d", a, b, c, d);
return 0;
}