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

然后输出交换后的n个数... 然后输出交换后的n个数 展开
 我来答
刺友互
高粉答主

2019-06-26 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:66.2万
展开全部

1、首先建立一个工程和.c文件。

2、然后输入头文件和主函数。

3、定义变量类型并初始化。

4、输入一个正整数n(1<n《10),再输入n个整数。

5、将最小值与第一个数交换,最大值与最后一个数交换。

6、剔除整数的个位数。

7、最后得到输出的结果。

8、编译,运行,得到最后的结果。

百度网友60649da
2012-05-02 · TA获得超过139个赞
知道答主
回答量:55
采纳率:0%
帮助的人:19.8万
展开全部
#include "stdio.h"

void main()
{
int a[10],n,i;
int iMax = 0;
int iMin = 0;
int temp;
while(scanf("%d",&n)!=EOF)//循环存入数字个数
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);//获取键盘输入的n个数字
}
for(i=0;i<n;i++)
{
if(i>0 && a[iMax]<a[i])
{
iMax=i;//取最大数的坐标
}
if(i>0 && a[iMin]>a[i])
{
iMin=i;//取最小数的坐标
}
}
if(iMax!=iMin)//最大和最小进行数据交换
{
temp=a[iMax];
a[iMax]=a[iMin];
a[iMin]=temp;
}
for(i=0;i<n;i++)//输出
printf("%4d",a[i]);
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天命寻梦时
2012-12-21
知道答主
回答量:3
采纳率:0%
帮助的人:2.8万
展开全部
#include <stdio.h>
int main(void)
{
int i,n,max,min,temp;
int a[10];
printf("Enter n: ");
scanf("%d",&n);
printf("Enter %d integers: ",n);
max = min =0;首先不知道最大,小 值的时候,预定值得大,小为0.也就是为数组中的第一个值大小。
for(i=0;i<n;i++)
{
scanf("%d",&a[i]); 输入为第一个的值大小 ,通过依次比较10个数组值的大小,从而得出最值大小。
if(a[i]>a[max])
max = i;如果i 数组大小大于max 则把i的值赋给max。
if(a[i]<a[min]) 同理也就可以得出min的 大小了。
min = i;
}
temp = a[max]; 通过数组就可以简单地转换 最小值与第一个数。或者。最大值与最后一个数了。
a[max] = a[n-1];
a[n-1] = temp;
temp = a[min];
a[min] = a[0];
a[0] = temp;
for(i=0;i<n;i++)
printf("%6d",a[i]);最后输出经过转换后的数组值就可以了。
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a472095243
2012-05-02 · TA获得超过186个赞
知道答主
回答量:118
采纳率:0%
帮助的人:86万
展开全部
#include"studio.h"
void main()
{int i,n,min,max,t,*a;
printf("Input a number :\n");
scanf("%d",&n);
a=(int*)malloc(n*sizeof(int));
printf("Input %d number:\n",n);
for(i=0;i<n;i++)
scanf("%d";&a[i]);
min=a[0];max=a[n-1];
for(i=0;i<n;i++)
{if(a[i]<min)min=a[i];
if(a[i]>max)max=a[i];
}
t=a[0];a[0]=min;t=a[n-1];a[n-1]=max;
}
我C忘得差不多了,你先去是哈这个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-05-25
展开全部
#include <stdio.h>
int main()
{
int i,j,n,max,min,index1,index2,a[10];
printf("Enter in the n:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
max = a[0];
min = a[0];
for(i=1;i<n;i++)
{
if(max<a[i])
{
max = a[i];
index1 = i;
}
}
for(j=1;j<n;j++)
{
if(min>a[j])
{
min = a[j];
index2 = j;
}
}
{
int temp1,temp2;
temp1 = a[index1];
a[index1] = a[n-1];
a[n-1] = temp1;
temp2 = a[index2];
a[index2] = a[0];
a[0] = temp2;
}
for(i=0;i<n;i++)
printf("%d\t",a[i]);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式