第九次作业补
#include<stdio.h> #include<string.h> void z()//判断字符串对称 { int i,l; char a[100]; printf("请输入字符串:"); scanf("%s",a); l=strlen(a); i=0; while(i<l) { if(a[i]!=a[l-1]) break; else { i++; l--; } } if(i>=l) printf("这是一个对称的字符串"); else printf("这不是一个对称的字符串"); } int main() { z(); return 0; }
2.
#include <stdio.h> #include <string.h> void z()//冒泡排序法 { char a[100]; int i,j,l,t; printf("请输入字符串:"); scanf("%s",a); l=strlen(a); for(i=0;i<l;i++) { for(j=l-1;j>0;j--) { if(a[j]<a[j-1]) { t=a[j]; a[j]=a[j-1]; a[j-1]=t; } } } printf("升序排序为:"); for(j=0;j<l;j++) printf("%c",a[j]); } int main() { z(); return 0; }
3.
#include<stdio.h> #include<string.h> void z()//选择排序法 { int i,j,l,t,min; char a[100]; printf("请输入字符串:"); scanf("%s",a); l=strlen(a); for(i=0;i<l;i++) { min=i; for(j=min+1;j<l;j++) { if(a[j]<a[min]) min=j; } t=a[min]; a[min]=a[i]; a[i]=t; } printf("升序排序为:"); printf("%s",a); } int main() { z(); return 0; }
4.
#include<stdio.h> #include<string.h> void z()//插入排序法 { char a[100]; int i,j,l,t,k; printf("请输入字符串:"); scanf("%s",a); l=strlen(a); for(i=1;i<l;i++) { t=a[i]; for(j=0;j<i;j++) { if(a[i]<a[j]) { for(k=i;k>j;k--) a[k]=a[k-1]; break; } } a[j]=t; } printf("升序排序为:"); printf("%s ",a); } int main() { z(); return 0; }