1) for循環求100以內奇數和
1 #include<stdio.h> 2 int main(){ 3 int ans=0;//定義一個答案變量存儲答案 4 for(int i=1;i<=100;i++)//用for從1循環到100,如果i%2!=0(%是一種取余運算) 5 if(i%2!=0) ans+=i;//也是就,i除2,如果有余數(余數不為0),那么i就是奇數。(自己試一下,5%2==1) 6 printf("%d\n",ans);//輸出答案并換行 換行符號'\n' 7 return 0; 8 }
?
2) 選擇排序算法,講解運行過程(到底是選擇排序,還是選擇一種排序,噗~,兩個都寫吧)
1 #include<stdio.h> 2 int main(){ 3 int num[10];//定義一個num數組,儲存變量,變量下標為0-9 4 int temp;//定義一個中間的變量(冒泡排序要用) 5 for(int i=0;i<10;i++) 6 scanf("%d",&num[i]);//輸入10個整數儲存到num中 7 for(int i=0;i<10;i++){ //可以百度,也可以手動模擬一下冒泡排序 8 for(int j=0;j<10;j++){ //選取第i個數,并從0-9循環查看整個數組,是否有小于num[i]; 9 if(num[i]>num[j]){ //如果有,就交換兩個變量,(交換的時候,就像交換兩杯飲料一樣 10 temp=num[i]; //需要第三個杯子當中間變量,如temp; 11 num[i]=num[j]; // 此為降序排序,可以改變num[i]<num[j],為升序。 12 num[j]=temp; 13 } 14 } 15 } 16 for(int i=0;i<10;i++) printf("%d ",num[i]); 17 return 0; 18 }
?
1 #include<stdio.h> 2 int main(){ 3 int num[10];//定義一個num數組,儲存變量,變量下標為0-9 4 int temp;//定義一個中間的變量(冒泡排序要用) 5 for(int i=0;i<10;i++) 6 scanf("%d",&num[i]);//輸入10個整數儲存到num中 7 for(int i=0;i<10;i++){ 8 int maxi=i; //選擇排序不同的地方,每次循環,選取最大(最小)的下標 9 for(int j=i+1;j<10;j++){ //記住這個下標,然后在交換,而冒泡是(發現比我大的就交換) 10 if(num[maxi]<num[j]){ //交換下標。 11 maxi=j; //關于這個maxi=i,j=i+1,是因為前面的數字都已經排好序了,所以就不用訪問了。 12 } 13 } 14 if(i!=maxi){ //每組循環之后,交換最大的值,與當前的值。 15 temp=num[maxi]; 16 num[maxi]=num[i]; 17 num[i]=temp; 18 } 19 } 20 for(int i=0;i<10;i++) printf("%d ",num[i]); 21 return 0; 22 }
?