zoukankan      html  css  js  c++  java
  • P176 1.2.3

    心得:第一题是使用一维数组编程中的例题。

    1.第一步在未排序的n个数(a[0]~a[n-1])中找到最小数,将它与a[0]交换。

    2.第二步在剩下未排序的n-1个数(a[1]~a[n-1])中找到最小数,将它与a[1]交换。

    ...........

    3.第n-1步在剩下未排序的两个数(a[n-2]~a[n-1])中找到最小数,将它与a[n-2]交换。

    第二题与例题7-6相似。

    第三题是使用二维数组编程中关于矩阵上三角的问题。下标规律为   i<=j

    /*
    1.选择法排序。输入一个正整数n (1<n<10),再输入n个正整数,将它们从大到小排序后输出。
     试编写相应的程序。*/
    #include<stdio.h>
    int main (void)
    {
        int i,index,k,n,t;
        int a[10];
        printf("enter n:");
        scanf("%d",&n);
        printf("enter %d integer;",n);
            for(i=0;i<n;i++)
                scanf("%d",&a[i]);
            for(k=0;k<n-1;k++)
    {
                index=k;
              for(i=k+1;i<n;i++)
                if(a[i]<a[index])
                    index=i;
                t=a[index];
                a[index]=a[k];
                a[k]=t;
    }
         printf("after sorted:");
           for(i=0;i<n;i++)
             printf("%4d",a[i]);
             printf("
    ");
             return 0;
    
    }

    /*求一批整数中出现最多的数字*/
    
    #include<stdio.h>
    int main(void)
    {
      int n,i,max=0,temp,time[10]={0};
      printf("Enter n:");
      scanf("%d",&n);
      printf("Enter %d integers:",n);
      for(i=0;i<n;i++){
        scanf("%d",&temp);
        while(temp!=0){
          time[temp%10]++;
          temp/=10;
        }
      }
        for(i=0;i<10;i++){
          if(max<time[i])
            max=time[i];
        }
      printf("出现最多次数%d次的数字是:",max);
      for(i=0;i<10;i++)
        if(time[i]==max)
          printf("%d ",i);
    
      printf("
    ");
      return 0;
    }

    /*
    3.判断上三角矩阵。输入一个正整数n(1<n<6)和n阶方阵a中的元素,
    如果a是上三角矩阵,输出"YES",否者输出“NO”。上三角矩阵
    指主对角线以下的元素都为零的矩阵。主对角线为从矩阵的左上角至右下角的连线。
    试编写相应程序。*/
    #include<stdio.h>
    int main(void)
    {
        int a[6][6],flag,i,j,n;
        printf("enter n:");
        scanf("%d",&n);
        printf("enter array:
    ");
        for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                scanf("%d",&a[i][j]);
        flag=1;
        for(i=0;i<n;i++)
            for(j=0;j<i;j++)
                if(a[i][j]!=0)
                    flag=0;
                if(flag)
                    printf("YES
    ");
                else
                    printf("NO
    ");
                return 0;
    }

  • 相关阅读:
    正则表达式全部符号解释
    如何在开机启动时自动打开小键盘灯
    SQL SERver2005中row_number() 的用法
    用命令打开控制面板的各项
    SQL Server 2008 对 TSQL 语言的增强
    SQL2000DBCC DBREINDEX重建索引提高SQL Server性能
    Sql Server 中常用的字符串函数
    coalesce的用法
    word to PD R qm addin 运行时错误‘91’
    Windows系统:开始–运行–命令大全
  • 原文地址:https://www.cnblogs.com/yixiaoxia/p/yixiaoxia8.html
Copyright © 2011-2022 走看看