C语言——将用户输入的10个元素的数组中最大的与第一个元素交换,最小的与最后一个元素交换,输出数组

运行效果:请输入10个数字:3627198054交换后的结果为:9627138450请按任意键继续_最好用最基本的方法,写出代码,谢谢了!... 运行效果:请输入10个数字:3 6 2 7 1 9 8 0 5 4

交换后的结果为:9 6 2 7 1 3 8 4 5 0

请按任意键继续_
最好用最基本的方法,写出代码,谢谢了!
展开
 我来答
百度网友35e80f595
2010-05-14 · TA获得超过116个赞
知道小有建树答主
回答量:79
采纳率:0%
帮助的人:70.6万
展开全部
#include <stdio.h>
#define max 10
void change(int* p)
{
int i,maxk=0,mink=0,temp; //maxk,mink分别记录着最大和最小值的下标
for(i=1;i<max;i++)
{
if(p[i]>p[maxk])
maxk=i;
if(p[i]<p[mink])
mink=i;
}
temp=p[maxk];p[maxk]=p[0];p[0]=temp;
temp=p[mink];p[mink]=p[max-1];p[max-1]=temp;
}
int main ()
{
int num[max],i;

for(i=0;i<max;i++)
scanf("%d",num+i);
change(num);
printf("交换后:\n");
for(i=0;i<max;i++)
printf("%d\t",num[i]);
printf("\n");
return 0;
}
chenbobio
2010-05-14 · TA获得超过429个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:110万
展开全部
#include<stdio.h>
int main(void)
{
int a[10],i,min,max,b,c;
printf("input 10 integers:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
min=0;max=0;
for(i=1;i<10;i++)
if(a[i]<a[min])
min=i;
b=a[min];
a[min]=a[9];
a[9]=b;
for(i=1;i<10;i++)
if(a[i]>a[max])
max=i;
c=a[max];
a[max]=a[0];
a[0]=c;
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式