第1个回答 2009-05-27
代码量少,还让你容易理解指针*,&的使用~
#include<stdio.h>
main()
{
int i;
int a[10],*p;
printf("please input the num\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(p=&a[0],i=0;i<10;i++)
{
if(a[i]>*p)
p=&a[i];
}
printf("the max num is: %d\n",*p);
getch();
}本回答被提问者和网友采纳
第2个回答 2009-05-27
#include"stdio.h"
#include"stdlib.h"
long max(long a[],long b)
{long big=a[0], i;
for(i=1;i<b;i++)
if(big<a[i])
big=a[i];
return big;
}
main()
{long i,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n最大数是:%d\n",max(a,10));
system("pause");
}
第3个回答 2009-05-27
也不知道你具体要问什么,给个简单的程序,简单说明如下所示:
随机生成了10个数,然后让指针指向最大值,最后输出指针指向的内容。程序源代码如下,仅供参考:
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
void main(){
srand((unsigned int)time(NULL));
int i,*max,a[10];
for(i=0;i<10;i++)
a[i]=rand()%101;
max=&a[0];
printf("随机生成的10个整数为:\n\n");
for(i=0;i<10;i++){
if(a[i]>*max)
max=&a[i];
printf("%5d",a[i]);
}
printf("\n\n其中的最大值max=%5d\n\n",*max);
}
很简单,就没有加注释,相信你该没有问题的,呵呵
祝你的问题早日解决!
第4个回答 2009-05-27
//可以了
#include<stdio.h>
double max(double a[])
{
int i;
double t;
for(i=0;i<10;i++)
if(*(a+i)>t)t=*(a+i);
return t;
}
void main()
{
int i;
double a[10];
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%lf",a+i);
printf("max=%.2f\n",max(a));
printf("\n");
}