好的,所以我的任务是从自然数中得到一个数字并求平方数(使用函数while,这意味着还没有数组:S)。例如,我输入123,所以sum = 1 * 100 + 2 * 10 + 3 * 1;然而问题是数字可能是任何数字。我的问题是,功率随着int而上升,但是如此--1,10,99,1000。对我来说问题是99.也回答是循环,但我稍后会修复它。这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int N,
number=0,
answer=0,
a=1,
i=0;
printf("Type natural number: ");
scanf("%d",&N);
while(N>i)
{
number=N%10;
N/=10;
a=10;
a=pow(a,i);
answer+=number*number*a;
printf("%d\n", answer);
i++;
}
return 0;
}
答案 0 :(得分:0)
反过来尝试一下。不要使输入为整数。从流的开头开始,获取字符,将其转换为int'数字'。然后做
answer = 10 * answer;
answer += (number * number);
这将逐渐建立你的答案。请注意,由于您的示例似乎与代码不匹配,因此我不确定这是您所要求的。
如果这是非基础的,请告诉我,我会更新它。