• C语言作业9


    1.编写函数判断用户输入的字符是否是对称的字符串(即顺读和倒读都一样的字符串)。例如“XYZYX”和“xyzzyx”都是对称的。

    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        int f,i=0,a[100],n,j;
        char x;
        do
        {
            i++;
            x=getchar();
            a[i]=(int)(x);
        }
        while(a[i]!=10);
        n=i;
        if(n==3||n==4)
        {
            if(a[n-1]==a[1])
                goto END1;
            else
                goto END2;
        }
        for(j=1; f&&j<=(n/2); j++)
        {
            f=0;
            if(a[j]==a[n-j])
                f=1;
        }
        if((float)j>=((float)(n)/2))
            END1:printf("Yes
    ");
        else
            END2:printf("No
    ");
        return 0;
    }

    2. 编写函数用冒泡排序法将用户输入的若干个数(或学生姓名)按升序排序。

    #include <stdio.h>
    int main()
    {
        int a[10];
        int i,j,temp;
        for(i=0;i<10;i++)
            scanf("%d",&a[i]);
        for(j=0;j<9;j++)
            for(i=0;i<9-j;i++)
            {
                if(a[i]>a[i+1])
                {
                    temp=a[i];
                    a[i]=a[i+1];
                    a[i+1]=temp;
                }
            }
         for(i=0; i<10;i++)
            printf("%d,",&a[i]);
         printf("
    ");
         return 0;
    }

    3. 编写函数用选择排序法将用户输入的若干个数(或学生姓名)按升序排序。

    #include<stdio.h>
    int max(int a[])
    {
        int i,j,t;
        for(i=0;i<10;i++)
            for(j=i+1;j<10;j++)
            if (a[i]>a[j])   
        {
            t=a[i];   
            a[i]=a[j];   
            a[j]=t;  
        }
    }
    int main()
    {
    
         int a[10],i;
         printf("输入十个数字:");       
         for(i=0;i<10;i++)
              scanf("%d",&a[i]);
         max(a);
         for(i=0;i<10;i++)      
         printf("%d  ",a[i]);
         return 0; 
    }

    4. 编写函数用插入排序法将用户输入的若干个数(或学生姓名)按升序排序。

    #include<stdio.h>
    int main()
    {
         int a[11],n,i,j;
         printf("输入10个数:");
         for(i=1;i<=10;i++)
             scanf("%d",&a[i]);
         for(i=2;i<=10;i++)
         {
             a[0]=a[i];
             for(j=i-1;a[j]>a[0];j--)
             a[j+1]=a[j];
             a[j+1]=a[0];
         }
         for(i=1;i<=10;i++)
         printf("%d ",a[i]);
         printf("
    ");
         return 0;
    }

    到网上百度了好多...还问了好多同学..无论怎样终于把作业写出来了.感谢

  • 相关阅读:
    import nonWPF types into the markup
    using放在namespace里面还是外面?
    WCF Contracts
    Properties Specific to RoutedEventArgs
    sql将浮点表示的日期转化为标准日期
    Debug into WCF ServiceReference
    让form自适应高度
    Qt Access violation code c0000005 debug write access violation
    C++支持多态的几种方法
    java on CentOS
  • 原文地址:https://www.cnblogs.com/ljxsol/p/6099431.html
Copyright © 2020-2023  润新知