用c语言输入一个三位数,计算其每位数字之和,并输出其逆序。
时间: 2024-10-16 21:11:41 浏览: 50
c代码-判断一个数的位数,逆序输出
在C语言中,你可以通过以下几个步骤来实现这个功能:
1. 首先,创建一个函数接收用户输入的整数,然后将其转换为字符串以便处理每一位数字。
2. 然后遍历字符串,对每一位数字求和。
3. 接着,反转字符串得到逆序后的表示。
4. 最后,将逆序后的数字重新转换回整数并输出。
下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 函数来获取每位数字的和
int sumOfDigits(int num) {
int sum = 0;
while (num != 0) {
sum += num % 10; // 取余数操作得到最后一位,加到总和上
num /= 10; // 移除最后一位
}
return sum;
}
// 函数来反转字符串
char* reverseString(char str[]) {
int len = strlen(str);
char reversed[len + 1];
for (int i = 0; i < len; i++) {
reversed[i] = str[len - 1 - i]; // 反转字符位置
}
reversed[len] = '\0'; // 添加终止符
return reversed;
}
int main() {
int input;
printf("请输入一个三位数: ");
scanf("%d", &input);
// 转换为字符串
char str[5]; // 足够存放四位数(包括终止符)
sprintf(str, "%d", input);
// 计算每位数字之和
int digitSum = sumOfDigits(input);
// 反转字符串
char reversedStr[] = reverseString(str);
// 输出结果
printf("数字之和为: %d\n", digitSum);
printf("逆序的数字为: %s\n", reversedStr);
return 0;
}
```
阅读全文