用C语言编写一个程序 从键盘输入一个四位数整数n,输出他的各位数字之和。例如n=
时间: 2024-09-27 14:07:19 浏览: 4
在C语言中,我们可以使用`scanf`函数读取用户的输入,然后遍历每一位数字求和。下面是一个简单的程序来完成这个任务:
```c
#include <stdio.h>
int main() {
int n, digit_sum = 0; // 存储四位数的总和
char input[5]; // 字符数组用于接收四位数字符串
// 从键盘读入一个四位数
printf("请输入一个四位数:");
scanf("%s", input); // 使用字符串形式读取,因为%d无法直接接收四位数
// 遍历输入的字符串,累加每个字符对应的数值
for (int i = 0; i < 4; i++) {
digit_sum += input[i] - '0'; // '0' 是数字 '1' 的 ASCII 码减去的值
}
// 输出结果
printf("该数各位数字之和是:%d\n", digit_sum);
return 0;
}
```
当用户输入一个四位数如1234时,程序会计算并输出1+2+3+4=10。
相关问题
编写一个c语言程序,从键盘输入一个四位整数n,输出它的各位数之和
这个问题可以回答,以下是c语言程序的代码:
```
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个四位整数:");
scanf("%d", &n);
sum += n % 10; // 取个位数
n /= 10; // 去掉个位数
sum += n % 10; // 取十位数
n /= 10; // 去掉十位数
sum += n % 10; // 取百位数
n /= 10; // 去掉百位数
sum += n % 10; // 取千位数
printf("各位数之和为:%d\n", sum);
return 0;
}
```
编写一个c语言程序,用switch语句,从键盘输入一个四位整数n,输出它的各位数之和
好的,这个问题可以回答。以下是代码:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个四位整数:");
scanf("%d", &n);
while (n > 0) {
sum += n % 10;
n /= 10;
}
printf("各位数之和为:%d\n", sum);
return 0;
}
```
使用 switch 语句也可以实现,以下是代码:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个四位整数:");
scanf("%d", &n);
switch (n / 1000) {
case 1:
sum += 1;
break;
case 2:
sum += 2;
break;
case 3:
sum += 3;
break;
case 4:
sum += 4;
break;
case 5:
sum += 5;
break;
case 6:
sum += 6;
break;
case 7:
sum += 7;
break;
case 8:
sum += 8;
break;
case 9:
sum += 9;
break;
}
switch (n / 100 % 10) {
case 1:
sum += 1;
break;
case 2:
sum += 2;
break;
case 3:
sum += 3;
break;
case 4:
sum += 4;
break;
case 5:
sum += 5;
break;
case 6:
sum += 6;
break;
case 7:
sum += 7;
break;
case 8:
sum += 8;
break;
case 9:
sum += 9;
break;
}
switch (n / 10 % 10) {
case 1:
sum += 1;
break;
case 2:
sum += 2;
break;
case 3:
sum += 3;
break;
case 4:
sum += 4;
break;
case 5:
sum += 5;
break;
case 6:
sum += 6;
break;
case 7:
sum += 7;
break;
case 8:
sum += 8;
break;
case 9:
sum += 9;
break;
}
switch (n % 10) {
case 1:
sum += 1;
break;
case 2:
sum += 2;
break;
case 3:
sum += 3;
break;
case 4:
sum += 4;
break;
case 5:
sum += 5;
break;
case 6:
sum += 6;
break;
case 7:
sum += 7;
break;
case 8:
sum += 8;
break;
case 9:
sum += 9;
break;
}
printf("各位数之和为:%d\n", sum);
return 0;
}
```