zoukankan      html  css  js  c++  java
  • 数组中存储不定个数的元素

          现在有这样一个问题:

         首先定义一个大小为20的整型数组,就好像这样-- int a[20], 之后,根据需要存储一定量的数到数组中(可以小于20个),要求是输入数字以空格为单位隔开,直到输入回车结束输入,并把数字存入数组中。

         示例:输入数据 1 2 9 8 7( ),之后 a[0] = 1,a[1] = 2,a[2] = 9,a[3] = 8, a[4] = 7,其余初始化为0

         开始并没有很好的想法,后来一网友提供了一个思想,解决了问题,实例程序如下:

    #include <stdio.h>
    
    int main(int argc, char *argv[])
    {
    	int a[20] = {0};
    	int i = 0 ;
    	int value;
    	char *er;
    	while (1) {
    		er = (char*)malloc(sizeof(char));
    		scanf("%d", &value);
    		a[i++] = value;
    		scanf("%c", er);
    		if(*er == 32)   /*空格的ASC码为32*/
    			continue;
    		else if (*er == 10){    /*回车的ASC码为10*/
    			break;
    		}
    		free(er);
    	}
    	for(i = 0; i < 20; i++)
    	{
    		printf("输入的数:%d
    ", a[i]);
    	}
    }
    


         得到的结果如下所示:


          当然,这种方法可能不是很好,在这里,非常感谢大家提供更好的解决办法,谢谢!

  • 相关阅读:
    《代码大全2》阅读笔记02
    《代码大全2》阅读笔记01
    第二阶段冲刺第六天
    学习进度5
    构建之法阅读笔记03
    地铁进度记录
    学习进度4
    个人数组
    学习进度3
    构建之法阅读笔记02
  • 原文地址:https://www.cnblogs.com/riskyer/p/3310555.html
Copyright © 2011-2022 走看看