[英]Why do i keep getting 0 as an output?
练习的重点是从 N 和 M 之间的一行数字中删除每个 K 数字。作为输出,我必须获得该行中剩余的数字数,我也不必打印出该行。 这是代码:
#include <iostream>
using namespace std;
int main() {
int n, m, k;
int i = n;
int a = 0;
cin >> n >> m >> k;
if (1 <= n && n < m && m < 1000 && 1 <= k && k < 1000) {
} else {
return 0;
}
while (i <= m - n) {
i++;
if (i < 10) {
a++;
} else if (i >= 10 && i < 100) {
a += 1 * 2;
} else if (i > 100) {
a += 1 * 3;
}
}
cout << a - a / k;
return 0;
}
int n, m, k;
int i = n;
C++ 中的局部变量未初始化,因此您不知道n
、 m
和k
。 在这里将i
设置为n
毫无意义,因为n
有一个我们不知道的未初始化值,所以i
现在有一些我们不知道的未初始化值。
您需要移动i
的分配,直到您知道n
的值。
int n, m, k;
cin >> n >> m >> k;`
int i = n;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.