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

然后输出交换后的n个数

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

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

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

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

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

6、剔除整数的个位数。

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-02
#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");
}
}
第2个回答  2012-12-21
#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;
}
第3个回答  2012-05-02
#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忘得差不多了,你先去是哈这个
第4个回答  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;
}