1—斐波那契数列
#include <stdio.h>
int main(){
int arr[30];
int i;
int arrysize;
arrysize = sizeof(arr)/sizeof(arr[0]);//计算数组元素个数
arr[0] = 0;
arr[1] = 1;
for(i=2;i<arrysize;i++){
arr[i] = arr[i-1]+arr[i-2];
}
for(i=0;i<arrysize;i++){
printf("%d\n",arr[i]);
}
printf("done\n");
}
2—冒泡排序法
逻辑思维
12,8,13,9
0 | 1 | 2 | max | j | |
---|---|---|---|---|---|
0 | 8,12,13,9 | 8,12,13,9 | 8,12,9,13 | 13 | j=0,1,2 |
1 | 8,12,9 | 8,9,12 | 12 | j=0,1 | |
2 | 8,9 | 9 | j=0 | ||
3 | |||||
i<3→(len-1) | j = len - 1 - i |
大到小:
#include <stdio.h>
int main(){
int array[] = {12,8,13,9};
int i;
int j;
int temp;
int len = sizeof(array)/sizeof(array[0]);
for(i = 0;i < len-1;i++){
for(j = 0;j < len - 1 - i;j++){
if(array[j]<array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
for(i = 0;i < len;i++){
printf("%d\n",array[i]);
}
return 0;
}
小到大
#include <stdio.h>
int main(){
int array[] = {12,8,13,9};
int i;
int j;
int temp;
int len = sizeof(array)/sizeof(array[0]);
for(i = 0;i < len-1;i++){
for(j = 0;j < len - 1 - i;j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
for(i = 0;i < len;i++){
printf("%d\n",array[i]);
}
return 0;
}
3—选择排序法
8,12,13,9
i=轮=len-1
j=i+1;j<len
1 | 2 | 3 |
---|---|---|
12,8,13,9(8与12对比) | 8,12,9 | 8,9 |
13,8,12,9(12与13对比) | 12,8,9 | 9,8 |
13,8,12,9(13与9对比) | 12,8,9 |
从大到小
#include <stdio.h>
int main(){
int array[] = {12,8,13,9};
int i;
int j;
int temp;
int len = sizeof(array)/sizeof(array[0]);
for(i=0;i<len-1;i++){
for(j=i+1;j<len;j++){
if(array[i]<array[j]){//大数往前
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
for(i = 0;i < len;i++){
printf("%d\n",array[i]);
}
return 0;
}
从小到大
#include <stdio.h>
int main(){
int array[] = {12,8,13,9};
int i;
int j;
int temp;
int len = sizeof(array)/sizeof(array[0]);
for(i=0;i<len-1;i++){
for(j=i+1;j<len;j++){
if(array[i]>array[j]){//小数往前
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
for(i = 0;i < len;i++){
printf("%d\n",array[i]);
}
return 0;
}