1 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,写3个函数:
(1)输入10个数 (2) 进行处理 (3) 输出10个数
#include <stdio.h>
input(int b[10])
{
int i;
for(i=0;i<10;i++)
scanf("%d",&b[i]);
}
output(int c[10])
{
int *max,*min,i,j,k,t1,t2;
max=min=c;
for(i=1;i<10;i++)
{ if(c[i]>*max)
max=c+i;
t1=i;
if(c[i]<*min)
min=c+i;
t2=i;
j=c[9];
c[9]=*max;
c[t1]=j;
k=c[0];
c[0]=*min;
c[t2]=k;
}
for(i=0;i<10;i++)
printf("%3d",c[i]);
}
int main()
{
int a[10];
input(a);
output(a);
}
题目要求是3个函数,你只做了两个函数
#include <stdio.h>
void input(int b[]) //函数 1:输入10个数
{
int i;
for(i=0;i<10;i++)
scanf("%d",&b[i]);
}
void run(int b[]) //函数 2:进行处理
{
int max,min,ma,mi,i,t;
max=min=b[0];
ma=mi=0;
for(i=0;i<10;i++)
{
if(max<b[i]) //把最大的数的下标保存到ma中
{
max=b[i];
ma=i;
}
if(min>b[i]) //把最小的数的下标保存到mi中
{
min=b[i];
mi=i;
}
}
t=b[0]; //将其中最小的数与第一个数对换
b[0]=b[mi];
b[mi]=b[0];
t=b[9]; //把最大的数与最后一个数对换
b[9]=b[ma];
b[ma]=t;
}
void output(int b[]) //函数 3:输出10个数
{
int i;
for(i=0;i<10;i++)
printf("%3d",b[i]);
printf("\n");
}
int main()
{
int a[10];
printf("请输入10个数:\n");
input(a);
printf("处理中……\n");
run(a);
printf("结果为:\n");
output(a);
}
}
还有不懂的话可以追问