power int number while in loop

问题描述:

好的,所以我的任务是从自然数中得到一个数字,然后求平方数(使用函数while,这意味着没有数组:S)。例如,我输入123,所以sum = 1 * 100 + 2 * 10 + 3 * 1;然而,问题在于数字可能是什么。我的问题是,功率上升与整数,但它的像 - 1,10,99,1000。我的问题是99.也答案是循环,但我会稍后修复它。这里是我的代码:power int number while in loop

#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; 
} 

试试吧。不要输入一个整数。从流的开始处开始,获取字符,将其转换为int数字。然后做

answer = 10 * answer; 
answer += (number * number); 

这将逐渐建立你的答案。请注意,由于您的示例看起来不符合代码,因此我不确定这是您要求提供的内容。

让我知道这是不是基地,我会更新它。

+0

已经围绕它与圆功能:)。不过谢谢你的建议。 – user240179 2014-10-11 13:23:53