编写函数,计算一个整数各位数字之和,如123, 各位之和为1+2+3=6。 该整数及计算结果均在主函数中输入、输出。c语言
时间: 2024-10-22 16:17:20 浏览: 30
在C语言中,你可以创建一个名为`sum_digits`的函数,接受一个整数作为参数,然后将每个数字加起来并返回总和。在主函数中,用户可以输入一个整数,然后调用这个函数并输出结果。下面是一个例子:
```c
#include <stdio.h>
// 定义一个函数,用于计算整数各位数字之和
int sum_digits(int num) {
int sum = 0;
while (num != 0) {
sum += num % 10; // 取余数得到最后一位,然后累加
num /= 10; // 移除最后一位
}
return sum;
}
int main() {
int input_number;
printf("请输入一个整数: ");
scanf("%d", &input_number);
int result = sum_digits(input_number);
printf("给定整数%d的各位数字之和为%d。\n", input_number, result);
return 0;
}
```
在这个程序中,`sum_digits`函数通过不断对输入的数取模10(余数操作),然后将余数加到总和上,直到输入的数变成0为止。这样就得到了所有数字的和。
相关问题
6、编写一个函数SortData,对向量B中的所有整数根据其各位数字之和进行升序排序。 // 数字之和是指整数的各个数字之和,例如:123的数字之和为1 + 2 + 3 = 6。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int DigitSum(int n) { // 计算数字之和
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
return sum;
}
bool Compare(int a, int b) { // 比较数字之和
return DigitSum(a) < DigitSum(b);
}
void SortData(vector<int>& B) { // 排序
sort(B.begin(), B.end(), Compare);
}
int main() {
vector<int> B = {123, 54, 789, 12};
SortData(B);
for (int i = 0; i < B.size(); i++) {
cout << B[i] << " ";
}
cout << endl;
return 0;
}
2.编写java程序,从键盘输入一个整数,计算并输出该数的各位数字之和。例如:输入123,显示各位数字之和为1 + 2 + 3 = 6。
当然可以,下面是一个简单的Java程序,用于计算用户输入整数的各位数字之和:
```java
import java.util.Scanner;
public class SumOfDigits {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数: ");
int number = scanner.nextInt();
// 计算并打印各位数字之和
int sum = sumOfDigits(number);
System.out.println("该数的各位数字之和为: " + sum);
}
// 辅助方法,计算给定数字的各个位数之和
private static int sumOfDigits(int n) {
int sum = 0;
while (n != 0) {
sum += n % 10; // 取除最后一位数字并加到总和中
n /= 10; // 移除最后一位
}
return sum;
}
}
```
在这个程序里,我们首先获取用户的输入,然后调用`sumOfDigits`函数计算每个数字的和。`sumOfDigits`函数通过不断地对输入的数字除以10并取余数,直到数字变为0,累加每次余数得到总和。
阅读全文