c语言如何实现输入任意多个整数?

如题所述

代码如下:

#include<cstdio>

int main()

{

 int num[1000];

 char ch;

 do

 {

       scanf("%d",&a[i++]);

}while((ch=getchar())!= '\n');// 这里用来判断是否输入了回车

return 0;

}

while(cin>>b[cnt++],cin.get()!='\n');//也可用这句代替

扩展资料:

C语言编写注意事项:

1、'x'与"x"的区别: 'x'表示一个整数, 字母x在极其字符集中对应的数值. "x"表示一个包含一个字符x 以及一个结束符'\0'。

2、const在声明变量中起限制作用, 该限定变量的值不能被修改。

3、%运算符不能应用与float或double类型。

4、char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符。

5、++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1。

6、三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解。

7、C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-04
用循环结构。
具体操作如下。
int a;
scanf("%d",&a);
while(a!=0)
{
scanf("%d",&a);
}

这时,你输入任意个整数都行,两个整数中间用任意数量空格隔开,只要最后一个整数输入的是0就行了
第2个回答  2017-07-28
题外话:首先任意多个是不可能的,总会存在最后一个整数把内存消耗完!
实现方式:写一个链表 或者 vector<int>
第3个回答  2015-12-01
#include <stdio.h>
int main(){
    int a[100],i=1;
    while(scanf("%d",&a[i]) != EOF){
        i++;
    }
    return 0;
}

追问

不用数组 就单单用循环能实现吗?

追答

那么你的输入就无法被保存,只能保存最后一个

main(){
    int a;
    while(scanf("%d",&a) != EOF){
    }

本回答被网友采纳
第4个回答  2015-12-01
采用指针数组。