当c = 1时,输出false,题目没有要求a、b不能相等,所以当c = 2时,输出应为true

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param c int整型
 * @return bool布尔型
 */
#include <stdbool.h>
bool square(int c ) {
    // write code here
    int k = sqrt(c);
    int m = sqrt(c / 2);
    if (c == 1)//将c = 1单独拎出来
        return false;
    if(m*m == c/2)//判断a、b相等的情况
        return true;
    for (int i = 1; i < k; i++){
        int j = sqrt(c - i * i);
        if((i*i + j*j) == c)
            return true;
    }
    return false;
}