与神明说


私信TA

用户名:subject

访问量:32268

签 名:

听闻黄昏是个浪漫主义者,难怪夕阳会爱上他

等  级
排  名 373
经  验 5031
参赛次数 0
文章发表 33
年  龄 24
在职情况 在职
学  校
专  业 软件技术

  自我简介:

可有偿指导,可代做毕设,课设,作业,(qq:1159921160,备注来意)

解题思路:

    运用二维数组在十个数输入的时候,记录下最大数,最小数的值和下标
    循环结束后 交换最大数,最小数。
    打印输出



注意事项:

    注意输出格式。最后的数字后有一个空格
    最小数,最大数要一个个按照顺序互换位置,防止,最大数在数组第一个位置


参考代码:

#include"stdio.h" 
int main(){
	int i,t;  //i循环下标,t用于数的互换 
	int num[10];
	int find[2][2]; //二维数组记录最大数,最小数的值和下标 
	 
	scanf("%d",&num[0]);
	find[0][0]=find[1][0]=num[0];
	
	for(i=1;i<10;i++){
		scanf("%d",&num[i]);
		//循环遍历找出最大数,并记录下其标 
		if(find[0][0]<num[i]){
			find[0][0]=num[i];
			find[0][1]=i;
		}
		//循环遍历找出最小数,并记录下其标 
		if(find[1][0]>num[i]){
			find[1][0]=num[i];
			find[1][1]=i;
		}
	}
	//交换最小数位置 
	if(find[1][1]!=0){
		t=num[0];
		num[0]=find[1][0];
		num[ find[1][1] ]=t;  // find[1][1]为最小数的数组位置下标
		if(find[0][1]==0){    // 最大数的数组位置下标若是,更新最大数的数组位置
		    find[0][1]=find[1][1];
		}
	}
	//交换最大数位置 
	if(find[0][1]!=9){
		t=num[9];
		num[9]=find[0][0];
		num[find[0][1]]=t;
	}
	for(i=0;i<10;i++){
		printf("%d ",num[i]);
	}
	return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区