一名程序媛的在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");
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章