亦有资源网

C++语言基础到进阶学习资源汇总

有趣的6个经典C语言代码案例欣赏(c语言简短有趣代码)

1."Hello, World!" 代码

这是 C 语言中最基础的一个程序,打印出 "Hello, World!"。

#include 

int main() {
    printf("Hello, World!\n");
    return 0;
}

运行结果:

Hello, World!

2.猜数字游戏

这个程序会随机生成一个数字,然后提示用户输入一个数字,如果输入的数字与随机生成的数字相同,则输出 "猜对了!",否则提示用户继续输入。

#include 
#include 
#include 

int main() {
    int num, guess;
    srand(time(0));
    num = rand() % 100 + 1;
    do {
        printf("请输入一个数字(1-100):");
        scanf("%d", &guess);
        if (guess > num) {
            printf("太大了!\n");
        } else if (guess < num) {
            printf("太小了!\n");
        }
    } while (guess != num);
    printf("猜对了!\n");
    return 0;
}

运行结果:

请输入一个数字(1-100):50
太大了!
请输入一个数字(1-100):25
太小了!
请输入一个数字(1-100):37
太小了!
请输入一个数字(1-100):44
太大了!
请输入一个数字(1-100):41
太大了!
请输入一个数字(1-100):38
猜对了!

3.冒泡排序

这是一个经典的排序算法,将数组中的元素按升序排列。

#include 

void bubble_sort(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; i++) {
        for (j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j+1]) {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}

int main() {
    int arr[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(arr) / sizeof(arr[0]);
    bubble_sort(arr, n);
    printf("排序后的数组:\n");
    for (int i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
    return 0;
}

运行结果:

排序后的数组:
11 12 22 25 34 64 90


4. 判断一个数是否是质数

这个程序会提示用户输入一个正整数,然后判断它是否是质数。

#include 

int is_prime(int n) {
    if (n <= 1) {
        return 0;
    }
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            return 0;
        }
    }
    return 1;
}

int main() {
    int n;
    printf("请输入一个正整数:");
    scanf("%d", &n);
    if (is_prime(n)) {
        printf("%d 是质数!\n", n);
    } else {
        printf("%d 不是质数!\n", n);
    }
    return 0;
}

运行结果:

请输入一个正整数:37
37 是质数!

5.模拟掷骰子

这个程序会模拟掷两个骰子,然后输出它们的点数之和。

#include 
#include 
#include 

int roll_dice() {
    return rand() % 6 + 1;
}

int main() {
    int dice1, dice2, sum;
    srand(time(0));
    dice1 = roll_dice();
    dice2 = roll_dice();
    sum = dice1 + dice2;
    printf("你掷的两个骰子点数分别为 %d 和 %d,点数之和为 %d\n", dice1, dice2, sum);
    return 0;
}

运行结果:

你掷的两个骰子点数分别为 5 和 2,点数之和为 7

6.字符串反转

这个程序会反转一个字符串。

#include 
#include 

void reverse(char str[]) {
    int i, j;
    char temp;
    for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {
        temp = str[i];
        str[i] = str[j];
        str[j] = temp;
    }
}

int main() {
    char str[] = "Hello, World!";
    printf("反转前的字符串:%s\n", str);
    reverse(str);
    printf("反转后的字符串:%s\n", str);
    return 0;
}

运行结果:

反转前的字符串:Hello, World!
反转后的字符串:!dlroW ,olleH
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言