c++高手求助

来源:百度知道 编辑:UC知道 时间:2024/07/07 21:34:09
统计输入的数据中偶数和奇数的个数

#include<iostream.h>
main()
{
int i,j=0,o=0;
cout<<"请输入整数序列,以#结束!"<<endl;
cin>>i;
while(i!='#');
{
if(i%2)
j++;
else
o++;
cin>>i;
}
cout<<"您输入的数据中包含"<<j<<"个奇数和"<<o<<"个偶数!"<<endl;
}

每当我按#时,都将陷入死循环,为什么?
修改循环结束条件为i=-1.。。仍然死循环

刚才忘了改-1.....
guojingcha - 首席运营官 十二级 11-6 13:53的提示已经很明显了

#include<iostream.h>
main()
{
int i,j=0,o=0;
cout<<"请输入整数序列,以-1结束!"<<endl;
cin>>i;
while(i!=-1); <---------------------这个分号去掉!
{
if(i%2)
j++;
else
o++;
cin>>i;
}
cout<<"您输入的数据中包含"<<j<<"个奇数和"<<o<<"个偶数!"<<endl;
}

你每输入一个数就回车下。

i为整形 不能读入#
可以考虑以一个特殊的数字作为结束判断
比如while(i==-1)

“每当我按#时,都将陷入死循环”
因为cin>>i; 的i是int类型的,不能接收'#'

“问题补充:修改循环结束条件为i=-1.。。仍然死循环”
回答:
你不要输入#了啊。输入-1来结束循环啊。

两个错误
1、while(i!='#');

大哥,你的while后面加了一个; 不死循环才怪呢

2、i是整型,没有办法和这个‘#’做比较

你可以输入字符串形式的,试一下吧

#include <iostream>

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int i,j=0,o=0;
cout