2019年春季学期第4周作业

基础题:
1·选择法排序

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



    return 0;
}

设计思路:

遇到的问题:格式错误

解决方法:看了下题目,再和小伙伴讨论了一下,看漏了一句行末不能有多余空格,百度搜了一下如何处理
运行结果:

题目二:找鞍数
题目代码:

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

 int n,a[n][n],i,j,h,y;
 scanf("%d",&n);


for(i=0; i<n; i++){
for(j=0; j<n; j++){  
scanf("%d",&a[i][j]);  
    }          
}

int index=0,judge=1;
  h=0;
y=0; 
if(n==1){
    printf("0 0");
}else{  
for(i=0; ia[j][h]){
index=j; break;
}
}

if(i==index){
judge=0;
break;
}
}
if(judge==0) printf("%d %d",i,h);
else printf("NONE");
}
return 0;

}

设计思路:这题在完善中我先交为敬
遇到的问题:编译错误
解决方法:
运行截图:

挑战作业冒泡法排序
题目代码:

    #include<stdio.h>
void bubble(int a[],int n);
int main(void)
{
  int n,a[10];
  int i;
  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-i;j++)
  
  if(a[j]<a[j+1]){
  
  t=a[j];a[j] =a[j+1];a[j+1]=t;
  

  } 
}

设计思路:

遇到的问题:编译错误

解决方法:放DEV-c++里搞一下,还有看下书,书上有类似例题
运行结果截图:

posted @ 2019-03-22 20:45  贺勇  阅读(133)  评论(0编辑  收藏  举报