C语言编程题,10个数,把最大值与最后一个数对调,最小值与第一个数对调,用指针的方法
来源:百度知道 编辑:UC知道 时间:2024/06/28 05:12:03
急啊,快快帮帮忙,谢谢了
#include<stdio.h>
#define N 10
int main()
{
int i,t,*p_max,*p_min,*p,a[N];
printf("请输入%d个数: ",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
p=a;
p_max=p;
p_min=p;
for(i=1;i<N;i++) /*此循环用于找最小的数和最大的数的地址*/
{
if(*(p+i)>*p_max)
p_max=p+i;
if(*(p+i)<*p_min)
p_min=p+i;
}
p=a;
/*最大的数与最后一个数对换*/
t=*(p+N-1);
*(p+N-1)=*p_max;
*p_max=t;
/*最小的数与第一个数对换*/
t=*p;
*p=*p_min;
*p_min=t;
/*打印输出*/
for(i=0;i<N;i++)
printf("%d ",*(p+i));
printf("\n");
return 0;
}
我自己写的,通过编译,验证结果正确
#include "stdio.h"
main()
{
int i,a[10]={0},temp,*pmin=10000,*pmax=0;
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
if(a[i]<*pmin)*pmin=a[i];
if(a[i]