C语言经典编程练习题及答案:求和、奇偶数判断、最大值计算等

这篇文章整理了5道适合C语言初学者的编程练习题,包含了求和、奇偶数判断、最大值计算、数的整除性判断以及水仙花数的查找等常见问题,并提供了详细的代码实现和解释,帮助你巩固C语言基础知识。

练习题一:求1+2+3+...+10的和

代码实现:

#include <stdio.h>

int main() {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
        sum += i;
    }
    printf('1+2+3+...+10的和为:%d\n', sum);
    return 0;
}

代码解释:

  1. 使用循环结构 for (int i = 1; i <= 10; i++) 遍历1到10的所有整数。
  2. 在循环体内,每次将 i 的值累加到变量 sum 中。
  3. 最后输出 sum 的值,即为1到10的和。

练习题二:求10以内的偶数和、奇数和

代码实现:

#include <stdio.h>

int main() {
    int evenSum = 0;
    int oddSum = 0;
    for (int i = 1; i <= 10; i++) {
        if (i % 2 == 0) {
            evenSum += i;
        } else {
            oddSum += i;
        }
    }
    printf('10以内的偶数和为:%d\n', evenSum);
    printf('10以内的奇数和为:%d\n', oddSum);
    return 0;
}

代码解释:

  1. 使用循环结构 for (int i = 1; i <= 10; i++) 遍历1到10的所有整数。
  2. 在循环体内,使用 if (i % 2 == 0) 判断当前数 i 是否为偶数。
  3. 如果是偶数,则累加到变量 evenSum 中;否则,累加到变量 oddSum 中。
  4. 最后分别输出 evenSumoddSum 的值,即为10以内的偶数和和奇数和。

练习题三:输出两位数中所有能同时被3和5整除的数

代码实现:

#include <stdio.h>

int main() {
    printf('两位数中所有能同时被3和5整除的数为:');
    for (int i = 10; i <= 99; i++) {
        if (i % 3 == 0 && i % 5 == 0) {
            printf('%d ', i);
        }
    }
    printf('\n');
    return 0;
}

代码解释:

  1. 使用循环结构 for (int i = 10; i <= 99; i++) 遍历10到99的所有两位数。
  2. 在循环体内,使用条件判断 if (i % 3 == 0 && i % 5 == 0) 判断当前数 i 是否能同时被3和5整除。
  3. 如果满足条件,则输出该数。

练习题四:依次输入5个数。求其中的最大值并输出

代码实现:

#include <stdio.h>

int main() {
    int max = 0;
    int num;
    printf('请输入5个数:\n');
    for (int i = 0; i < 5; i++) {
        scanf('%d', &num);
        if (num > max) {
            max = num;
        }
    }
    printf('最大值为:%d\n', max);
    return 0;
}

代码解释:

  1. 定义变量 max 用于存储最大值,初始值为0。
  2. 使用循环结构 for (int i = 0; i < 5; i++) 循环读取5个整数。
  3. 每次读取一个整数后,与 max 进行比较,如果大于 max,则更新 max 的值。
  4. 最后输出 max 的值,即为输入的5个数中的最大值。

练习题五:在3位数中找到第一个满足各位数字的立方和恰好等于它本身的正整数n

代码实现:

#include <stdio.h>

int main() {
    int n;
    printf('满足各位数字的立方和等于它本身的正整数为:');
    for (n = 100; n <= 999; n++) {
        int digit1 = n / 100;
        int digit2 = (n / 10) % 10;
        int digit3 = n % 10;
        int sum = digit1 * digit1 * digit1 + digit2 * digit2 * digit2 + digit3 * digit3 * digit3;
        if (sum == n) {
            printf('%d\n', n);
            break;
        }
    }
    return 0;
}

代码解释:

  1. 使用循环结构 for (n = 100; n <= 999; n++) 遍历所有的三位数。
  2. 在循环体内,首先计算出当前三位数的个位、十位和百位数字,分别存储在变量 digit1digit2digit3 中。
  3. 然后计算这三个数字的立方和,存储在变量 sum 中。
  4. 判断 sum 是否等于 n,如果相等,则输出该数并使用 break 语句跳出循环。
C语言经典编程练习题及答案:求和、奇偶数判断、最大值计算等

原文地址: http://www.cveoy.top/t/topic/f34w 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录