解题思路:1.考察函數聲明和函數調用
2.考察循環數組遍歷
3.注意不是排序,而是查找
注意事项:
参考代码:
#include<stdio.h>
void fun_0(int *a,int b);//數組輸入
//void fun_1(int *get,int len);//冒泡排序,注意不是這個
void fun_2(int *get,int len);//數組遍歷輸出
void fun_3(int *get,int len);//查找最大值和最小值並交換位置
int main(void)
{
int number_0[10];
fun_0(number_0,10);
// fun_1(number_0,10);//示例,不調用
fun_3(number_0,10);
fun_2(number_0,10);
return 0;
}
void fun_0(int *a,int b)
{
int i;
for(i=0;i<b;i++){
scanf("%d",&a[i]);
}
}
/*void fun_1(int *get,int len)//冒泡排序法
{
int i,j;
for(i=0;i<len-1;i++){
for(j=0;j<len-i-1;j++){
if(get[j]>get[j+1]){
int tmp=get[j];
get[j]=get[j+1];
get[j+1]=tmp;
}
}
}
}*/
void fun_2(int *get,int len)
{
int i;
for(i=0;i<len;i++){
printf("%d ",get[i]);//注意題解,每個數字後面都有空格
// if(i<9){
// printf(" ");
// }
}
}
void fun_3(int *get,int len)
{
int i;
int max_scr,min_scr;//位置記錄
int max_num,min_num;//最大值和最小值
int tmp;
max_num=get[0];
min_num=get[0];
//查找最大值和最小值
for(i=0;i<len;i++){
if(get[i]>max_num){
max_num=get[i];
}
if(get[i]<min_num){
min_num=get[i];
}
}
//查找最大值在的位置並交換
for(i=0;i<len;i++){
if(get[i]==max_num){
max_scr=i;
tmp=get[9];
get[9]=get[max_scr];
get[max_scr]=tmp;
break;
}
}
//查找最小值在的位置並交換
for(i=0;i<len;i++){
if(get[i]==min_num){
min_scr=i;
tmp=get[0];
get[0]=get[min_scr];
get[min_scr]=tmp;
break;
}
}
}
0.0分
1 人评分