哪位好心人帮忙写个程序有大体框架也行 定义未知长度的整型数组,键盘输入一组数,求这组数的数组长度

定义一个整型数组,由键盘输入,求出数组长度和最大最小值

方法很多,可以用链表。

我这里用的是动态内存申请。(用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
用数组存取 如果长度很长,改用链表

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网