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

 我来答
热爱学习的Genji
高粉答主

2020-11-09 · 说的都是干货,快来关注
知道小有建树答主
回答量:1894
采纳率:100%
帮助的人:31万
展开全部

代码如下:

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

柳亭临
2020-04-04
知道答主
回答量:45
采纳率:0%
帮助的人:4.8万
展开全部
用循环结构。
具体操作如下。
int a;
scanf("%d",&a);
while(a!=0)
{
scanf("%d",&a);
}

这时,你输入任意个整数都行,两个整数中间用任意数量空格隔开,只要最后一个整数输入的是0就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1305448
2017-07-28 · TA获得超过443个赞
知道小有建树答主
回答量:204
采纳率:100%
帮助的人:122万
展开全部
题外话:首先任意多个是不可能的,总会存在最后一个整数把内存消耗完!
实现方式:写一个链表 或者 vector<int>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
物理公司的
2015-12-01 · TA获得超过5695个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1372万
展开全部
#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){
    }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花间泪双子
2015-12-01
知道答主
回答量:7
采纳率:0%
帮助的人:2.4万
展开全部
采用指针数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式