1~100のランダム整数を10個取り、逆順で印刷します.(配列の下付きではなくポインタで)
819 ワード
この問題は乱数と並べ替えを生成する問題で、私は泡の並べ替えを使って、コードは以下のようにして、参考に供します
#include
#include
#include
int random_100(void)
{
int a;
srand((unsigned)time(NULL));
a = rand() % 100 + 1;// 1-100
return a;
}
int main()
{
int a[10];
int i;
for(i = 0; i < 10; i++)
{
a[i] = random_100();
sleep(1);// ,
}
int* pa;
int* min;//
int temp;
int j;
for(i = 0; i < 9; i++)
{
pa = a;
pa++;
min = a;
for(j = 0; j < 9 - i; j++)
{
if((*min) < (*pa))
{
temp = *min;
*min = *pa;
*pa = temp;
}
pa++;
min++;
}
}
printf("result:
");
pa = a;
for(i = 0; i < 10; i++)
{
printf("%d ",*pa);
pa++;
}
printf("
");
return 0;
}