SHAOXIAOJ正在加载中...

2717: C-编程题-函数四

金币值:0 定数:1 时间限制:1.000 s 内存限制:128 M
解决:1 提交:1 正确率:100.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 来源/分类: C语言基础复习测试

题目描述

“快乐数” 的定义:对于一个正整数,将其替换为每个位上数字的平方和,重复该过程,若最终能得到 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 不是快乐数”。

输入

正整数 num(1 ≤ num ≤ 1000)

输出

num 是快乐数 /num 不是快乐数

样例输入    复制

19

样例输出    复制

19是快乐数

提示

判断循环的终止条件 —— 若平方和重复出现(如再次得到 4),则可确定为非快乐数(数学结论:所有非快乐数最终都会进入 4 的循环)。