📜  C测验– 104 |问题4(1)

📅  最后修改于: 2023-12-03 15:14:25.836000             🧑  作者: Mango

C测验 - 104 | 问题4

问题描述

本题目要求计算一个整数中各位数字的平方和。

输入格式
  • 输入一个整数n。
输出格式
  • 输出n中各位数字的平方和。
样例输入
5678
样例输出
134
解析

可以把输入的整数每一位上的数字都提取出来,然后进行平方和的计算。

代码实现
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    int n;
    scanf("%d", &n);  // 输入一个整数

    int sum = 0;  // 定义一个变量,用于存放各位数字的平方和
    while (n != 0) {
        int digit = n % 10;  // 获取n的个位数字
        sum += pow(digit, 2);  // 将n的个位数字的平方加到sum中
        n /= 10;  // 去除n的个位数字,获取下一位数字
    }

    printf("%d", sum);  // 输出各位数字平方和

    return 0;
}
代码说明
  • 程序首先定义一个int类型的变量n,用于存储输入的整数。
  • 然后定义一个int类型的sum变量,用于存储各位数字的平方和,初始值为0。
  • 然后使用while循环,若n不为0就一直执行下去。
  • 在循环中,获取n的个位数字digit,使用pow()函数计算digit的平方,将结果累加到sum中。
  • 然后将n除以10,将下一位数字提取出来。
  • 当n等于0时,说明所有数字都已经提取完毕,sum存储的就是各位数字的平方和。
  • 最后使用printf()函数将sum输出即可。
其他说明
  • 在程序中使用了数学函数pow(),以及循环结构while。
  • 数学函数pow()用于计算一个数字的乘方。语法为:pow(x,y),即x的y次方。
  • 循环结构while用于在条件满足的情况下不断执行一段代码块,直至条件不满足为止。