#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,a[10],t,j;
for (i = 0; i <= 9; i++) //首先,输入10个数,并将其全部赋值为0
{
a[i] = 0; //这是挖的坑,萝卜全是0
}
for (i = 0; i <= 5; i++) //其次,从键盘读入6个数
{
scanf_s("%d", &t);
a[t]++; //通过键盘控制每个数出现的次数,t用来将键盘读取的数告知坑,坑里的 萝卜会随之加一,出现的次数越多,萝卜就越多
}
for (i = 0; i <= 9; i++)//最后确定打印次数,确保每个坑都有被打印的机会
{
for (j = 1; j <=a[i]; j++)
{
printf("%d", i); //j用来控制打印次数,单个数多次出现将不会跳出此循环
}
}
return 0;
}
将数字从大到小排列只要做简单的改动,让i的循环从9到0依次递减即可,就是让坑的排列顺序改变,萝卜怎么埋和怎么被打印取决于坑的位置
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,a[10],t,j;
for (i = 9; i >= 0; i--)
{
a[i] = 0;
}
for (i = 1; i <= 5; i++)
{
scanf_s("%d", &t);
a[t]++;
}
for (i = 9; i >= 0; i--)
{
for (j = 1; j <=a[i]; j++)
{
printf("%d", i);
}
}
return 0;
}