怎么用C语言把n(1<=n<=6)位数都输出来?

 我来答
罗麦year
2018-04-01 · TA获得超过4374个赞
知道答主
回答量:5
采纳率:75%
帮助的人:986
展开全部

c语言算n^n,1<=N<=1,000,000,000

代码如下:

#include<stdio.h>
#include<math.h>
int main()
{
int i,n,flag,temp,sum=0,num=0;
printf("请输入所要求的水仙花数位数(1<=n<=6):\n");
scanf("%d",&n);
while(n<1||n>6)
{
printf("位数不正确!请重新输入(1<=n<=6):\n");
scanf("%d",&n);
}
flag=pow(10,n);
for(i=flag/10;i<flag;i++)        //从10的n-1次方到10的n次方里找n位的水仙花数
{
sum=0;                //计数清零
temp=i;                //临时数,用来替代i进行计算
while(temp!=0)    //当临时数没变成0时执行循环
{
sum+=pow((temp%10),n);    //取个位的数进行n次方,累加进sum
temp/=10;                            //去掉目前temp的个位
}
if(sum==i)            //循环过后,累加的sum值等于原值的话,满足水仙花数条件,输出数字。
{
printf("%d\n",i);
num++;                //计算当前水仙花数个数。
}
}
printf("%d位水仙花数有%d个\n",n,num);
return 0;
}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式