注册 登录
编程论坛 C语言论坛

pow总是有问题?

纸质版 发布于 2021-12-03 20:47, 1173 次点击
#include<stdio.h>
#include<math.h>
int main()
{
    int m,n,max,ws,gw,k,sum=0;
    printf("请输入一个位数m(1<=m<=8),求出1位至m位的所有水仙花数如下:\n");
    max=pow((int)10,(int)m)-1;
    for(n=1;n<=max;n++)
    {
      //求出n的位数
      k=n;
      ws=0;
      while(k!=0)
      {
        k=k/10;
        ws++;
      }
      //求出n的各位gw及对应的和gw的ws次方
      
      sum+=pow((int)gw,(int)ws);
      //判断是否为水仙花数,是则输出
      if(sum==n)
       printf("%d\n",n);
    }     
 }
1 回复
#2
by678952021-12-22 06:44
你的输入(scanf)呢,n和gw也没有初始化
1