• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

基于C/VC++ 写一个编程。输入一个4位整数,求各位数的平和,再对这个数求各位数的平方和,直到平方和小于10为止。编程简单明了,无中文,可直接复制

发布于 2024-06-28 09:17:15

下面是一个C语言程序示例,它接收一个4位整数,然后计算各位数之和和各位数的平方和,并继续这个过程直到平方和小于10为止:

#include <stdio.h>

int main() {
    int number, sum, squareSum, digit;

    // 输入一个4位整数
    printf("Enter a 4-digit integer: ");
    scanf("%d", &number);

    // 如果输入的不是4位数,处理错误
    if (number < 1000 || number > 9999) {
        printf("The number is not a 4-digit integer.\n");
        return 1;
    }

    // 初始化和与平方和
    sum = 0;
    squareSum = 0;

    while (squareSum >= 10) {
        // 计算各位数之和与各位数的平方和
        while (number > 0) {
            digit = number % 10; // 获取最低位数字
            sum += digit;         // 加到各位数之和
            squareSum += digit * digit; // 加到各位数的平方和
            number /= 10; // 移除最低位数字
        }

        // 输出结果
        printf("Sum of digits: %d\n", sum);
        printf("Sum of squares of digits: %d\n", squareSum);

        // 重置sum和number,以便进行下一轮计算
        sum = 0;
        number = squareSum; // 将平方和作为下一个计算的数字
        squareSum = 0;      // 重置平方和

        // 输出新的数字
        printf("Next number: %d\n", number);

        // 如果平方和小于10,退出循环
        if (squareSum < 10) {
            break;
        }
    }

    // 输出最终结果
    printf("Sum of digits: %d\n", sum);
    printf("Final sum of squares of digits: %d\n", squareSum);

    return 0;
}

这个程序首先提示用户输入一个4位整数。然后,它使用两个while循环:外层循环负责重复计算直到平方和小于10,内层循环负责计算每个数字的各位数之和和平方和。在每次外层循环结束时,程序会输出当前的各位数之和和平方和,并将平方和作为下一个数字重新计算,直到平方和小于10。

请注意,如果输入的数字不是4位数,程序将输出错误消息并返回。

这段代码可以直接复制到C/C++编译器中进行编译和执行。

0 条评论

发布
问题

在线
客服