首页 > 其他 > 详细

PTA第四周总结2

时间:2019-03-22 21:16:46      阅读:161      评论:0      收藏:0      [点我收藏+]

题目一:选择法排序

1)实验代码

#include<stdio.h>
int main(void)
{

  int i,j,max,n,temp,a[10];
  
  scanf("%d",&n);
  
  for(i=0;i<n;i++)
    {
      
    scanf("%d",&a[i]);
    
  }
  for(i=0;i<n;i++)
    {
    max=i;
    
      for(j=i+1;j<n;j++)
             {
           if(a[j]>a[max]) 
                   {
                     max=j;
                 }
          }
      temp=a[max];
      a[max]=a[i];
      a[i]=temp;
  }
    printf("%d",a[0]);
    
    for(i=1;i<n;i++)
         {
        printf(" %d",a[i]);
       }
    return 0;
}

2)设计思路

 

3)本题调试过程中遇到的问题及解决办法

技术分享图片

这个题目主要是最后一句话行末不得有空格我理解错了,查了一下百度,其余的问题不大

4)运行结果截图

技术分享图片

题目二:找鞍点

1)代码截图

 

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

2)设计思路

 

3)本题遇到的问题及解决方案

技术分享图片

这题我是真的不会写,问了室友,自身能力有待加强写不出来

4)运行结果截图

技术分享图片

题目三:冒泡法排序

1)代码截图

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

2)设计思路

 

3)本题调试过程遇到的问题及解决方案

技术分享图片

这题我参考了书上191上的冒泡排序,利用指针及自定义函数解决了这道题,还是得多多练习,自身能力不足

4)运行结果截图

技术分享图片

PTA第四周总结2

原文:https://www.cnblogs.com/wangweihanqq2001/p/10580815.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!