标签:
一、C语言基础
1)冒泡排序
int array[10] = {1,6,3,4,5,7,7,8,9,10}; for (int j = 0; j < 9; j++) { for (int i=0; i<9-i; i++) { if (array[i] > array[i+1]) { array[i] = array[i] ^ array[i+1]; array[i+1] = array[i] ^ array[i+1]; array[i] = array[i] ^ array[i+1]; } } } printf("排序后的10个数为:\n"); for (int i = 0; i < 10; i++) { printf("%d\t",array[i]); }
2)快速排序
void bubbleSort(int n, int a[]) { int i,j,t; for(i=0;i<n-1;i++) { for(j=0;j<n-1-i;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } return ; } void selectSort(int n,int a[]) { int i,j,min,t; for (i=0; i<n; i++) { min = i; for(j=i+1;j<n;j++) { if(a[min] > a[j]) min = j; } if(min!=i) { t=a[min]; a[min]=a[i]; a[i]=t; } } return; } void quickSort(int l,int r,int a[]) { if(l>r) return; int i,j,key;//i存上界,j存下界,key关键数据; i=l; j=r; key=a[l]; while(i<j) { while (key < a[j]) { if(i==j) break; j--; } if(i!=j) { a[i]=a[j]; i++; } while (key>a[i]) { if(i==j) break; i++; } if(i!=j) { a[j]=a[i]; j--; } } a[i]=key; quickSort(l, i-1, a); quickSort(i+1, r, a); } int main(int argc, const char * argv[]) { int a[100000],i,n=100000; for(i=0;i<n;i++) a[i]=arc4random()%100; printf("待排数组:"); for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); unsigned long finish,start; double duration; start = clock(); quickSort(0, n-1, a); //bubbleSort(n, a); selectSort(n, a); finish = clock(); duration = ((double)finish-start)/CLOCKS_PER_SEC; printf("%lf second\n",duration); printf("结果数组:"); for(i=0;i<n;i++) printf("%d ",a[i]); printf("\n"); return 0; }
3) 冒泡排序
int a[5] ={1,2,3,4,6}; BOOL flag = YES; for (int i =0;i<9; i++) { for (int j=0; j<9-i; j++) { if (a[j] > a[j+1]) { int temp = 0; temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; flag = NO; } } if (flag == YES) { break; } } for (int i=0; i<5; i++) { printf("%d ",a[i]); } }
4)字符串倒转
char arr[]={}; printf("请输入一个字符串:\n"); scanf("%s",arr); int len = (int) strlen(arr); for (int i=0; i<len/2; i++) { char temp; temp = arr[i]; arr[i] = arr[len - 1 -i]; arr[len - 1 -i] = temp; } printf("倒转之后字符串为%s",arr);
5)输出直角三角形
for(int i=0;i<3;i++){ for(int j=i;j>=0;j--){ printf("* "); } printf("\n"); }
6)字符串排序
char arr[3][20] = {"liuweijian","hanhong","huzhichao"}; char temp[20]; for (int i = 0; i < 2 ; i++) { for (int j = 0; j < 2 - i; i++) { if (strcmp(arr[j],arr[j+1]) > 0) { strcpy(temp,arr[j]); strcpy(arr[j],arr[j+1]); strcpy(arr[j+1],temp); } } } for (int i = 0; i < 3; i++) { printf("%s\n",arr[i]); }
标签:
原文地址:http://www.cnblogs.com/ChinaTiger/p/4703154.html