C语言 输入10个整数存入一维数组,将其中的最大值与最后一个数交换,最小数与第1个数交换
这是我的代码#include<stdio.h>intmain(){inta[10];inti,t,max,min;for(i=0;i<10;i++)scanf("%d",...
这是我的代码
#include<stdio.h>
int main()
{
int a[10];
int i, t, max, min;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
min = max =0;
for (i = 0; i < 10; i++)
{
if (a[i] > max)
{
max = i;
}
if (a[i] < min)
{
min = i;
}
}
t = a[min];
a[min] = a[max];
a[max] = t;
for (i = 0; i < 10; i++)
printf("%d\t", a[i]);
return 0;
}
输入
10 8 34 45 67 78 42 43 89 3
输出的是
89 8 34 45 67 78 42 43 10 3 我的答案
而要求却是
3 8 34 45 67 78 42 43 10 89 展开
#include<stdio.h>
int main()
{
int a[10];
int i, t, max, min;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
min = max =0;
for (i = 0; i < 10; i++)
{
if (a[i] > max)
{
max = i;
}
if (a[i] < min)
{
min = i;
}
}
t = a[min];
a[min] = a[max];
a[max] = t;
for (i = 0; i < 10; i++)
printf("%d\t", a[i]);
return 0;
}
输入
10 8 34 45 67 78 42 43 89 3
输出的是
89 8 34 45 67 78 42 43 10 3 我的答案
而要求却是
3 8 34 45 67 78 42 43 10 89 展开
2个回答
展开全部
#include<stdio.h>
void cc(int a[])
{
int max, min, t, MAX, MIN, i, k;
max = a[0]; min = a[0]; MAX = 0; MIN = 0;
for (i = 1; i < 10; i++)
{
if (a[i] > max)
max = a[i], MAX = i;
if (a[i] < min)
min = a[i], MIN = i;
}
if (MAX == 0 && MIN == 9)
t = a[0], a[0] = a[9], a[9] = t;
else
{
t = a[0]; a[0] = a[MIN]; a[MIN] = t;
t = a[9]; a[9] = a[MAX]; a[MAX] = t;
}
}
int main(void)
{
int a[10], i;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
cc(a);
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
}
void cc(int a[])
{
int max, min, t, MAX, MIN, i, k;
max = a[0]; min = a[0]; MAX = 0; MIN = 0;
for (i = 1; i < 10; i++)
{
if (a[i] > max)
max = a[i], MAX = i;
if (a[i] < min)
min = a[i], MIN = i;
}
if (MAX == 0 && MIN == 9)
t = a[0], a[0] = a[9], a[9] = t;
else
{
t = a[0]; a[0] = a[MIN]; a[MIN] = t;
t = a[9]; a[9] = a[MAX]; a[MAX] = t;
}
}
int main(void)
{
int a[10], i;
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
cc(a);
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询