在C语言中,如果要输入一串数字,其中每个数字用逗号隔开,且不知道总共输入了多少数字。要怎样输入呢?

例如:输入“14,24,32,23,2345,10”怎样把各个数字赋值到数组中,或者是变量中... 例如:输入“14,24,32,23,2345,10”怎样把各个数字赋值到数组中,或者是变量中 展开
 我来答
金色潜鸟
推荐于2017-11-25 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5730万
展开全部
先读1个整型数。
然后循环:读1个字符,如果字符是逗号则读1个整型数,如果不是逗号,循环就结束。
如果读整型数有错,循环也结束。
#include<stdio.h>
#include<stdlib.h>
main(){ int x[100],n=0,i;
int c;
if ( scanf("%d",&x[n])==1) n++;
while(1){
scanf("%c",&c);
if (c != ',') break;
if ( scanf("%d",&x[n])==1) n++;else break;
}
printf("\nI read: ");
for (i=0;i<n;i++) printf("%d ",x[i]);
return 0;
}
太阳小姐的树屋

2013-03-29 · TA获得超过859个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:94.5万
展开全部
比较麻烦。
可以每次malloc int
可以规定以一个特定的字符结束,比如当输入#号的时候代表输入结束
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
略懂C语言
2013-03-29 · TA获得超过355个赞
知道答主
回答量:151
采纳率:100%
帮助的人:169万
展开全部
#include <stdio.h>
#define MAX_SIZE 10000 //输入数的上限
#define END_NUM -1 //作为输入结束符,这个数要保证不跟正常要处理的数冲突
int main(void)
{
int count, num[MAX_SIZE];

count = 0; //保存输入数的个数
while (scanf("%d%*c", &num[count]) && (num[count] != END_NUM)) //输入-1表示输入结束
++count;

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式