一维数组逻辑挑战—一个萝卜一个坑问题
从键盘输入0-9的五个数,然后输出0-9中那些没有出现过的数
一维数组初始化的两种方式:
1:
for (i = 0; i < 10; i++)
{
a[i] = 0;//初始化每一个小房间为0
}
2:
int a[10]={0};
顺序:
#include<stdio.h>
int main()
{
int a[10], i,t;
for (i = 0; i < 10; i++)
{
a[i] = 0;//初始化每一个小房间为0
}
for (i = 1; i <= 5; i++)
{
scanf("%d", &t);//依次读入五个0-9的数
a[t] = 1;//把对应的小房间改为1
}
for (i = 0; i < 10; i++)
{
if (a[i] == 0)
{
printf("%d ", i);//巧妙地将读入的数据从小到大排序输出
}
}
return 0;
}
逆序:
#include<stdio.h>
int main()
{
int a[10], i,t;
for (i = 0; i <=9; i++)
{
a[i] = 0;//初始化每一个小房间为0
}
for (i = 1; i <= 5; i++)
{
scanf("%d", &t);//依次读入五个0-9的数
a[t] = 1;//把对应的小房间改为1
}
for (i = 9; i>=0; i--)
{
if (a[i] == 0)
{
printf("%d ", i);//巧妙地将读入的数据从大到小排序输出
}
}
return 0;
}
从键盘输入0-9的五个数,然后从小到大输出读入的数
#include<stdio.h>
int main()
{
int a[10], i,j, t;
for (i = 0; i <= 10; i++)
{
a[i] = 0;//初始化每一个小房间为0
}
for (i = 1; i <= 5; i++)
{
scanf("%d", &t);//依次读入五个0-9的数
a[t] = 1;//把对应的小房间改为1
}
for (i =0; i<10; i++)
{
for (j = 1; j <= a[i]; j++)
{
printf("%d ", i);//从小到大输出读入的五个数
}
}
return 0;
}