为何C语言中cin值总是返回0而非输入的实际值?

2026-04-16 19:042阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计489个文字,预计阅读时间需要2分钟。

为何C语言中cin值总是返回0而非输入的实际值?

嘿,我对c非常感兴趣。在我需要添加所有输入的作业上工作,然后用总和显示迄今为止的数字。例如,输入:1234,输出:1+2+3+4+10+...,到目前为止为止,这是我的代码:+

嗨,我对c非常新.在我需要添加所有数量的输入的作业上工作,然后用总和显示彼此相邻的数字.

例:
输入:1234,输出:1 2 3 4 10

为何C语言中cin值总是返回0而非输入的实际值?

到目前为止,这是我的代码:

#include <iostream> using namespace std; int main() { int myNum; int total = 0; int digit; cout << "Enter a number" << endl; cin >> myNum; while(myNum >0) { digit =myNum %10; myNum/=10; total += digit; } while(myNum <0) { digit =myNum %10; myNum /=10; total +=digit; } cout << "The sum of digit is:" << myNum << total << endl; return 0; }

第二个while循环是处理负数,但是当我把myNum打印到我输入的值时,它会在总数前面打印0,任何原因值都没有被转移或者我怎么能如何让它继续?

我更新了代码以满足您的原始要求.输入:1234输出1 2 3 4 10

重复使用/ =运算符后,原始代码打印了myNum变量.结果将始终为零.

要求指定必须打印输入的每个数字以及总数.为了保存中间结果,引入了矢量.随着每个数字的产生,它被推入向量中.

输入用尽后,可以打印个别数字和总数.反向遍历向量以按从左到右的顺序打印数字.

using namespace std; int main(int arg, char*argv[]) { int myNum; vector<int> digits; int total = 0; int digit; cout << "Enter a number" << endl; cin >> myNum; while(myNum >0) { digit =myNum %10; myNum/=10; total += digit; digits.push_back(digit); } while(myNum <0){ digit =myNum %10; myNum /=10; total +=digit; digits.push_back(digit); } for (auto it = digits.rbegin(); it != digits.rend(); ++it) cout << *it << " "; cout << total << endl; return 0; }

本文共计489个文字,预计阅读时间需要2分钟。

为何C语言中cin值总是返回0而非输入的实际值?

嘿,我对c非常感兴趣。在我需要添加所有输入的作业上工作,然后用总和显示迄今为止的数字。例如,输入:1234,输出:1+2+3+4+10+...,到目前为止为止,这是我的代码:+

嗨,我对c非常新.在我需要添加所有数量的输入的作业上工作,然后用总和显示彼此相邻的数字.

例:
输入:1234,输出:1 2 3 4 10

为何C语言中cin值总是返回0而非输入的实际值?

到目前为止,这是我的代码:

#include <iostream> using namespace std; int main() { int myNum; int total = 0; int digit; cout << "Enter a number" << endl; cin >> myNum; while(myNum >0) { digit =myNum %10; myNum/=10; total += digit; } while(myNum <0) { digit =myNum %10; myNum /=10; total +=digit; } cout << "The sum of digit is:" << myNum << total << endl; return 0; }

第二个while循环是处理负数,但是当我把myNum打印到我输入的值时,它会在总数前面打印0,任何原因值都没有被转移或者我怎么能如何让它继续?

我更新了代码以满足您的原始要求.输入:1234输出1 2 3 4 10

重复使用/ =运算符后,原始代码打印了myNum变量.结果将始终为零.

要求指定必须打印输入的每个数字以及总数.为了保存中间结果,引入了矢量.随着每个数字的产生,它被推入向量中.

输入用尽后,可以打印个别数字和总数.反向遍历向量以按从左到右的顺序打印数字.

using namespace std; int main(int arg, char*argv[]) { int myNum; vector<int> digits; int total = 0; int digit; cout << "Enter a number" << endl; cin >> myNum; while(myNum >0) { digit =myNum %10; myNum/=10; total += digit; digits.push_back(digit); } while(myNum <0){ digit =myNum %10; myNum /=10; total +=digit; digits.push_back(digit); } for (auto it = digits.rbegin(); it != digits.rend(); ++it) cout << *it << " "; cout << total << endl; return 0; }