c语言关于不确定个数的整数输入问题? (怎么编程才能表示出到底输入了几个数??)

ex。用选择排序法将n个输入的数从小到大排序

!不用scanf(“%d”,&n);这种方法还有别的办法吗

我习惯是这样的,如果要测试的数多的话,我先写入一个txt文本中,代码中只要读文本数据就行了,这样不用每次调试代码都要手动输入这么多数。数值少的话可以循环输入,当输入某个自定义的值时退出输入循环就行了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-22
首先从键盘格式化输入只能用 scanf ();
scanf()会 返回 已成功赋值给变量 的个数。
用一个循环赋值(必须有停止的条件) 把scanf () 的返回值累加则为输入个数。
第2个回答  2013-06-22
char sep;
int a[128];
int n = 0;

while (scanf("%d%c", a + n, &sep) && sep != '\n') {
    n++;
}

 这是一种方法,也可以解析字符串:

char line[1024];
int a[128];
int n = 0, i = 0;

gets(line);
while (line[i] != '\0' && line[i] != '\n') {
    ...
}

本回答被提问者和网友采纳
第3个回答  2013-06-22
输入是一行数与数用空格隔开吗?如果这样的话可以用个变量记录个数,当读到\n时开始排序输出
相似回答