
谁帮我完成一道C语言题
2、输入10个整数存入数组中,将最小的数与第一个数交换,最大的数与最后一个数交换,然后输出交换位置后的10个数。(本题输入的10个整数中,只有一个最大数和一个最小数)...
2、输入10个整数存入数组中,将最小的数与第一个数交换,最大 的数与最后一个数交换,然后输出交换位置后的10个数。(本题 输入的10个整数中,只有一个最大数和一个最小数)
展开
3个回答
展开全部
#include<stdio.h>
#define b 10
void input(int a[])
{int i;
for(i=0;i<b;i++)
scanf("%d",&a[i]);
}
void change(int a[]) //去除了原算法中在某些情况下的bug。
{
int max=a[0],min=a[0],i,k=0,l=0,m,n;
for(i=1;i<b;i++)
{if(max<a[i]) {max=a[i];k=i;}
if(min>a[i]) {min=a[i];l=i;}
}
m=a[k];a[k]=a[b-1];a[b-1]=m;
if(a[k]!=min)
{n=a[l];a[l]=a[0];a[0]=n;}
else
{n=a[k];a[k]=a[0];a[0]=n;}
}
void output(int a[])
{int i;
for(i=0;i<b;i++)
printf("%d\n",a[i]);
}
void main()
{
void input(int a[]);
void change(int a[]);
void output(int a[]);
int a[b];
input(a);
change(a);
output(a);
}
//输入的时候 输入类似 9 8 7 6 5 4 3 2 1 0 这样输入
#define b 10
void input(int a[])
{int i;
for(i=0;i<b;i++)
scanf("%d",&a[i]);
}
void change(int a[]) //去除了原算法中在某些情况下的bug。
{
int max=a[0],min=a[0],i,k=0,l=0,m,n;
for(i=1;i<b;i++)
{if(max<a[i]) {max=a[i];k=i;}
if(min>a[i]) {min=a[i];l=i;}
}
m=a[k];a[k]=a[b-1];a[b-1]=m;
if(a[k]!=min)
{n=a[l];a[l]=a[0];a[0]=n;}
else
{n=a[k];a[k]=a[0];a[0]=n;}
}
void output(int a[])
{int i;
for(i=0;i<b;i++)
printf("%d\n",a[i]);
}
void main()
{
void input(int a[]);
void change(int a[]);
void output(int a[]);
int a[b];
input(a);
change(a);
output(a);
}
//输入的时候 输入类似 9 8 7 6 5 4 3 2 1 0 这样输入
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
main()
{
int i,max,a[10],temp,min,t1,t2;
for(i=0;i<10;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
max=a[0];
min=a[0];
for(i=0;i<10;i++)
{
if(max<a[i])
{
max=a[i];
t1=i;
}
if(min>a[i])
{
min=a[i];
t2=i;
}
}
temp=a[0];
a[0]=a[t2];
a[t2]=temp;
temp=a[9];
a[9]=a[t1];
a[t1]=temp;
for(i=0;i<10;i++)
printf("%4d",a[i]);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"//
#include "stdlib.h"//
#include<time.h>//
void main(void){
int a[10],i,k,max,min;
srand((unsigned)time(NULL));
for(i=0;i<10;*(a+i++)=rand());
for(max=min=0,i=1;i<10;i++){
if(a[max]<a[i]) max=i;
if(a[min]>a[i]) min=i;
}
for(i=0;i<10;i++){
if(a[max]==a[i]) a[max]++;
if(a[min]==a[i]) a[min]--;
}
k=a[0];
a[0]=a[min];
a[min]=k;
k=a[9];
a[9]=a[max];
a[max]=k;
for(i=0;i<10;printf("%d ",a[i++]));
printf("\n");
}
#include "stdlib.h"//
#include<time.h>//
void main(void){
int a[10],i,k,max,min;
srand((unsigned)time(NULL));
for(i=0;i<10;*(a+i++)=rand());
for(max=min=0,i=1;i<10;i++){
if(a[max]<a[i]) max=i;
if(a[min]>a[i]) min=i;
}
for(i=0;i<10;i++){
if(a[max]==a[i]) a[max]++;
if(a[min]==a[i]) a[min]--;
}
k=a[0];
a[0]=a[min];
a[min]=k;
k=a[9];
a[9]=a[max];
a[max]=k;
for(i=0;i<10;printf("%d ",a[i++]));
printf("\n");
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询