首页 > 编程语言 > 详细

c语言输入一行未知个数数字存入数组

时间:2019-09-14 13:33:20      阅读:148      评论:0      收藏:0      [点我收藏+]

转载https://www.cnblogs.com/wd1001/p/4826855.html

一直有个疑问输入一行数字存入数组时若不知道数字的个数怎么办,最容易想到的办法就是接收字符然后转化为数字,但这样太过麻烦。

今天上网查了下,说可以用ungetc()函数将字符送回输入流,在这里总结归纳一下

此外还意外的解决了另外一些以前遇到的问题,也是在调试代码时发现的,用此段代码可以用除了空格以外的字符作为分隔符,而且分隔符的长度也可以很长:如输入12qwertyuiop34asdfghjkl123,23zxc45  最后得到的数组为:a[0]=12,a[1]=34,a[2]=123,a[3]=23,a[4]=45

#include<stdio.h>
#include<ctype.h>
int main()
{
	int a[1000];
	char c;
	int i = 0;
	int n = 0;
	while ((c = getchar()) != ‘\n‘)
	{
		if (isdigit(c))
		{
			ungetc(c, stdin);//将c送回输入流
			scanf("%d", &a[n++]);
		}	
		
	}
	     for (i = 0; i < n; i++)
		     {
		         printf("%d ", a[i]);
		     }
	     return 0;
	
}

  

c语言输入一行未知个数数字存入数组

原文:https://www.cnblogs.com/zhiliang9408/p/11518910.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!