定義一個整型指標,動態分配10個整型空間并分別賦值10個隨機【10~99】二位整型值,最后進行升序排序輸出。
uj5u.com熱心網友回復:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define max 99
#define min 10
int main()
{
int *a;
int i = 0,j = 0,temp = 0;
a = (int *)malloc(10*sizeof(int));
srand(time(0));
for(i = 0;i < 10;i++)
{
a[i]=rand()%(max-min)+min;
}
for(i = 0;i < 10;i++)
{
for(j = 0;j < 10-i-1;j++)
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
for(i = 0;i < 10;i++)
printf("%d\n",a[i]);
return 0;
}
uj5u.com熱心網友回復:
可以不用記錄min和max,直接 rand()%100就可以了,對100取余,范圍就在10-99之間了
uj5u.com熱心網友回復:
大佬,我試了,可是會產生個位數(0~9)
uj5u.com熱心網友回復:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define max 99
#define min 10
int main()
{
int *a;
int i = 0,j = 0,temp = 0;
a = (int *)malloc(10*sizeof(int));
srand(time(0));
for(i = 0;i < 10;i++)
{
a[i]=rand()%(max-min)+min;
}
for(i = 0;i < 10;i++)
{
for(j = 0;j < 10-i-1;j++)
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
for(i = 0;i < 10;i++)
printf("%d\n",a[i]);
return 0;
}
可以不用記錄min和max,直接 rand()%100就可以了,對100取余,范圍就在10-99之間了
大佬,我試了,可是會產生個位數(0~9)
哦,是我考慮疏忽了。
uj5u.com熱心網友回復:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define max 99
#define min 10
int main()
{
int *a;
int i = 0,j = 0,temp = 0;
a = (int *)malloc(10*sizeof(int));
srand(time(0));
for(i = 0;i < 10;i++)
{
a[i]=rand()%(max-min)+min;
}
for(i = 0;i < 10;i++)
{
for(j = 0;j < 10-i-1;j++)
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
for(i = 0;i < 10;i++)
printf("%d\n",a[i]);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/140715.html
標籤:C語言
上一篇:【求助】DevC++除錯問題
下一篇:問題求助
