用C语言的数组功能实现输入一个整数n,求它的位数以及各位数字之和。例如,123的位数是3,各位数字之和是6。
时间: 2024-10-15 11:29:11 浏览: 43
在C语言中,你可以使用数组和循环来实现这个功能。首先,你需要创建一个数组来存储每一位的值,然后通过`scanf`函数获取用户输入的整数`n`,再遍历数组计算位数和各位数字之和。以下是简单的示例代码:
```c
#include <stdio.h>
#include <string.h> // 需要包含此头文件以获取strlen函数
#define MAX_DIGITS 100 // 假设最大位数不超过100位
void countDigitsAndSum(int n, int digits[]) {
int i = 0;
while (n > 0) {
digits[i] = n % 10; // 取余得到当前位的数字
n /= 10; // 移除最低位
i++;
}
int sum = 0;
for (i = 0; i < strlen(digits); i++) {
sum += digits[i]; // 累加每位数字
}
printf("The number of digits is %d and the sum of digits is %d.\n", i, sum);
}
int main() {
int n;
printf("Enter an integer: ");
scanf("%d", &n);
// 初始化长度足够存储最多100位的数组
int digits[MAX_DIGITS];
countDigitsAndSum(n, digits);
return 0;
}
```
在这个例子中,`countDigitsAndSum`函数负责处理输入的整数,而`main`函数则负责接收用户的输入和调用该函数。
阅读全文