问下这道C语言题怎么做?

2024-11-30 15:38:17
推荐回答(3个)
回答1:

思路不是被你找出来了么。
有几点。你的几个for循环计数器都没初始化。声明的时候也没赋值,x,y,z可以为任意值。也是错的
要么定义的时候给出,要么for循环前置指令添加赋值。
二一个,你最里层的for循环是 z=0;z<=8;z=z+2 那么已经包含了z%2==0的情况。完全浪费cpu 因为&&为左结合,从左边第一个式子开始判断。每次都会检测你的z%2==0,这是没有必要的。

回答2:

include 打错了?

回答3:

#include
int main()
{
int x,y,z,i=0;

for (x=1;x<=9;x++)
for (y=0;y<=9;y++)
{
if (y==x) continue;
for (z=0;z<=8;z+=2)
{
if (z==x || z==y) continue;
i=x*100+y*10+z;
printf("%d \n",i);
}
}
return 0;
}