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循环,大虾们如果有更好的方法,三种循环都可以使用 展开
现有 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循环,大虾们如果有更好的方法,三种循环都可以使用 展开
8个回答
展开全部
可以参考下面的代码:
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语言函数
展开全部
while(scanf(......)!=EOF){
}
当输入结束时按Ctrl+Z即可结束,一般OJ上的题不知道测试数据时
都梁如让可以如此做,比橡厅如:
#include<stdio.h>
int main(){
int a;
while(scanf("%d",&a)!=EOF){
printf("%d\n",a);
橡局 }
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,
每输入孙段一个数据就判断一下,比如设定用户输入end表示结束,则局誉当程序获取到这个字符腊卜串后就跳出循环。
每输入孙段一个数据就判断一下,比如设定用户输入end表示结束,则局誉当程序获取到这个字符腊卜串后就跳出循环。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先申明一个整数,作为要输入的数据的个数N,要求用户输入。
再根据用户输入的宽丛扮数N来确定数慎灶组的大小a[N],,
就可郑中以用for循环来控制
再根据用户输入的宽丛扮数N来确定数慎灶组的大小a[N],,
就可郑中以用for循环来控制
追问
题目就是在不确定用户输入的情况下呀,题目意即:即使用户知道有多少个数,也不输入,而他输入结束唯一的信号就是敲了回车……能不能在这里做文章呢?
追答
那就
while(1)
{
a=getchar();
if(a=='\n') exit;
a[i]=a;i++;
}
或者
do{
...
scanf("%d",&a[i]);
}while((getchar())!='\n')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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
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");
}
不过这样输入限制就多了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询