我的代码
题目
请教一下为什么我的不行?但是博主的代码可行,差距在哪里。
而且我提问题的时候复制代码,提示需要代码控件是什么?
int a = 0, c = 0, d = 0;
do
{
scanf("%d",&a);
if (a > 0 && a < 1000000)
{
if (a % 2 == )
{
c++;
}
else
{
d++;
}
}
}while(a != -1);
用do-while,因为a只进行了初始化就被你拿去进行while判断肯定是不行的,应该是先从键盘输入再进行判断
这个你有个地方错了,scanf(''%d'',&a);应该在a前面加一个取地址符号,不然输入就无效。你试试应该可以解决了
1、参数a未初始化就使用,a会是随机值,不一定能进入while里面,建议修改
2、scanf输入一般要指定地址,整型的数据要加上&符号,这里的应该为
scanf("%d",&a);
int a = 0, c = 0, d = 0;
scanf("%d",&a);
while(a != -1)
{
if (a > 0 && a < 1000000)
{
if (a % 2 == )
{
c++;
}
else
{
d++;
}
}
scanf("%d",&a);
}
或者
int a = 0, c = 0, d = 0;
do
{
scanf("%d",&a);
if (a > 0 && a < 1000000)
{
if (a % 2 == )
{
c++;
}
else
{
d++;
}
}
}while(a != -1)