119: date:2021.1.24
*要点:*取个位数、十位数、百位数
详细代码如下:
#include <stdio.h>
#define max 100
int fun(int xxx[])
{
/*
for循环遍历产生所有的3位数
if()判断筛选出符合“互不相同”“无重复”的数字
升序存入数组xx中
将符合条件的个数返回
*/
int i,j=0,a,b,c;
for(i = 0; i < max; i++)
{
xxx[i]=0;
}
for(i = 123; i <= 432; i++)
{
a = i%10;
b = i/10%10;
c = i/100;
if(a < 1 || a>4)
{
continue;
}
if(b < 1 || b > 4)
{
continue;
}
if(c < 1 || c > 4)
{
continue;
}
if(a == b || a == c || b == c )
{
continue;
}
printf("%4d",i);
xxx[j++] = i;
}
return j;
/* error:
int i;
for(i=0; i<100; i++)
{
xxx[i] =
}
*/
}
int main()
{
int xx[max],cnt;
void NONO(int xx[], int cnt);
cnt = fun(xx);
printf("符合条件的个数=%d\n", cnt);
NONO(xx, cnt);
return 0;
}