C语言编程练习题:第一期

练习题1: 编写一个程序,计算并输出两个整数之和。

复制代码
#include <stdio.h>

int main() {
    int num1, num2;
    
    printf("Enter two integers: ");
    scanf("%d %d", &num1, &num2);
    
    int sum = num1 + num2;
    printf("The sum of %d and %d is %d\n", num1, num2, sum);
    
    return 0;
}

练习题2: 编写一个程序,判断用户输入的年份是否为闰年。闰年的条件是:能被4整除但不能被100整除,或者能被400整除。

复制代码
#include <stdio.h>

int main() {
    int year;
    
    printf("Enter a year: ");
    scanf("%d", &year);
    
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
        printf("%d is a leap year.\n", year);
    } else {
        printf("%d is not a leap year.\n", year);
    }
    
    return 0;
}

练习题3: 编写一个程序,计算并输出给定整数数组的所有元素之和。

复制代码
#include <stdio.h>

int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int n = sizeof(arr) / sizeof(arr[0]);
    int sum = 0;
    
    for (int i = 0; i < n; i++) {
        sum += arr[i];
    }
    
    printf("The sum of all elements in the array is %d\n", sum);
    
    return 0;
}

练习题4: 编写一个程序,实现字符串反转功能。

复制代码
#include <stdio.h>
#include <string.h>

void reverse(char* str) {
    int len = strlen(str);
    for (int i = 0; i < len / 2; i++) {
        char temp = str[i];
        str[i] = str[len - i - 1];
        str[len - i - 1] = temp;
    }
}

int main() {
    char str[100];
    printf("Enter a string: ");
    fgets(str, sizeof(str), stdin);
    
    str[strcspn(str, "\n")] = '\0'; // Remove trailing newline
    
    reverse(str);
    printf("Reversed string: %s\n", str);
    
    return 0;
}

练习题5: 编写一个程序,找出给定整数数组中的最大值和最小值。

复制代码
#include <stdio.h>

int main() {
    int arr[] = {9, 7, 8, 6, Ⅰ1, 5};
    int n = sizeof(arr) / sizeof(arr[0]);
    int max = arr[0], min = arr[0];
    
    for (int i = 1; i < n; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
        if (arr[i] < min) {
            min = arr[i];
        }
    }
    
    printf("The maximum value in the array is %d\n", max);
    printf("The minimum value in the array is %d\n", min);
    
    return 0;
}
相关推荐
今天背单词了吗9805 小时前
算法学习笔记:19.牛顿迭代法——从原理到实战,涵盖 LeetCode 与考研 408 例题
笔记·学习·算法·牛顿迭代法
没书读了5 小时前
考研复习-数据结构-第六章-图
数据结构
jdlxx_dongfangxing5 小时前
进制转换算法详解及应用
算法
why技术6 小时前
也是出息了,业务代码里面也用上算法了。
java·后端·算法
future14127 小时前
C#进阶学习日记
数据结构·学习
2501_922895587 小时前
字符函数和字符串函数(下)- 暴力匹配算法
算法
IT信息技术学习圈8 小时前
算法核心知识复习:排序算法对比 + 递归与递推深度解析(根据GESP四级题目总结)
算法·排序算法
愚润求学8 小时前
【动态规划】01背包问题
c++·算法·leetcode·动态规划
会唱歌的小黄李8 小时前
【算法】贪心算法入门
算法·贪心算法
轻语呢喃9 小时前
每日LeetCode : 两数相加--链表操作与进位的经典处理
javascript·算法