用c语言编写并用for语句实现(1)输入一个三位整数n,求n的三位数码之和。(2)输入一个三位整数n,把n逆序输出
下面是一个用C语言编写的程序,其中实现了上述两个功能:
```c
#include <stdio.h>
int main() {
int n, sum = 0, reverse = 0, digit;
// 输入一个三位整数n
printf("请输入一个三位整数: ");
scanf("%d", &n);
// 判断输入是否为三位数
if (n < 100 || n > 999) {
printf("输入的不是三位整数,请重新输入。\n");
return 1; // 非法输入时退出程序
}
// (1)求n的三位数码之和
for (int temp = n; temp > 0; temp /= 10) {
digit = temp % 10; // 获取当前最低位的数字
sum += digit; // 将其加到sum中
}
printf("数字%d的数码之和为: %d\n", n, sum);
// (2)把n逆序输出
for (int temp = n; temp > 0; temp /= 10) {
digit = temp % 10; // 获取当前最低位的数字
reverse = reverse * 10 + digit; // 将数字逆序
}
printf("数字%d逆序输出为: %d\n", n, reverse);
return 0;
}
```
在这段代码中,我们首先让用户输入一个三位整数`n`,然后通过循环提取`n`的每一位来计算数码之和并逆序输出这个数字。在第一个循环中,我们每次通过除以10将`n`的最低位数码提取出来,并累加到`sum`变量中。在第二个循环中,我们使用类似的方法,但是在提取每一位数码时,我们将其添加到`reverse`变量中,每次乘以10以保持逆序。
注意:这段代码没有进行详细的错误处理,比如检查输入是否确实是整数或者处理非法输入。这些额外的检查可以根据实际需求添加。
AI智能问答网
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用创作工场,更聪明、更完整、更原创!