c语言编程:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。

提示:把输入的10个整数存入数组中,10个中最小的数与数组的第一个元素对换,最大的数与数组的第10个元素对换。其他的保持不变。
⑵要求
 定义3个函数:
void input(int number[10]); /*此函数向首地址为number的数组输入10个元素*/
void max_min_value(int array[10]); /*此函数交换array数组的对应元素*/
void output(int array[10]);  /*此函数输出array数组的10个元素*/
 在main函数中调用上述3个函数,实现题目要求的功能;

请输入十个元素:
5 4 3 2 1 0 9 8 7 6
0 4 3 2 1 5 6 8 7 9
Press any key to continue

#include"stdio.h"
void input(int number[10]); //此函数向首地址为number的数组输入10个元素
void max_min_value(int array[10]); //此函数交换array数组的对应元素
void output(int array[10]); //此函数输出array数组的10个元素

void input(int number[10])
{
int i;
printf("请输入十个元素:\n");
for (i=0;i<10;i++)
{
scanf("%d",&number[i]);
}
}

void max_min_value(int array[10])
{
int i,imin,imax,tmp,bg,sm;
imin = imax = array[0];
for (i=0;i<10;i++)
{
if (imax<array[i])
{
imax = array[i];
bg=i;
}
if (imin>array[i])
{
imin = array[i];
sm = i;
}
}
//最小换第一个
tmp=array[0];
array[0]=array[sm];
array[sm]=tmp;
//最大换第十个
tmp=array[9];
array[9]=array[bg];
array[bg]=tmp;
}

void output(int array[10])
{
int i;
for (i=0;i<10;i++)
{
printf("%d ",array[i]);
}
printf("\n");
}

main()
{
int number[10];
input(number);
max_min_value(number);
output(number);
return 0;
}
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言编程:输入10个整数,将其中最小的数与第一个数对换,把最大的数...
void input(int number[10]); \/\/此函数向首地址为number的数组输入10个元素 void max_min_value(int array[10]); \/\/此函数交换array数组的对应元素 void output(int array[10]); \/\/此函数输出array数组的10个元素 void input(int number[10]){ int i;printf("请输入十个元素:\\n"...

C语言提问:输入10个整数,将其中最小的数与第一个数对换,把最大的数...
include<stdio.h> void input(int a[10]){ int i;for (i=0;i<10;i++){ scanf("%d",&a[i]);} } void exchange(int a[10]){ int i,min,max,temp,big,small;min = max = a[0];for (i=0;i<10;i++){ if (maxa[i]){ min = a[i];small = i;} } temp=a[0];...

求教:C语言输入10个整数,将其中最小的数与第一个数字对换,把最大的数字...
include<iostream> include<cmath> using namespace std;int main(){ int b=0,c=10,i,k;int a[10]={0};\/\/用的4.9.9.2版本,数组从下标为1开始 for(i=1;i<=10;i++){ cin>>a[i];b=max(b,a[i]);c=min(c,a[i]);} a[1]=b;a[10]=c;for(k=1;k<=10;k++){ c...

C语言编程:输入十个整数,将其中最小的数和第一个数对换位置,最大...
include<stdio.h> void input(int a[10]){ int i;for(i=0;i<10;i++){ scanf("%d",&a);} } void exchange(int a[10]){ int i,min,max,temp,big,small;min=max=a[0];for(i=0;i<10;i++){ if(max<a){ max=a;big=i;} if(min>a){ min=a;small=i;} } temp=a[...

C语言,输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后...
地址是array+9,所以我觉得是这里出了问题,因为p指向的array+10的地址储存的是个未知的值,下面再进行交换的时候再用*p作为中间量进行值的交换时可能就会出问题。所以我建议楼主在上面这段代码下写个:printf("now,*p=%d\\n",*p);看*p是否能够正确打印出来。再定义一个整型变量temp作为中间变量应该...

C语言:输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后...
cin>>m;} void key(int*m){ int max=m[0],min=m[0],n=0,k=0,z;for(int i=1;i<10;i++){ if(max<m){ max=m;n=i;} } for(int i=1;i<10;i++){ if(min>m){ min=m;k=i;} } if(n==0&&k==9){ z=m[0];m[0]=m[9];m[9]=z;} else if(n==0&&k!

C语言。输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后...
include <stdio.h>#include <stdlib.h>void deal(int a[10]){ int i,temp; int *p,*pmax,*pmin; p=pmax=pmin=a; for(i=0; i<10; i++,p++) { if(*p>*pmax) pmax=p; if(*p<*pmin) pmin=p; } temp=a[0]; a[0]=*pmin; *pmin=temp; if(pm...

C语言编程:输入十个整数,将其中最小的数和第一个数对换位置,最大...
全程用指针处理的程序:main(){int a[10],i,t;int*p,*q;printf("请在下面输入10个数字:\n");for(i=0;i<10;i++)scanf("%d",p+i);p=q=a;for(i=1;i<10;i++){if(*(a+i)<*p)p=a+i;else if(*(a+i)>*q)q=a+i;} if(p!=a){t=*a;a=*p;p=t;} if(q!=...

c语言输入10个整数,将其中最大数与第一个数交换,最小数与最后一个数交 ...
exchange(int* p) \/\/将最小的数与第一个数对换,把最大的数与最后一个数对换。{ int i, *max = p, *min = p, temp; \/\/<=== for (i = 1; i < N; i++) if (*(p + i) > *max)\/\/<=== max = (

输入十个数,将其中最小的数与第一个数对换,把最大的数与最后一个数对 ...
a[i]);} putchar('\\n');} int main(void){ int i,a[10];for (i = 0; i < 10; i++) { scanf("%d",a+i);} chg(a,10);prt(a,10);return 0;} \/\/---

相似回答