Code Bye

输入数据后没有输出结果

#include<stdio.h>
#include<math.h>
int main()
{
int m,n,a,t,g,s,b,q,w,x;
scanf(“%d %d”,&m,&n);
if(m>n)
{
m=t;
m=n;
n=t;
}
do{
w++;
x/=10;
}while(x>10);
for(a=m+1;m<a<n;a++)
q=a/1000;
b=a/100;
s=a/10;
g=a%10;
if(pow(g+s+b+q,w)==a)
printf(“%d\n”,a);
return 0;
}
请高手讲解
解决方案

5

错误蛮多的,w和x都没初始化
你的
do{
w++;
x/=10;
}while(x>10);

怎么可能跑得起来

5

另外假如m和n相差1的话
for(a=m+1;m<a<n;a++)

是进不去的,这样q也没初始化
最后

if(pow(g+s+b+q,w)==a)
printf("%d\n",a);

你可以加个else来打印一些错误提示

5

    if(m > n) {
        t = m;   /*这句应该这样*/
        m = n;
        n = t;
    }

这个程序看不出来你要做什么。
x,w都没初始化,也没输入值;
定义那么多变量,也看不出这些变量要做什么。
建议:把程序贴出来的同时,把你的程序需求说一下,这样,即使看不懂代码的意思,也可以通过需求来判断程序的问题;

5

if(m>n)
{
m=t;
m=n;
n=t;
}t没有值,不能赋给m;
for(a=m+1;m<a<n;a++)
这个表示也是错的,m<a<n错了,可以写成m<a&&a<n;
其他的不知道你的程序要干什么,不知道怎么改了,

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明输入数据后没有输出结果