随机产生n个100以内的正整数放入数组中输出这n个整数(每行10个),将其数值逆序重新存放。(n由键盘输入,需要判断n的合法性)(如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。)
参考如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a[100],i,j,n,t;
scanf("%d",&n);
srand((unsigned int)time(NULL));
for(i=0;i<n;i++)
a[i] = rand()%100;//0-99的随机数
//正序输出
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
//逆序
i=0;j=n-1;
while(i<j)
{
t =a[i];
a[i]=a[j];
a[j]= t;
i++;
j--;
}
//输出逆序后
for(i=0;i<n;i++)
printf("%d ",a[i]);
return 0;
}
//随机产生n个100以内的正整数放入数组中输出这n个整数(每行10个),将其数值逆序重新存放。(n由键盘输入,需要判断n的合法性)(如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。)
#include <stdio.h>
#include <time.h>
int main()
{
int a[100];
int n,i,t;
scanf("%d",&n);
while(n<=0)
{
printf("输入错误,请重新输入");
scanf("%d",&n);
}
srand(time(NULL));
for(i=1;i<=n;i++)
{
a[i-1] = rand()%100+1;
printf("%d ",a[i-1]);
if(i%10==0)
printf("\n");
}
for(i=0;i<n/2;i++)
{
t = a[i];
a[i] = a[n-i-1];
a[n-i-1] = t;
}
for(i=1;i<=n;i++)
{
printf("%d ",a[i-1]);
if(i%10==0)
printf("\n");
}
return 0;
}
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(int argc, char* argv[])
{
int *m,i,n;
printf("请输入个数:\n");
scanf("%d",&n);
if (n<=0)
{
return -1;
}
m = (int *)malloc(sizeof(int) * n);
srand( (unsigned)time( NULL)); //srand()函数产生一个以当前时间开始的随机种子
for (i=0;i<n;i++){
m[i]=0;
}
for (i=0;i<n;i++){
m[i] = rand() % 100;
}
for (i=n-1;i>=0;i--){
printf("%d ", m[i]);
if (i % 10 == 0)
{
printf("\n");
}
}
free(m);
getchar();
return 0;
}