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++里搞一下,还有看下书,书上有类似例题
运行结果截图: