首页 > 代码库 > 第九次作业补

第九次作业补

#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;    
}

第九次作业补