解题思路:

  分别定义接收、处理和交换、输出三个函数体,通过主函数调用,输出结果。

  在交换过程中,需要通过遍历,分别找出最大数和最小数以及他们的下标,分别按题目要求,进行交换。

涉及知识点:

  函数调用、下标的运用。


代码如下:


#include<stdio.h>
#define kk 10

int shuru(int a[kk])       //接收要输入的函数;
{
	int i;
	for(i=0;i<kk;i++)
	{
		scanf("%d",&a[i]);
	}
	
}


int chuli(int c[kk])      //处理和交换函数
{
	int i,y,z,t1=0,t2=0;
	int d=0,x=0;
	
	d=c[0];       //初始化数组中最小的数
	x=c[9];      //初始化数组中最大的数
	for(i=0;i<kk;i++)//遍历数组
	{
		if(d>c[i])//找最小的数和下标
		{
			d=c[i];
			y=i;			
		}
		if(x<c[i])//找最大的数和下标
		{
			x=c[i];
			z=i;
		}
	}	
   
   	
    t2=c[9];   //数组中最大的数与数组中最后一位数交换位置
    c[9]=x;
    c[z]=t2;

    t1=c[0];//数组中最小的数与数组中第一位数交换位置
    c[0]=d;
    c[y]=t1;
   	
}


int shuchu(int b[kk])//输出,带空格
{
	int i;
	
	 for(i=0;i<kk;i++)
	   { 
		   printf("%d ",b[i] );

	   }

	
}


int main()     //调用定义好的函数;
{
	int u[kk];
	shuru(u);
	chuli(u);
	shuchu(u);
	return 0;
}


 

0.0分

0 人评分

  评论区

10
9
8
7
6
5
4
3
2
1
 输出:1 9 8 7 6 5 4 3 2 1
输入和输出不符合对换数 网站评分还是过了
2017-11-28 20:44:37 | |
有负数怎么办,而且你竟然AC了!
2017-10-09 20:31:21 | |
写得好!!!!!大赞!
2017-08-04 13:01:16 | |
  • «
  • 1
  • »