用C语言统计输入数字的位数及各数字之和
时间: 2023-07-15 14:13:50 浏览: 169
以下是用C语言编写的统计输入数字的位数及各数字之和的代码:
```c
#include <stdio.h>
int main() {
int num, digit, sum = 0, count = 0;
printf("请输入一个整数:");
scanf("%d", &num);
while (num > 0) {
digit = num % 10;
sum += digit;
count++;
num /= 10;
}
printf("输入数字的位数为:%d\n", count);
printf("各数字之和为:%d\n", sum);
return 0;
}
```
运行程序后,将提示用户输入一个整数,然后程序将利用 while 循环逐位提取数字,同时统计位数和各数字之和。最后输出统计结果。
相关问题
用c语言表示:输入一个整数,求它的各位数字之和及位数
下面是一个实现这个功能的 C 语言代码:
```c
#include <stdio.h>
int main() {
int num, digitSum = 0, digitCount = 0;
printf("请输入一个整数:");
scanf("%d", &num);
while (num > 0) {
int digit = num % 10;
digitSum += digit;
digitCount++;
num /= 10;
}
printf("这个数的各位数字之和为:%d\n", digitSum);
printf("这个数的位数为:%d\n", digitCount);
return 0;
}
```
其中,`num` 变量用于存储输入的整数,`digitSum` 变量用于存储各位数字之和,`digitCount` 变量用于存储位数。程序通过循环遍历 `num` 的各个数字,并累加到 `digitSum` 中,同时统计位数并存储在 `digitCount` 中。最后输出结果即可。
C语言 输入一个整数,统计它每个位数上的数字,最后输出每个数字出现的次数
可以使用数组来统计每个数字出现的次数,具体实现如下:
```c
#include <stdio.h>
int main() {
int num;
int digits[10] = {0}; // 初始化数组
printf("请输入一个整数:");
scanf("%d", &num);
while (num > 0) {
int digit = num % 10; // 取出最后一位数字
digits[digit]++; // 对应数字出现次数加1
num /= 10; // 去掉最后一位数字
}
printf("每个数字出现的次数如下:\n");
for (int i = 0; i < 10; i++) {
printf("%d出现了%d次\n", i, digits[i]);
}
return 0;
}
```
首先,定义一个名为 `digits` 的数组,用来统计每个数字出现的次数。数组的下标表示数字本身,数组元素表示该数字出现的次数。初始值都设为0。
然后,使用 `scanf` 函数接收用户输入的整数。通过循环,不断取出这个整数的最后一位数字,并将对应的数组元素加1,直到整个数被取完。
最后,使用循环遍历整个数组,输出每个数字出现的次数。
阅读全文