zoukankan      html  css  js  c++  java
  • 2019年春季学期第四周作业

    选择法排序

    本题要求将给定的n个整数从大到小排序后输出。
    输入格式:
    输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
    输出格式:
    在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

    输入样例:

    4
    5 1 7 6
    

    输出样例:

    7 6 5 1
    

    实验代码

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

    思维导图


    PTA截图


    找鞍点

    一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
    本题要求编写程序,求一个给定的n阶方阵的鞍点

    输入格式:
    输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。
    输出格式:
    输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。

    输入样例1:

    4
    1 7 4 1
    4 8 3 6
    1 6 1 2
    0 7 8 9
    

    输出样例1:

    2 1
    

    输入样例2:

    2
    1 7
    4 1
    

    输出样例2:

    NONE
    

    实验代码

    #include <stdio.h>  
    int main()  
    {   
     	int i, j, n;  
        int l=0,h=0,flag=1,p=0;
        scanf("%d",&n); 
    	int a[n][n];    
          
        for(i=0; i<n; i++)  
            for(j=0; j<n; j++){  
                scanf("%d",&a[i][j]);  
            }  
        
        if(n==1)  
            printf("0 0");
        else{  
            for(i=0; i<n; i++){  
                h=i;  
                for(p=0; p<n; p++){  
                    if(a[i][l]<=a[i][p]) {  
                        l=p;  
                    }  
                }  
                for(j=0; j<n; j++){  
                    if(a[h][l]>a[j][l]){  
                        h=j;  
                        break;  
                    }  
                }  
    
                if(i==h){  
                    flag=0;  
                    break;  
                }  
    
            }  
            if(flag==0)  
                printf("%d %d",i,l);  
            else 
    			printf("NONE");  
        }
    	  
        return 0;  
    }  
    

    思维导图


    PTA截图


    遇到的问题

    在写找鞍点时找列最小值不能正确找到。参考了csdn上的内容后解决。


    学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    3/3-3/9 4小时 100行 二维数组和文件的读取与写入 暂无
    3/10-3/16 4小时 100行 怎么找和最大的子数组 暂无
    3/17-3/23 4小时 100行 冒泡排序 暂无
  • 相关阅读:
    Dynamics AX 2012 R2 配置E-Mail模板
    Dynamics AX 2012 R2 设置E-Mail
    Dynamics AX 2012 R2 为运行失败的批处理任务设置预警
    Dynamics AX 2012 R2 耗尽用户
    Dynamics AX 2012 R2 创建一个专用的批处理服务器
    Dynamics AX 2012 R2 创建一个带有负载均衡的服务器集群
    Dynamics AX 2012 R2 安装额外的AOS
    Dynamics AX 2012 R2 将系统用户账号连接到工作人员记录
    Dynamics AX 2012 R2 从代码中调用SSRS Report
    Dynamics AX 2012 R2 IIS WebSite Unauthorized 401
  • 原文地址:https://www.cnblogs.com/aomiaox/p/10579096.html
Copyright © 2011-2022 走看看