1.冒泡法打印出十个数字的升序 #include<stdio.h> void f1(int a[]) { int i,j,temp; for(i=0;i<10;i++) { for(j=0;j<=10;j++) { if(a[j]>a[j+1]) { temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; } } } } int main() { int a[10]; int i,j; printf("请输入十个数,并用空格隔开!:"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } f1(a); printf("它们从小到大的顺序为: "); for(j=0;j<10;j++) { printf("%d ",a[j]); printf(" "); } return 0; }
2.选择排序法输出十个数的升序 #include<stdio.h> void f2(int a[]) { int i,j,temp; int min=0; for(i=0;i<10;i++) { min=i; for(j=min+1;j<10;j++) { if(a[j]<a[min]) { temp=a[min]; a[min]=a[j]; a[j]=temp; } } } } int main() { int a[10]; int i,j; printf("请输入十个数,并用空格隔开!"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } f2(a); for(j=0;j<10;j++) { printf("%d",a[j]); printf(" "); } return 0; }
3.插入法升序打印十个数 #include<stdio.h> void f3(int a[]) { int i,j,temp; for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(i=1;i<10;i++) { temp=a[i]; for(j=i-1;j>=0&&temp<a[j];j--) { a[j+1]=a[j]; a[j]=temp; } } } int main() { int a[10]; int j; printf("请输入十个数并用空格隔开"); f3(a); for(j=0;j<10;j++) { printf("%d",a[j]); printf(" "); } return 0; }
4.判断该字符串是否对称 #include <stdio.h> #include <string.h> int huiwen(char *ps); int main() { char s[100]; int flag; printf("请输入,回车键结束:"); gets(s); flag=huiwen(s); if(flag) printf("该字符串对称! "); else printf("该字符串不对称! "); return 0; } int huiwen(char *ps) { int i,j,z=1; j=strlen(ps)-1; for(i=0;i<j;i++) { if(ps[i]!=ps[j]) { z=0;return z; } j--; } return z; }