相关疑难解决方法(0)

求平方和时,是否需要显式处理负数或零?

我最近在课堂上做了一个测试。问题之一是:

给定一个数字n,用C / C ++编写一个函数,该函数返回数字平方的数字总和。(以下内容很重要)。的范围Ñ为[ - (10 ^ 7),10 ^ 7]。示例:如果n = 123,则您的函数应返回14(1 ^ 2 + 2 ^ 2 + 3 ^ 2 = 14)。

这是我写的函数:

int sum_of_digits_squared(int n) 
{
    int s = 0, c;

    while (n) {
        c = n % 10;
        s += (c * c);
        n /= 10;
    }

    return s;
}
Run Code Online (Sandbox Code Playgroud)

看着我正确。所以现在测试又回来了,我发现老师由于我不明白的原因没有给我所有的分数。据他说,为了使我的功能更完整,我应该添加以下细节:

int sum_of_digits_squared(int n) 
 {
    int s = 0, c;

    if (n == 0) {      // …
Run Code Online (Sandbox Code Playgroud)

c

213
推荐指数
6
解决办法
2万
查看次数

在C/C++中,负数是否返回false?

在C/C++中将整数评估为布尔值时,负数是真还是假?无论编译器如何,它们总是真/假吗?

c c++ boolean

48
推荐指数
3
解决办法
5万
查看次数

while循环使用无符号整数条件

我不确定while循环如何在以下简单的代码中工作

short CountBits(unsigned int x){
    short num_bits = 0;
    while (x){
        num_bits += x & 1;
        x >>= 1;
    }
    return num_bits;
}
Run Code Online (Sandbox Code Playgroud)

无符号整数如何计算为True或False?

c++

3
推荐指数
1
解决办法
797
查看次数

C/C++中的'if'语句是否将操作数转换为整数?

当您if在C/C++或任何其他逻辑运算符中使用该语句时,是否将操作数传递给转换为整数以进行求值的语句?

我目前的理解是传递给语句的操作数被强制转换为一个整数来测试它是否为非零(true),并且如果你传递一个指针,这可以被强制转换为一个整数来评估0/null值是否为定义为false.

我的印象是C++的标准下Bool值均简单地typedefunsigned char具有值01.

任何人都能用这种行为解释幕后实际发生的事情吗?

c c++

2
推荐指数
1
解决办法
1161
查看次数

而循环条件C++

这个条件在while循环中意味着什么?

 int x;
 cin >> x;
 while(x) {
   ...
 }
Run Code Online (Sandbox Code Playgroud)

c++ while-loop

2
推荐指数
1
解决办法
124
查看次数

标签 统计

c++ ×4

c ×3

boolean ×1

while-loop ×1