当前位置:首页 > 技术知识 > 正文内容

有趣的6个经典C语言代码案例欣赏_c语言趣味编程100例

maynowei7个月前 (09-04)技术知识66

1."Hello, World!" 代码

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

#include <stdio.h>

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

运行结果:

Hello, World!

2.猜数字游戏

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

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

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 <stdio.h>

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 <stdio.h>

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 <stdio.h>
#include <stdlib.h>
#include <time.h>

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 <stdio.h>
#include <string.h>

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

相关文章

Win10桌面/手机版最深层次开发功能挖掘

IT之家讯 Win10开发者预览版为我们提供了一个Win10大框架的早期概览,使开发者与热心用户都可以提前感受Win10带来的新特性,尝试新工具,而作为开发者,最关心的莫过于Windows多平台通用应...

CPU「离奇」飙到 100%!开发者挖出 Linux 内核 16 年老 Bug:这么多年竟无人发现?

【CSDN 编者按】每一次对旧设备的升级都仿佛是一场跨越时代的冒险。本文作者致力于将基于 PXA166 的 Chumby 8 设备从 Linux 2.6.28 版本升级到现代 6.x 版本,然而,在看...

Go语言进阶:时间轮(golang时间轮)

时间轮概念时间轮(Timing Wheel)是一种高效的定时任务调度数据结构,特别适合处理大量定时任务。它通过一个循环数组(轮盘)和多个槽位(buckets)来组织定时任务,每个槽位代表一个时间间隔。...

大厂 Go 编程规范(二):mutex(编程大厂是什么意思)

mutex 是golang 的互斥锁,可以保障在多协程的情况下,数据访问的安全。1、零值有效我们并不需要mutex指针mu := new(sync.Mutex) mu.Lock()直接可以使用mute...

centos系统安装oracle简易客户端instantclient

一、目录1:centos 环境准备2:instant client 下载3:instant client 安装4:instant client 配置5:测试连接二、安装步骤1:zip,unzip命令安...

Diplomacy Talk | Why building a shared future matters now more than ever

What does it mean to build a global community of a shared future? First put forward by Chinese Presi...