解题思路:
把最小值,最大值的下标都定在第一个,只需要知道最小值和最大值的下标就可以交换解决问题啊!怎么答案错误???????
注意事项:
参考代码:
#include <stdio.h>
void input(int a[],int n);
void cmp(int a[],int n);
void print(int a[],int n);
int main()
{
int a[10]={0};
input(a,10);
cmp(a,10);
print(a,10);
return 0;
}
void input(int a[],int n)
{
int i;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
void cmp(int a[],int n)
{
int i,min=0,max=0;//把最小值,最大值的下标都定在第一个,只需要知道最小值和最大值的下标就可以解决啊!怎么答案错误???????
for(i=1;i<n;i++){
if(a[i]<a[min])
min=i;
if(a[i]>a[max])
max=i;
}
if(min!=0){
int temp=a[0];
a[0]=a[min];
a[min]=temp;
}
if(max!=n-1){
int temp=a[max];
a[max]=a[n-1];
a[n-1]=temp;
}
}
void print(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
0.0分
0 人评分
【排队买票】 (C语言代码)浏览:899 |
三角形 (C语言代码)浏览:903 |
母牛的故事 (C语言代码)浏览:715 |
Cylinder (C语言描述+详细分析)浏览:3258 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1908 |
图形输出 (C语言代码)浏览:1375 |
罗列完美数 (C语言代码)浏览:491 |
printf基础练习2 (C语言代码)浏览:503 |
企业奖金发放 (C语言代码)浏览:2313 |
C二级辅导-等差数列 (C语言代码)浏览:770 |