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

    一、本周完成的作业:

    挑战题7-1:

    1).实验代码

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

    2) 设计思路

    将前面一个数和后面一个数比较,如果后面的数大,就将2个数调换顺序,然后依次循环,就可以达到从大到小的排序了。

    3).本题调试过程碰到问题及解决办法

     没什么问题

    4).运行结果截图

     

    基础题5-1:

    1).实验代码

    #include <stdio.h>
    int main(void)	
    {	
       	int found, i, k, n;
       	int a[10][10];
    
       	scanf ("%d", &n);
       	for (i = 0; i < n; i++)	
       		for (k = 0; k < n; k++)
    			scanf("%d", &a[i][k]);
    
     	found = 1;
       	for (i = 0; i < n; i++){	
       		for (k = 0; k < i; k++){
       			if ((3分)) {	
    			    ;          
               	            break;
           	                 }
    		}
    		if (){
    			break;
       		}
      	}
    
      	if (found != 0){
      		printf("Yes
    ");
      	}  
      	else{
      		printf("No
    ");
      	}  
    
    	return 0;
    }

    2).设计思路
    这个填空题只需要判断a[i][k]等不等于a[k][i],即所有元素是否沿着主对角线对称,不相等即赋值found=0;最后判断found是否等于0,等于0则输出No,反之输出yes
    3).本题调试过程碰到问题及解决办法
    没有问题
    基础题7-1:
    1).实验代码

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

    }

    4).运行结果截图

    基础题7-2:

    1).实验代码

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

    2) 设计思路

    这个题用选择排序法,选择排序法就是在未排序的n个数中找到最大数,然后将它与第一个数字交换位置,然后再在剩下未排序的n-1个数中重复上述步骤,依次循环就可以得到从大到小的顺序了。

    3).本题调试过程碰到问题及解决办法

    这个题书上也有类似的题目,看看书做,没什么问题

    4).运行结果截图

  • 相关阅读:
    2020软件工程作业02
    第一次作业
    伪造IP
    Windows 上安装metasploit
    Kali安装 Typora
    在linux系统中安装调用汉语打字软件
    2020 年 10 月 10 日跑步随想
    最长公共前缀
    N皇后
    一道有趣的异步题
  • 原文地址:https://www.cnblogs.com/lyp82ndl/p/10577644.html
Copyright © 2011-2022 走看看