【发布时间】:2013-12-17 09:19:59
【问题描述】:
#include<iostream>
using namespace std;
int x;
int y;
int z;
int main ()
{
cout << "x=";
cin >> x;
z = x;
y = 0;
while(z > 0)
{
(z = z / 10);
(y = y + 1);
}
while(z < 0)
{
(z =- z);
(z = z / 10);
(y = y + 1);
}
cout << "cifre=" << y;
}
它似乎对正整数工作得很好,但对负整数却不行,我不明白为什么。有人可以解释吗?它必须计算位数......
【问题讨论】:
-
请定义'工作正常'。显示输入和预期输出。
-
答案就在调试器的眼睛里。
-
(z=z/10)请删除(和),这很烦人。 -
这个程序应该做什么?你能告诉我们预期的输出吗?
-
您习惯什么语言?您的来源的格式看起来很奇怪且不合逻辑。