【发布时间】:2019-01-09 21:39:38
【问题描述】:
我正在尝试解决本教程练习题,该练习题没有我可以检查我的代码的答案。目标是编写一个程序来显示数字为2 的数字大于输入数字的相应数字。所以如果输入的数字是5656,那么输出的数字应该是7878。我已经想出了如何分隔每个数字并添加它们,但我似乎无法让它们以 四位 序列打印。
#include <stdio.h>
int main ()
{
int n, one, two, three, four, final;
scanf("%d", &n);
one = (n / 1000);
n = (n % 1000) + 2;
two = (n / 100) + 2;
n = (n % 100) + 2;
three = (n / 10) + 2;
n = (n % 10) + 2;
four = (n / 1) + 2;
n = (n % 1) + 2;
final = (one * 1000) + (two * 100) + (three * 10) + four;
printf("%d", final);
return 0;
}
【问题讨论】:
-
您的算法不正确 - 您应该只在“分隔”行上添加两个,而不是“模数”行。
-
对于
8989这样的输入,你会做什么? -
你不能只做
final = n + 2222;吗? -
@RingØ 是的任何四位数字,程序应该为每个数字添加两个。
-
Sander 的解决方案一定适合您。
标签: c