编写一个程序实现以下功能:
(1)定义一个有50个元素得到一维数组,给各个元素赋值(<=100),按10个数一行输出
(2)把能被3整除的数输出
(3)把数组按从小到大进行排序,按10个数一行输出
附上代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void random(int a[]);
void zhengchu(int a[]);
void order(int a[]);
int main(){
int a[50];
int i,j,max;
random(a);//随机赋值
zhengchu(a);//能被3整除
order(a);//冒泡排序
}
void random(int a[]){
int i;
printf("随机赋值并打印:\n");
srand((int)time(0));
for(i=0;i<50;i++)
a[i]=(int)(0+100*rand()/RAND_MAX);
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
for(i=10;i<20;i++)
printf("%4d",a[i]);
printf("\n");
for(i=20;i<30;i++)
printf("%4d",a[i]);
printf("\n");
for(i=30;i<40;i++)
printf("%4d",a[i]);
printf("\n");
for(i=40;i<50;i++)
printf("%4d",a[i]);
printf("\n");
}
void zhengchu(int a[]){
int i;
printf("\n每行中能被3整除的数:\n");
for(i=0;i<10;i++)
if(a[i]%3==0)
printf("%4d",a[i]);
printf("\n");
for(i=10;i<20;i++)
if(a[i]%3==0)
printf("%4d",a[i]);
printf("\n");
for(i=20;i<30;i++)
if(a[i]%3==0)
printf("%4d",a[i]);
printf("\n");
for(i=30;i<40;i++)
if(a[i]%3==0)
printf("%4d",a[i]);
printf("\n");
for(i=40;i<50;i++)
if(a[i]%3==0)
printf("%4d",a[i]);
printf("\n");
}
void order(int a[]){
int i,j,max;
printf("\n数组元素从大到小排序(冒泡排序):\n");
max=a[0];
for(i=0;i<49;i++){
for(j=0;j<49-i;j++)
if(a[j]>a[j+1]){
int t;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
for(i=10;i<20;i++)
printf("%4d",a[i]);
printf("\n");
for(i=20;i<30;i++)
printf("%4d",a[i]);
printf("\n");
for(i=30;i<40;i++)
printf("%4d",a[i]);
printf("\n");
for(i=40;i<50;i++)
printf("%4d",a[i]);
printf("\n");
}