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; }