c语言 条件判断

来源:百度知道 编辑:UC知道 时间:2024/06/25 16:13:54
#include<stdio.h>
#define K 3

main()
{int i,t,a[K],b,e=0,c=0,d=0,j,y,k,u,z,f,g;
clrscr();
z=1;
for(f=0;f<=K-1;f++)
z=5*z;
b=z-1;

printf("%d",z);

for(y=0;y<=b;y++)
{
k=y;
for(j=K-1,u=0;j>=0,u<K;u++,j--)
{a[j]=k%5;

k=k/5;

}
for(g=0;g<K;g++)
if(a[g]-2==0) e=1;

for(g=0;g<K;g++)
if(a[g]-0==0) c=1;

for(g=0;g<K;g++)
if(a[g]-1==0) d=1;

t=e&&c&&d;

if(a[0]!=0&&t==1)
for(i=0;i<=K-1;i++)
printf("%d",a[i]);

printf(" ");}

}条件判断好像错了。还是找不到错误,请大家帮帮忙啊!!!
试求出k位的5进制数字里,包含0 1 2 的数字有哪些,有多少?

给你改了改
不知道对不对
#include<stdio.h>
#define K 3

main()
{int i,t,a[K],b,e=0,c=0,d=0,j,y,k,u,z,f,g;

z=1;
for(f=0;f<=K-1;f++)
z=5*z;
b=z-1;

printf("%d",z);

for(y=0;y<=b;y++)
{
k=y;
for(j=K-1,u=0;j>=0,u<K;u++,j--)
{a[j]=k%5;

k=k/5;

}
for(g=0;g<K;g++)
if(a[g]==2||a[g]==1||a[g]==0)t=1;
else {t=0; break;}

if(a[0]!=0&&t==1)
{for(i=0;i<=K-1;i++)
printf("%d",a[i]);}
printf(" ");
}
}