数据结构与算法利用 C 语言编写一个程序,计算任一输入的正整数的各位数字之和,并分析该算法的时间复杂度
时间: 2024-10-09 15:02:21 浏览: 37
C语言程序设计:第5章 常用数值计算算法及其程序设计
在C语言中,我们可以使用循环和取模运算来计算一个正整数的各位数字之和。下面是一个简单的程序实现:
```c
#include <stdio.h>
int sum_of_digits(int num) {
int sum = 0;
while (num > 0) {
sum += num % 10; // 取余数得到最后一位,加到sum上
num /= 10; // 除以10,去掉最后一位
}
return sum;
}
int main() {
int input_number;
printf("请输入一个正整数: ");
scanf("%d", &input_number);
int result = sum_of_digits(input_number);
printf("输入数字的各位数字之和为: %d\n", result);
return 0;
}
```
这个算法的时间复杂度是O(log n),其中n是输入的正整数的位数。这是因为我们在每次循环中都把输入的数字缩小了一位,所以最多需要log10(n)次迭代。
阅读全文