當前位置:成語大全網 - 英語詞典 - C語言——計算正整數2345的各位數字的平方的和

C語言——計算正整數2345的各位數字的平方的和

首先判斷數字的位數,根據位數建立數組

然後分解開,分別保存在數組裏

再分別平方相加就行

#include?<stdio.h>

int?ilength(int?x);//判斷數字位數的函數

void?myfun(int?*p,int?x);//分解數字保存在數組中的函數

int?main()

{

int?x;//需要計算的數字

int?*p;//需要建立的數組

int?i;//數字的位數?

int?sum;//保存平方和?

int?j;

x=23456;

sum=0;?

i=ilength(x);

p=(int?*)malloc(i*sizeof(int));

memset(p,0,i*sizeof(int));

myfun(p,x);

for(?j=0;j<i;j++)

{

sum=sum+p[j]*p[j];

}

free(p);?

printf("%d\n",sum);

return?0;

}

int?ilength(int?x)

{

int?i;

i=0;

while(x!=0)

{

i=i+1;

x=x?/10;

}

return?i;

}

void?myfun(int?*p,int?x)

{

while(x!=0)

{

*p=x?%?10;

x=x?/10;

p++;

}

return;

}