翁恺c语言练习题
时间: 2025-08-31 17:46:50 AIGC 浏览: 8
翁恺的C语言课程中包含了许多经典的练习题,这些题目不仅有助于理解基础语法,还能提升逻辑思维能力。以下是一些常见的练习题及其解析。
### 判断不同重量的球
题目要求找出三个球中重量不同的那个球。假设输入三个整数代表球的重量,其中两个球的重量相同,另一个不同。程序需要输出重量不同的球的标识。
```c
#include <stdio.h>
int main() {
int a, b, c;
printf("Input the weight of ball A B C:");
scanf("%d %d %d", &a, &b, &c);
if (a == b) {
printf("C");
} else if (a == c) {
printf("B");
} else {
printf("A");
}
return 0;
}
```
该程序通过简单的条件判断来确定哪个球的重量不同[^1]。
### 统计奇偶数个数
题目要求统计用户输入的整数中奇数和偶数的数量,直到输入 `-1` 结束。
```c
#include <stdio.h>
int main() {
int num;
printf("请在1~10000内输入任意整数");
scanf("%d", &num);
int count1 = 0;
int count2 = 0;
do {
if (num % 2 == 0) {
count2++;
printf("请输入一个新的数\n");
scanf("%d", &num);
} else if (num % 2 == 1) {
count1++;
printf("请输入一个新的数\n");
scanf("%d", &num);
}
} while (num != -1);
printf("输出的偶数有%d个\n输出的奇数有%d个\n", count2, count1);
return 0;
}
```
此程序使用 `do-while` 循环不断读取用户的输入,并统计奇数和偶数的数量[^3]。
### 反转三位数
题目要求将一个三位数反转输出。
```c
#include <stdio.h>
int main() {
int number = 0;
int a = 0;
int b = 0;
int c = 0;
scanf("%d", &number);
a = number / 100;
b = (number / 10) % 10;
c = number % 10;
printf("%d\n", 100 * c + 10 * b + a);
return 0;
}
```
该程序通过取整除和取模运算将三位数的每一位分离,并重新组合成反转后的数[^4]。
### BCD解密
题目要求将一个BCD码转换为十进制数。
```c
#include <stdio.h>
int main() {
int err;
int cor;
printf("输入错误生成的十进制数:");
scanf("%d", &err);
cor = err / 16 * 10 + err % 16;
printf("正确的十进制数是:%d", cor);
return 0;
}
```
此程序通过将BCD码的高位和低位分别处理,将其转换为正确的十进制数[^5]。
阅读全文
相关推荐



















