c语言中,用指针,实现从键盘输入十个整数,计算出最大值和最小值,并返回它们所在的数组中的位置

如题所述

#include<stdio.h>
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<x)
*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<x)
*p=x;
if(*q>x)
*q=x;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-18
#include<stdio.h>
using namespace std;
void main(){
int a[10];
int *p=&a;
for(int i=0;i<10;i++){
scanf("%d",&a[i])
}
for(int j=0;j<10;j++){
for(int k=j+1;k<10;k++)
if(a[j]>a[k])
int t=a[k];
a[k]=a[j];
a[j]=t;
}
cout<<"最大数是"<<p[0]<<endl;
cout<<"最小数是"<<p[9]<<endl;
}追问

执行时有错误,

相似回答