一名程序媛的在Blink提出的问题

编写一个程序实现以下功能:
(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");
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章