2717: C-编程题-函数四
金币值:0
定数:1
时间限制:1.000 s
内存限制:128 M
解决:1
提交:1
正确率:100.00% 命题人:
题目描述
“快乐数” 的定义:对于一个正整数,将其替换为每个位上数字的平方和,重复该过程,若最终能得到 1,则该数为快乐数;若进入无限循环(始终得不到 1),则不是快乐数。例如:19 是快乐数(1²+9²=82 → 8²+2²=68 → 6²+8²=100 → 1²+0²+0²=1);2 不是快乐数(2→4→16→37→58→89→145→42→20→4→... 循环)。
请编写程序:
1. 定义函数 isHappy(int num),判断 num 是否为快乐数,是则返回 1,否则返回 0;
2. 定义辅助函数 sumOfSquares(int num),计算并返回 num 每个位上数字的平方和;
3. 主函数中输入正整数 num,调用函数后输出 “num 是快乐数” 或 “num 不是快乐数”。
请编写程序:
1. 定义函数 isHappy(int num),判断 num 是否为快乐数,是则返回 1,否则返回 0;
2. 定义辅助函数 sumOfSquares(int num),计算并返回 num 每个位上数字的平方和;
3. 主函数中输入正整数 num,调用函数后输出 “num 是快乐数” 或 “num 不是快乐数”。
输入
正整数 num(1 ≤ num ≤ 1000)
输出
num 是快乐数 /num 不是快乐数
样例输入 复制
19
样例输出 复制
19是快乐数
提示
判断循环的终止条件 —— 若平方和重复出现(如再次得到 4),则可确定为非快乐数(数学结论:所有非快乐数最终都会进入 4 的循环)。