input(int number)
int number[10];
{ int i;
for(i=0;i<9;i++)
scanf(“%d,”,&number[i]);
scanf(“%d”,&number[9]);
}
max_min(int array)
int array[10];
{ int *max,*min,k,l;
int *p,*arr_end;
arr_end=array+10;
max=min=array;
for(p=array+1;p<arr_end;p++)
if(*p>*max) max=p;
else if(*p<*min) min=p;
k=*max;
l=*min;
*p=array[0];array[0]=l;l=*p;
*p=array[9];array[9]=k;k=*p;
return;
}
output(int array)
int array[10];
{ int *p;
for(p=array;p<array+9;p++)
printf(“%d,”,*p);
printf(“%d\n”,array[9]);
}
#include<stdio.h>
main()
{
int number[10];
input(number);
max_min(number);
output(number);
}
题目是 输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组
>> 本文固定链接: http://www.vcgood.com/archives/2112
??
练函数和指针?… 貌似这程序很短呃..
#include<iostream>
int num[10];
int main(){
for(int i=1;i<=10;i++)
cin >> num[i];
int max = -1;
int min = 999999;
int lmax,lmin;
for(int i=1;i<=10;i++)
{
if(num[i]>max)
{
max = num[i];
lmax = i;
}
if(num[i]<min)
{
min = num[i];
lmin = i;
}
}
int temp;
temp = num[1]; num[1] = max; num[lmax] = temp;
temp = num[10]; num[10] = min; num[lmin] = temp;
for(int i=1;i<=10;i++)
cout << num[i] << ” “;
cout << endl;
system(“pause”);
return 0;
}
我的代码:
/* 标准文档模板 */
#include “Stdio.h”
#include “Conio.h”
#define size 5
void input(int arr1[],int x);
void swap(int arr[]);
void output(int arr2[],int y);
int main(void)
{
/* 此处添加你自己的代码 */
int arr[size];
int max,min,tmp;
input(arr,size);
swap(arr);
output(arr,size);
getch();
}
void input(int arr1[],int x)
{
int i;
printf(“please input size data:”);
for(i=0;i<x;i++)
scanf(“%d”,arr1+i);
}
void swap(int arr[])
{
int i,minpos=0,maxpos=0,temp=0;
for(i=1;i<=4;i++)
{
if(*(arr+maxpos)<*(arr+i))
maxpos=i;
else
if(*(arr+minpos)>*(arr+i))
minpos=i;
}
temp=*(arr+maxpos);
*(arr+maxpos)=*(arr+4);
*(arr+4)=temp;
temp=*arr;
*arr=*(arr+minpos);
*(arr+minpos)=temp;
}
void output(int arr2[],int y)
{
int i;
for(i=0;i<y;i++)
printf(“%3d”,*(arr2+i));
}
参考一下!