用C语言任意输入十个整数,输出其中的最大最小值,要求用指针做。

2025-02-03 01:53:35
推荐回答(2个)
回答1:

#include
int main ()
{
int *p,*q;
int max=0,min=100;
p=&max;//指针P指向max
q=&min;//指针q指向min
int x;
scanf("%d",&x);
while(x!=0) //输入0结束输入
{
if(*p *p=x;
if(*q>x)
*q=x;
scanf("%d",&x);
}
printf("max:%d\tmin:%d\n",*p,*q);
while(1);
return 0;
}
如果确定为输入10 个数的话,可以 将上述while循环改为for循环,删除掉前面的scanf("%d",&x):
for(int i=0;i<10;i++)
{
scanf("%d",&x);
if(*p *p=x;
if(*q>x)
*q=x;

}

回答2:

#include
#include
void main()
{
int *p, i = 0, minVal, maxVal;

p = (int*)malloc(sizeof(int)*10);
printf("Enter 10 numbers:\n");
for (i = 0; i < 10; i++)
{
*(p+i) = 0;
scanf("%d", p + i);
}

minVal = *p;
maxVal = *p;
for (i = 0; i < 10; i++)
{
if(*(p+i)> maxVal) maxVal = *(p+i);
if(*(p+i)< minVal) minVal = *(p+i);
}

printf("The max value is %d, min value is %d", maxVal, minVal);
free(p);

}