//7744问题
#include<stdio.h>
#include<math.h>
int main()
{
for(int x=1;;x++)
{
int n=xx;
if (n<1000)
continue;
if (n>9999)
break;
int hi=n/100;
int lo=n%100;
if(hi/10hi%10&&lo/10lo%10)
printf("%d\n",n);
}
return 0;
}
2的错误解法
//7744问题
#include<stdio.h>
#include<math.h>
int main()
{
int n=0;
for(int x=1;1000<n<=9999;x++)
{
int n=xx;
int hi=n/100;
int lo=n%100;
if(hi/10hi%10&&lo/10lo%10)
printf("%d\n",n);
}
return 0;
}
这个解法是错的,因为
//7744问题
#include<stdio.h>
#include<math.h>
int main()
{
int n=0;
for(int x=1;x<6;x++)
{
printf("%d\n",n);
int n=xx;
printf("%d\n",n);
}
return 0;
}
在循环外定义的n和循环里定义的n竟然是两个不同的变量,而n的值是由x决定的
可是为什么
//7744问题
#include<stdio.h>
#include<math.h>
int main()
{
for(int x=1;1000<xx<=9999;x++)
{
int n=x*x;
int hi=n/100;
int lo=n%100;
if(hi/10hi%10&&lo/10lo%10)
printf("%d\n",n);
}
return 0;
}
这样也不可以?
算法竞赛入门经典7744问题
最新推荐文章于 2024-06-09 09:10:59 发布