• 2019春季学期第四周作业


    2019春季学期第四周作业


    这个作业属于那个课程 C语言程序设计Ⅰ
    这次作业要求在哪里 2019春季学期第四周作业
    我在这个课程的目标是 我希望能够更加掌握循环和排序
    参考文献

    选择法排序

    本题要求将给定的n个整数从大到小排序后输出。
    输入格式

    输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
    

    输出格式

    在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
    

    输入样式

    4
    5 1 7 6
    

    输出样例

    7 6 5 1
    

    1. 代码块

    #include<stdio.h>
    int main (void)
    {
    	int index,i,k,n,temp;
    	int a[10];
    	scanf("%d",&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;
    			temp=a[index];
    			a[index]=a[k];
    			a[k]=temp;
    		
    	}
    	printf("%d",a[0]);
    	for(i=1;i<n;i++)
    		printf(" %d",a[i]);
    	return 0;
    }
    

    2. 设计思路(流程图)

    3.有对自己作业的评价

    存在问题和解决办法:
    这次作业是书上一样的,所以问题不大。主要因为老师在课堂上讲解了
    心得:
    让我学会了选择排序法。

    4.程序运行结果图

    找鞍点

    一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。
    本题要求编写程序,求一个给定的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
    

    1. 代码块

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

    2. 设计思路(流程图)

    3.有对自己作业的评价

    存在问题和解决办法:
    本次找鞍点的题目我遇到的问题是我知道思路,但是不知道怎么写,这是很难受的,然后在室友的点拨下我敢于去尝试。但是现实很残酷在写完输入二维数组的时候,后面就卡住了,我不知道要用几个循环,这还是在我向我室友求救才解答的出来。
    心得:
    这次作业让我对循环进一步加强了

    4.程序运行结果图

    冒泡法排序

    输入1个正整数n(1<=n<=10),然后输入n个整数并存放在数组中,将这n个整数从大到小排序后输出,相邻数字间有一个空格,行末不得有多余空格。
    输入格式

    输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
    

    输出格式

    在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
    

    输入样式1

    4 
    75 71 77 76
    

    输出样例1

    77 76 75 71
    

    1. 代码块

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

    2. 设计思路(流程图)

    3.有对自己作业的评价

    存在问题和解决办法:
    本次挑战作业需要用冒泡排序法,这个毕竟是挑战作业,所以和书上的选择排序法有点不同。我通过室友的讲解知道,所谓冒泡排序法就是第一个数和第二个数比较,然后第二个数和第三个数比较,这样以此类推。所以就通过这样的思路去写的。此次作业遇到的问题也还是循环的问题。我发现循环是我的天敌。
    心得:
    对循环有更多的了解。

    4.程序运行结果图

    时间消耗
    学习进度条
    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较困惑的问题
    3/18-3/22 3天 100 选择排序法和了解冒泡排序法 循环有点小问题
  • 相关阅读:
    第9.11节 Python中IO模块文件打开读写操作实例
    第9.10节 Python中IO模块其他文件操作属性和方法简介
    Python使用import导入模块时执行了模块的文件但报ModuleNotFoundError错误的愚蠢问题
    Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案
    第9.9节 Python文件随机读写定位操作方法seek
    第9.8节 Python使用writelines函数写入文件内容
    第9.7节 Python使用write函数写入文件内容
    Python中import模块时报SyntaxError: (unicode error)utf-8 codec can not decode 错误的解决办法
    The 2nd tip of DB Query Analyzer
    水仙花数优化问题:穷举法、查找表法、组合数学法
  • 原文地址:https://www.cnblogs.com/ct1314/p/10580215.html
Copyright © 2020-2023  润新知