编写一个程序来计算从键盘键入的正整数的位数之和。例如,数字 asdf的位数之和为 a + s + d + f = h。c语言,且输出格式为个位+十位+百位+。。。=位数之和
时间: 2024-09-20 13:04:38 浏览: 40
在C语言中,你可以编写一个简单的函数来计算输入正整数的位数之和。这里是一个基本的示例:
```c
#include <stdio.h>
#include <string.h>
// 函数用于获取字符串长度并返回每一位的值转换为int后的和
int sumOfDigits(char* num) {
int sum = 0;
for(int i = 0; num[i] != '\0'; i++) { // 遍历字符串直到遇到结束符'\0'
if(num[i] >= '0' && num[i] <= '9') { // 只处理数字字符
sum += num[i] - '0'; // 加上对应的数字值
}
}
return sum;
}
int main() {
char input[50];
printf("请输入一个正整数: ");
fgets(input, sizeof(input), stdin); // 从键盘读取输入
// 移除末尾的换行符
size_t len = strlen(input);
if(len > 0 && input[len-1] == '\n') {
input[len-1] = '\0';
}
int digit_sum = sumOfDigits(input);
printf("个位+十位+百位...=%d\n", digit_sum);
return 0;
}
```
当你运行这个程序,并输入一个正整数,比如"asdf",它会计算每个字符所代表的数值相加,然后输出结果。
阅读全文