C/C++语言中,在不确定用户输入数据个数的情况下来控制循环结束?

rt,只是知道用户输入的一组整型数据,但不知道其输入的个数,但知道数据个数不会超过100。现有inta[100]={0};怎么控制循环,把这些数据都存放到这个数组当中呢?... rt,只是知道用户输入的一组整型数据,但不知道其输入的个数,但知道数据个数不会超过100。
现有 int a[100] = {0};
怎么控制循环,把这些数据都存放到这个数组当中呢?不允许设置“-1、0”之类的结束标识符。

#include<stdio.h>
void main()
{
int a[100] = {0}, i=0;
printf("请输入一组整形数据(不超过100个):");

do{
cin>>a[i++];
}while(……); //这里的条件怎么写?

当然,对于例子中,不一定要用do-while循环,大虾们如果有更好的方法,三种循环都可以使用
展开
 我来答
四舍五不入6
高粉答主

2020-02-03 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2.1万
展开全部

可以参考下面的代码:

int main()

{

int a[100],i=0,ch=0;

printf("请输入一组整形数据(不超过100个):");

do{

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

ch=getchar();

}while(ch!='\n');

for(ch=0;ch<i;ch++)

printf("%d\n" , a[ch]);

}

扩展资料:

C语言log()函数:返回x的自然对数(以e为底的对竖袜数)

C语言ldiv()函数:求两个数的商茄昌和余数(针对long类型)

C语言ceil()函数:求不小于x的最小整数(向上取整)

C语言floor()函数:求不大于x的最大整数(向下取整)

C语言asin()函数:求反正弦

C语言atan()函数:求反正切

C语言atan2()函数:求x/y的反正切值

参考资料来源:颤纤扒百度百科-C语言函数

真的无奈啊0000
2015-10-29 · TA获得超过577个赞
知道小有建树答主
回答量:279
采纳率:75%
帮助的人:76万
展开全部

while(scanf(......)!=EOF){

}


当输入结束时按Ctrl+Z即可结束,一般OJ上的题不知道测试数据时

都梁如让可以如此做,比橡厅如:

#include<stdio.h>
int main(){
    int a;
    while(scanf("%d",&a)!=EOF){
        printf("%d\n",a);
   橡局 }
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2018359
2015-10-19 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1405万
展开全部
是的,
每输入孙段一个数据就判断一下,比如设定用户输入end表示结束,则局誉当程序获取到这个字符腊卜串后就跳出循环。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hsyu53
2011-10-26 · TA获得超过523个赞
知道小有建树答主
回答量:627
采纳率:0%
帮助的人:374万
展开全部
先申明一个整数,作为要输入的数据的个数N,要求用户输入。
再根据用户输入的宽丛扮数N来确定数慎灶组的大小a[N],,
就可郑中以用for循环来控制
追问
题目就是在不确定用户输入的情况下呀,题目意即:即使用户知道有多少个数,也不输入,而他输入结束唯一的信号就是敲了回车……能不能在这里做文章呢?
追答
那就
while(1)
{
a=getchar();
if(a=='\n') exit;
a[i]=a;i++;
}
或者
do{
...
scanf("%d",&a[i]);
}while((getchar())!='\n')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liugang585570
推荐于2017-10-01 · 超过22用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:38.8万
展开全部
#include <iostream>
using namespace std;

void main(void)
{
int a[100]={0},i=0;
printf("请输入一组整形数据答正:\n");

while(cin>>清键悔a[i++]);

cout<<"输出数组"<<endl;
i=0;
while(i<100)
cout<<a[i++]<<", ";

system("pause");

}
输入数字意外的字符(不包含回车,制表符等)即结束。但要亮前保证输入的整数不溢出。
令外:使用cin 需要包含的头文件是iostream
追问
不好意思那是我的失误。你的答案已经很接近了,能不能把回车包含进去呢?就是说用户输入了回车后立即结束。难道“不包含回车制表”就是cin的特点么?
追答
#include 
using namespace std;

void main(void)
{
int a[100]={0},i=0,temp=0;
printf("请输入一组整形数据:\n");

while(cin>>a[i++],cin.get()!='\n');

cout<<"输出数组"<<endl;
i=0;
while(i<100)
cout<<a[i++]<<", ";

system("pause");

}
不过这样输入限制就多了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式