c语言编程 输入一个正整数n(1<n《10),再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,

然后输出交换后的n个数... 然后输出交换后的n个数 展开
 我来答
zsx10110
2012-05-02 · TA获得超过8871个赞
知道大有可为答主
回答量:2369
采纳率:66%
帮助的人:3059万
展开全部
#include<stdio.h>
#include<malloc.h>
int main()
{
printf("input num");
int num;
scanf("%d",&num);

int *a = (int *)malloc(sizeof(int)*num);
int maxs,mins;
int pos1,pos2;
for(int i=0;i<num;i++)
{
scanf("%d",&a[i]);
if(i==0)
{
maxs=a[i];
mins=a[i];
pos1=i;
pos2=i;
}

else
{
if(a[i]>maxs)
{
maxs=a[i];
pos1=i;
}

if(a[i]<mins)
{
mins=a[i];
pos2=i;
}

}
}

int temp = a[0];

a[0]= mins;

a[pos2] = temp;

temp = a[num-1];

a[num-1]= maxs;

a[pos1]= temp;

for(i=0;i<num;i++)
{
printf("%d ",a[i]);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lyhdez1
2012-05-02 · TA获得超过1942个赞
知道小有建树答主
回答量:687
采纳率:100%
帮助的人:831万
展开全部
#include<stdio.h>
void main()
{
int i,n;
int a[10];
int s,p;

printf("n: ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
s=a[0];
p=0;
for(i=1;i<n;i++)
{
if(s<a[i])
{
s=a[i];
p=i;
}
}
a[p]=a[n-1];
a[n-1]=s;
s=a[0];
p=0;
for(i=1;i<n;i++)
{
if(s>a[i])
{
s=a[i];
p=i;
}
}
a[p]=a[0];
a[0]=s;
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Tecyle
2012-05-02 · TA获得超过293个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:152万
展开全部
#include<iostream>
using namespace std;

main()
{
int n, *a, t;
int min, max;
min = max = 0;
cin>>n;
a = new int[n];
for(int i=0; i < n; i++)
{
cin>>a[i];
if(a[i] < a[min])
min = i;
if(a[i] > a[max])
max = i;
}
t = a[min];
a[min] = a[0];
a[0] = t;

t = a[max];
a[max] = a[n-1];
a[n-1] = t;

for(int j=0; j < n; j++)
cout<<a[j]<<" ";
cout<<endl;
}
追问
我试了一组数。。输出的结果不对啊。。
追答
我自己试了一组数是对的,先输入一个数,表示要输入多少个数,然后依次输入这些数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式