一个C语言程序设计的题目

来源:百度知道 编辑:UC知道 时间:2024/06/15 21:30:30
调试的时候找不出语法错误,但就是不能运行
题目是这样的:(使用动态内存管理函数)找出任意个数中间的最大数和最小数,输出其位置和数值。
我是这么写的:
#include"stdio.h"
#include"stdlib.h"
main()
{
int *p = NULL,n=0,i=0;
int max = p[0] ;
int min = p[0] ;
printf("please enter array size: ");
scanf("%d",&n);
p = (int*) malloc(n*sizeof(int));
if(p == NULL)
{
printf("No enough memory!\n");
exit(0);
}
printf("Please enter the number: ");
for(i=0;i<n;i++)
{
scanf("%d",&p[i]);
}
for(i=0;i<n;i++)
{
if(p[i]>max)
{
max=p[i];
*p=i;
}
}
printf("maxNum=%d,position=%d\n",max,i+1);
for(i=0;i<n;i++)
{
if(p[i]<min)
{
min=p[i];
*p=i;
}
}
printf("minNum=%d,position=%d\

#include"stdio.h"
#include"stdlib.h"
main()
{
int *p = NULL,n=0,i=0,p1=0,p2=0;
printf("please enter array size: ");
scanf("%d",&n);
p = (int*) malloc(n*sizeof(int));
if(p == NULL)
{
printf("No enough memory!\n");
exit(0);
}
printf("Please enter the number: ");
for(i=0;i<n;i++)
{
scanf("%d",&p[i]);
}
int max = p[0] ;
int min = p[0] ;
for(i=0;i<n;i++)
{
if(p[i]>max)
{
max=p[i];
p1=i;
}
}
printf("maxNum=%d,position=%d\n",max,p1+1);
for(i=0;i<n;i++)
{
if(p[i]<min)
{
min=p[i];
p2=i;
}
}
printf("minNum=%d,position=%d\n",min,p2+1);
free(p);
return 0;
}

#include"malloc.h"