Online Compiler C

#include <stdio.h> int is_happy_number(int n) { if(n==0){ return 1; } int sum=0; int product=1; int temp=n; while(temp>0){ int dight=temp%10; sum+=dight; product*=dight; temp/=10; } return (sum==product)?1:0; } int main() { printf("Hello, World!\n"); return 0; }
这段代码定义了一个函数 `is_happy_number`,它判断一个整数是否满足“各位数字之和等于各位数字之积”的条件。函数对0特殊处理返回1,然后通过循环提取每一位数字,分别累加和累乘,最后比较两者是否相等。主函数只是打印了"Hello, World!",并没有实际调用这个函数。

- 函数名 `is_happy_number` 中的 `happy number` 通常指“快乐数”(平方和循环),但你的代码实现的是“各位数字之和等于各位数字之积”的判断,概念不一致。建议确认题目要求。
- 主函数中没有测试 `is_happy_number`,无法验证函数是否正确。可以添加一些测试调用,比如 `printf("%d\n", is_happy_number(123));` 来观察输出。