定义一个整型数组,由键盘输入,求出数组长度和最大最小值
æ¹æ³å¾å¤ï¼å¯ä»¥ç¨é¾è¡¨ã
æè¿éç¨çæ¯å¨æå åç³è¯·ãï¼ç¨reallocå½æ°ä¼æ´ç®ä¾¿äºï¼ä½è¿ä¸ªå½æ°åè½å¤ªå¤ï¼å½±å代ç å¥å£®æ§ï¼ä¸ªäººä¸å欢ï¼ä½ æ³è¦å¯ä»¥è¯è¯ï¼
#include<stdio.h>#include<malloc.h>
int main()
{
int i,num,*nums=NULL,*numSave=NULL,cont=1,max,min;
char c;
nums=(int *)malloc(sizeof(int)*cont);
printf("è¾å ¥ä»»æ个æ°åï¼ç©ºæ ¼åå²ï¼å车确认\n");
while(1)
{
scanf("%d%c",&num,&c);
if(num>max)
max=num;
if(num<min)
min=num;
if(cont>1)
{
numSave=(int *)malloc(sizeof(int)*cont);
for(i=0;i<cont-1;i++)
numSave[i]=nums[i];
numSave[i]=num;
free(nums);
nums=(int *)malloc(sizeof(int)*cont);
for(i=0;i<cont;i++)
nums[i]=numSave[i];
free(numSave);
}
else
{
nums[0]=num;
max=min=num;
}
if(c=='\n')
break;
cont++;
}
//æå°
printf("è¾å ¥çæ°åæ°ç»ä¸ºï¼\n");
for(i=0;i<cont;i++)
printf("%d ",nums[i]);
printf("\næ°ç»å ç´ ä¸ªæ°ä¸ºï¼%dï¼æ大å¼ä¸ºï¼%dï¼æå°å¼ä¸ºï¼%d\n",cont,max,min);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-07-09
用数组存取 如果长度很长,改用链表