輸出結果少第一個數字
/*一個n位正整數如果等于它的n個數字的n次方和,該數稱為n位自方冪數。設計求3~6位自方冪數。
**輸出格式要求:"%d位自冪數有:" "%ld\t" "\n" (每位完后換行)
程式運行示例如下:
3位自冪數有:153 370 371 407
4位自冪數有:1634 8208 9474
5位自冪數有:54748 92727 93084
6位自冪數有:548834*/
#include<stdio.h>
#include<math.h>
int hhh(int n)
{
long a[10], i, j, x, y, t, sum=0;
x=pow(10, n-1);
y=pow(10, n);
for(i=x;i<y;i++)
{
t=i;
for(j=0;j<n;j++)
{
a[j]=t%10;
t=t/10;
}
for(j=0;j<n;j++)
{
sum+=pow(a[j], n);
}
if(sum==i)
{
printf("%ld\t", sum);
}
sum=0;
}
}
int main(void)
{
int i;
for(i=3;i<=6;i++)
{
printf("%d位自冪數有:", i);
hhh(i);
printf("\n");
}
}
運行結果是這樣的:
uj5u.com熱心網友回復:
沒看到你的運行結果,我試運行了下,沒有問題:
把int hhh()函式稍改了下:
int hhh(int n)
{
long a[10], i, j, x, y, t, sum;
x=pow(10, n-1);
y=pow(10, n);
for(i=x;i<y;i++)
{
t=i;
sum=0;//把sum賦初值放在這里
for(j=0;j<n;j++)
{
a[j]=t%10;
t=t/10;
}
for(j=0;j<n;j++)
{
sum+=pow(a[j],n);
}
if(sum==i)
{
printf("%ld \t",sum);// “%ld\t"在間加入一空格.
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/226090.html
標籤:C語言
上一篇:Windows網路編程,win32編程和MFC書籍推薦
下一篇:初學者c語言問題
