#include<stdio.h>
int main(){
int n,i,e;
int num[4]={2,3,5,7};
while(scanf("%d",&n)!=EOF){
e=n;
loop:
int M=1;
for(i=0;i<4;i++){
while(M%num[i]==0)
M/=num[i];
}
if(M==1){//是丑数
e--;
M++;
}
else{//不是丑数
M++;
}
if (e!=0) goto loop;
if(e==0) printf("The %dth humble number is %d.\n",n,M);
}
}
为什么goto语句不能返回
你这个goto从循环外跳到循环内,不合适吧。
说实话,没有看明白题目是什么意思。但看你的代码,goto没有跳出来肯定是e不为0,e为什么不为0,因为m不等于1,你自己代个数进去算应该就明白了。