編程題#5:細菌實驗分組 C語言

先求出繁殖率放到value[100]裏

然後用bubble(int *arraynum,int *arrayvalue,int nn)冒泡排序算法對繁殖率value和培養皿編號num從大到小排序

記錄繁殖率高的培養皿個數bignum 從大到小輸出編號num

記錄繁殖率高的培養皿個數smallnum 從大到小輸出編號num

獲得的新知識點:

自己寫的函數可以不返回值,就沒有return了 

新命名的函數void bubble(int *arraynum,int *arrayvalue,int nn)已經是對形參arraynum,arrayvalue,nn的聲明,函數體裏面不用在聲明瞭

而且arraynum和arrayvalue帶*是因爲傳遞的是num和value數組的首地址,這樣才能在函數體裏面對整個數組裏的元素進行操作

#include<stdio.h>
void bubble(int *arraynum, int *arrayvalue, int nn){
	int temp = 0, flagnum = 0;
	int i, j;
	for (j = 0; j < nn; j++){
		for (i = 0; i < nn-j; i++){
			if (arrayvalue[i + 1] > arrayvalue[i]){
				//繁殖率交換順序
				temp = arrayvalue[i+1];
				arrayvalue[i+1] = arrayvalue[i];
				arrayvalue[i] = temp;
				//繁殖率對應的培養皿編號也交換順序
				temp = arraynum[i+1];
				arraynum[i+1] = arraynum[i];
				arraynum[i] = temp;
			}
		}
	}
}
int main(){
	int i;
	int num[100],value[100],value1[100],value2[100];
	int  n;
	int small = 0,big = 0,smallnum=0,bignum=0;
	scanf("%d", &n);
	for (i = 0; i < n; i++){
		scanf("%d %d %d", &num[i], &value1[i],&value2[i]);
		value[i] = value2[i] / value1[i];
	}
	/*for (i = 0; i < n; i++){
		printf("%d %d %d %d\n", num[i], value1[i], value2[i],value[i]);
		
	}*/
	bubble(num, value,n);//從大到小冒泡排序
	big = value[0];
	small = value[n-1];
	//printf("最小值:%d\n", small);
	//printf("最大值:%d\n", big);
	for (i = 0; i < n; i++){
		if (value[i] - small < big - value[i]){
			smallnum++;
		}
		else{
			bignum++;
		}
	}
	printf("%d\n", bignum);
	for (i = 0; i < bignum; i++){
		printf("%d\n", num[i]);
	}
	
	printf("%d\n", smallnum);
	for (i = smallnum-1; i < n; i++){
		printf("%d\n", num[i]);
	}

	return 0;
}
描述
有一種細菌分爲A、B兩個亞種,它們的外在特徵幾乎完全相同,僅僅在繁殖能力上有顯著差別,A亞種繁殖能力非常強,B亞種的繁殖能力很弱。在一次爲時一個 小時的細菌繁殖實驗中,實驗員由於疏忽把細菌培養皿搞亂了,請你編寫一個程序,根據實驗結果,把兩個亞種的培養皿重新分成兩組。
輸入
輸入有多行,第一行爲整數n(n≤100),表示有n個培養皿。
其餘n行,每行有三個整數,分別代表培養皿編號,試驗前細菌數量,試驗後細菌數量。
輸出
輸出有多行:
第一行輸出A亞種培養皿的數量,其後每行輸出A亞種培養皿的編號,按繁殖率升序排列。
然後一行輸出B亞種培養皿的數量,其後每行輸出B亞種培養皿的編號,也按繁殖率升序排列。
樣例輸入
5
1 10 3456
2 10 5644
3 10 4566
4 20 234
5 20 232
樣例輸出
3
1
3
2
2
5
4


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章