• 大一C语言编程题库


    时间如白驹过隙,大学时光已匆匆过去两年,如今已是一只脚踏入了大三。谨以此篇博文总结一下大一的C语言编程,望对屏幕前努力奋斗的你们有所帮助,加油,追梦人!

    1.输出"Hello World"

    #include
    
    int main()
    {
    	printf("Hello World");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.输出整数

    #include 
    int main()
    {
        int number;
        // printf() 输出字符串
        printf("输入一个整数: ");  
        // scanf() 格式化输入
        scanf_s("%d", &number);  
        // printf() 显示格式化输入
        printf("你输入的整数是: %d", number);
        return 0;
    }
    //使用 printf() 与 %d 格式化输出整数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.输出单个字符

    #include 
     
    int main() 
    {
       char c;        // 声明 char 变量
       c = 'A';       // 定义 char 变量
       printf("c 的值为 %c", c);
       return 0;
    }
    // 使用 printf() 与 %c 格式化输出一个字符
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4.输出浮点数

    #include 
    
    int main() 
    {
       float f;             // 声明浮点数变量
       f = 12.001234;       // 定义浮点数变量
       printf("f 的值为 %f", f);
       return 0;
    }
    // 使用 printf() 与 %f 输出浮点数
    // 输出结果:
    // f 的值为 12.001234
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    5. 输出双精度(double)数

    #include 
     
    int main() 
    {
       double d;            // 声明双精度变量
       d = 12.001234;       // 定义双精度变量
       printf("d 的值为 %le", d);
       return 0;
    }
    // 使用 printf() 与 %e 输出双精度数
    // 输出结果:
    // d 的值为 1.200123e+01
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    6.用*号输出字母C的图案。

    #include
    int main()
    {
        printf(" ****\n");
        printf(" *\n");
        printf(" * \n");
        printf(" ****\n");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    7.输入两个整数,输出他们的和、差、积、商(第二个数不为零)

    #include
    int main()
    {
    	int num1, num2;
    	scanf_s("%d%d", &num1, &num2);
    	printf("两数之和=%d\n", num1 + num2);
    	printf("两数之差=%d\n", num1 - num2);
    	printf("两数之积=%d\n", num1 * num2);
    	printf("两数之商=%d\n", num1 / num2);
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    8.输入两个数,交换他们的值并输出。

    //1.使用临时变量
    #include
    int main()
    {
    	int num1, num2,temp;
    	scanf_s("%d%d", &num1, &num2);
    	temp = num1;
    	num1 = num2;
    	num2 = temp;
    	printf("交换后的值:%d %d", num1, num2);
    	return 0;
    }
    /*(2)不使用临时变量
    不使用临时变量交换两个整数的值*/
    
    #include 
    
    int main() {
    	int a, b;
    
    	a = 11;
    	b = 99;
    
    	printf("交换之前 - \n a = %d, b = %d \n\n", a, b);
    
    	a = a + b;  // ( 11 + 99 = 110)  此时 a 的变量为两数之和,b 未改变
    	b = a - b;  // ( 110 - 99 = 11)  
    	a = a - b;  // ( 110 - 11 = 99)
    
    	printf("交换后 - \n a = %d, b = %d \n", a, b);
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32

    9.输入三个整数x,y,z,请把这三个数由小到大输出。

    #include 
    int main()
    {
        int x, y, z, t;
        printf("请输入三个数字:\n");
        scanf_s("%d%d%d", &x, &y, &z);
        if (x > y) 
        { /*交换x,y的值*/
            t = x; x = y; y = t;
        }
        if (x > z) 
        { /*交换x,z的值*/
            t = z; z = x; x = t;
        }
        if (y > z) 
        { /*交换z,y的值*/
            t = y; y = z; z = t;
        }
        printf("从小到大排序: %d %d %d\n", x, y, z);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    10.字符转 ASCII 码

    #include 
    
    int main()
    {
        char c;
        printf("输入一个字符: ");
        // 读取用户输入
        scanf("%c", &c);  
        // %d 显示整数
        // %c 显示对应字符
        printf("%c 的 ASCII 为 %d", c, c);
        return 0;
    }
    // 输出结果:
    // 输入一个字符: a
    // a 的 ASCII 为 97
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    11.一次读取长字符,并一个一个显示 ASCII 码

    #include 
    #define MAX_STRING_LENGTH 65535 // 最大字符串长度
    
    int main() 
    {
        char s[MAX_STRING_LENGTH];
        printf("请输入长度小于 %d 的任意字符:", MAX_STRING_LENGTH);
        scanf_s("%s", s,MAX_STRING_LENGTH);    // 读取字符串。
        for (int i = 0; i<s[i]; i++) 
        {
            printf("%c的ASCII:%d\n", s[i], s[i]);
        }
        return 0;
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    12.比较两个数

    #include 
    
    int main() 
    {
        int a, b;
        a = 11;
        b = 99;
    
        // 也可以通过以下代码实现让用户在终端输入两个数
        // printf("输入第一个值:");
        // scanf("%d", &a);
        // printf("输入第二个值:");
        // scanf("%d", &b);
        if (a > b)
            printf("a 大于 b");
        else
            printf("a 小于等于 b");
        return 0;
    }
    //输出结果:
    //a 小于等于 b
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    13.比较三个数

    #include 
    
    int main() 
    {
        int a, b, c;
    
        a = 11;
        b = 22;
        c = 33;
    
        if (a > b && a > c)
            printf("%d 最大", a);
        else if (b > a && b > c)
            printf("%d 最大", b);
        else if (c > a && c > b)
            printf("%d 最大", c);
        else
            printf("有两个或三个数值相等");
    
        return 0;
    }
    //输出结果:
    
    //33 最大
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    14.计算字节大小

    //计算 int, float, double 和 char 字节大小
    //使用 sizeof 操作符计算int, float, double 和 char四种变量字节大小
    //
    //sizeof 是 C 语言的一种单目操作符,如C语言的其他操作符++、--等,它并不是函数
    //
    //sizeof 操作符以字节形式给出了其操作数的存储大小
    
    #include 
    
    int main()
    {
        int integerType;
        float floatType;
        double doubleType;
        char charType;
    
        // sizeof 操作符用于计算变量的字节大小
        printf("Size of int: %ld bytes\n", sizeof(integerType));
        printf("Size of float: %ld bytes\n", sizeof(floatType));
        printf("Size of double: %ld bytes\n", sizeof(doubleType));
        printf("Size of char: %ld byte\n", sizeof(charType));
    
        return 0;
    }
    //输出结果:
    //
    //Size of int: 4 bytes
    //Size of float : 4 bytes
    //Size of double : 8 bytes
    //Size of char : 1 byte
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    15.判断奇数/偶数

    #include 
    
    int main()
    {
        int number;
    
        printf("请输入一个整数: ");
        scanf_s("%d", &number);
    
        // 判断这个数除以 2 的余数
        if (number % 2 == 0)
            printf("%d 是偶数。", number);
        else
            printf("%d 是奇数。", number);
    
        return 0;
    }
    //输出结果:
    //
    //请输入一个整数 : 5
    //5 是奇数。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    16.一元二次方程

    求一元二次方程:ax2+bx+c=0 的根。

    #include 
    #include 
    
    int main()
    {
        float a, b, c, x1, x2, d;
        printf("输入方程的三个系数:");
        scanf_s("%f %f %f", &a, &b, &c);
        if (a != 0)
        {
            d = sqrt(b * b - 4 * a * c);
            x1 = (-b + d) / (2 * a);
            x2 = (-b - d) / (2 * a);
            if (x1 < x2)
                printf("%0.2f %0.2f\n", x2, x1);
            else
                printf("%0.2f %0.2f\n", x1, x2);
        }
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    17.判断闰年

    #include 
    
    int main()
    {
        int year;
    
        printf("输入年份: ");
        scanf_s("%d", &year);
    
        if (year % 4 == 0)
        {
            if (year % 100 == 0)
            {
                // 这里如果被 400 整数是闰年
                if (year % 400 == 0)
                    printf("%d 是闰年", year);
                else
                    printf("%d 不是闰年", year);
            }
            else
                printf("%d 是闰年", year);
        }
        else
            printf("%d 不是闰年", year);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    18.用户输入一个字符,判断该字符是否为一个字母

    #include 
    
    int main()
    {
        char c;
        printf("输入一个字符: ");
        scanf_s("%c", &c);
    
        if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
            printf("%c 是字母", c);
        else
            printf("%c 不是字母", c);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    19.计算自然数的和

    #include 
    int main()
    {
        int n, i, sum = 0;
    
        printf("输入一个正整数: ");
        scanf_s("%d", &n);
    
        for (i = 1; i <= n; ++i)
        {
            sum += i;   // sum = sum+i;
        }
    
        printf("Sum = %d", sum);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    20.输出九九乘法口诀表

    #include 
    
    int main() {
        //外层循环变量,控制行  
        int i = 0;
        //内层循环变量,控制列   
        int j = 0;
        for (i = 1; i <= 9; i++) {
            for (j = 1; j <= i; j++) {
                printf("%dx%d=%d\t", j, i, i * j);
            }
            //每行输出完后换行   
            printf("\n");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    21.斐波那契数列

    //(1)方法一:输出指定数量的斐波那契数列
    #include 
    
    int main()
    {
        int i, n, t1 = 0, t2 = 1, nextTerm;
    
        printf("输出几项: ");
        scanf_s("%d", &n);
    
        printf("斐波那契数列: ");
    
        for (i = 1; i <= n; ++i)
        {
            printf("%d, ", t1);
            nextTerm = t1 + t2;
            t1 = t2;
            t2 = nextTerm;
        }
        return 0;
    }
    
    //(2)方法二:输出指定数字前的斐波那契数列
    #include 
    
    int main()
    {
        int t1 = 0, t2 = 1, nextTerm = 0, n;
    
        printf("输入一个正数: ");
        scanf_s("%d", &n);
    
        // 显示前两项
        printf("斐波那契数列: %d, %d, ", t1, t2);
    
        nextTerm = t1 + t2;
    
        while (nextTerm <= n)
        {
            printf("%d, ", nextTerm);
            t1 = t2;
            t2 = nextTerm;
            nextTerm = t1 + t2;
        }
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    22.求两数的最大公约数

    #include 
    
    int main()
    {
        int n1, n2, i, gcd;
    
        printf("输入两个正整数,以空格分隔: ");
        scanf_s("%d %d", &n1, &n2);
    
        for (i = 1; i <= n1 && i <= n2; ++i)
        {
            // 判断 i 是否为最大公约数
            if (n1 % i == 0 && n2 % i == 0)
                gcd = i;
        }
    
        printf("%d 和 %d 的最大公约数是 %d", n1, n2, gcd);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    23.求两数最小公倍数

    #include 
    
    int main()
    {
        int n1, n2, minMultiple;
        printf("输入两个正整数: ");
        scanf_s("%d %d", &n1, &n2);
    
        // 判断两数较大的值,并赋值给 minMultiple
        minMultiple = (n1 > n2) ? n1 : n2;
    
        // 条件为 true
        while (1)
        {
            if (minMultiple % n1 == 0 && minMultiple % n2 == 0)
            {
                printf("%d 和 %d 的最小公倍数为 %d", n1, n2, minMultiple);
                break;
            }
            ++minMultiple;
        }
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    24.阶乘

    一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

    #include 
    
    int main()
    {
        int n, i;
        unsigned long long factorial = 1;
    
        printf("输入一个整数: ");
        scanf_s("%d", &n);
    
        // 如果输入是负数,显示错误
        if (n < 0)
            printf("Error! 负数没有阶乘jiechen");
    
        else
        {
            for (i = 1; i <= n; ++i)
            {
                factorial *= i;              // factorial = factorial*i;
            }
            printf("%d! = %llu", n, factorial);
        }
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    25.循环输出26个字母

    #include 
     
    int main()
    {
        char c;
     
        for(c = 'A'; c <= 'Z'; ++c)
           printf("%c ", c);
        
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    26.判断数字为几位数

    #include 
    int main()
    {
        long long n;
        int count = 0;
    
        printf("输入一个整数: ");
        scanf_s("%lld", &n);
    
        while (n != 0)
        {
            // n = n/10
            n /= 10;
            ++count;
        }
    
        printf("数字是 %d 位数。", count);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    27.计算一个数的 n 次方

    #include 
    
    int main()
    {
        int base, exponent;
    
        long long result = 1;
    
        printf("基数: ");
        scanf_s("%d", &base);
    
        printf("指数: ");
        scanf_s("%d", &exponent);
    
        while (exponent != 0)
        {
            result *= base;
            --exponent;
        }
        printf("结果:%lld", result);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    28.判断回文数

    #include 
    
    int main()
    {
        int n, reversedInteger = 0, remainder, originalInteger;
    
        printf("输入一个整数: ");
        scanf_s("%d", &n);
    
        originalInteger = n;
    
        // 翻转
        while (n != 0)
        {
            remainder = n % 10;
            reversedInteger = reversedInteger * 10 + remainder;
            n /= 10;
        }
    
        // 判断
        if (originalInteger == reversedInteger)
            printf("%d 是回文数。", originalInteger);
        else
            printf("%d 不是回文数。", originalInteger);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    29.判断素数

    质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数

    #include 
    
    int main()
    {
        int n, i, flag = 0;
    
        printf("输入一个正整数: ");
        scanf_s("%d", &n);
    
        for (i = 2; i <= n / 2; ++i)
        {
            // 符合该条件不是素数
            if (n % i == 0)
            {
                flag = 1;
                break;
            }
        }
    
        if (flag == 0)
            printf("%d 是素数", n);
        else
            printf("%d 不是素数", n);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    30.求一个整数的所有因数

    假如a*b=c(a、b、c都是整数),那么我们称a和b就是c的因数

    #include 
    
    int main()
    {
        int number, i;
    
        printf("输入一个整数: ");
        scanf_s("%d", &number);
    
        printf("%d 的因数有: ", number);
        for (i = 1; i <= number; ++i)
        {
            if (number % i == 0)
            {
                printf("%d ", i);
            }
        }
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    31.金字塔

    #include 
    int main()
    {
        int i, space, rows, k = 0;
    
        printf("Enter number of rows: ");
        scanf_s("%d", &rows);
    
        for (i = 1; i <= rows; ++i, k = 0)
        {
            for (space = 1; space <= rows - i; ++space)
            {
                printf("  ");
            }
    
            while (k != 2 * i - 1)
            {
                printf("* ");
                ++k;
            }
    
            printf("\n");
        }
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    32.杨辉三角

    #include 
    int main()
    {
        int rows, coef = 1, space, i, j;
     
        printf("行数: ");
        scanf("%d",&rows);
     
        for(i=0; i<rows; i++)
        {
            for(space=1; space <= rows-i; space++)
                printf("  ");
     
            for(j=0; j <= i; j++)
            {
                if (j==0 || i==0)
                    coef = 1;
                else
                    coef = coef*(i-j+1)/j;
     
                printf("%4d", coef);
            }
            printf("\n");
        }
     
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    33.二进制转换为十进制

    #include 
    #include 
    
    int convertBinaryToDecimal(long long n);
    
    int main()
    {
        long long n;
        printf("输入一个二进制数: ");
        scanf_s("%lld", &n);
        printf("二进制数 %lld 转换为十进制为 %d", n, convertBinaryToDecimal(n));
        return 0;
    }
    
    int convertBinaryToDecimal(long long n)
    {
        int decimalNumber = 0, i = 0, remainder;
        while (n != 0)
        {
            remainder = n % 10;
            n /= 10;
            decimalNumber += remainder * pow(2, i);
            ++i;
        }
        return decimalNumber;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    34.十进制转换为二进制

    #include 
    #include 
    
    long long convertDecimalToBinary(int n);
    
    int main()
    {
        int n;
        printf("输入一个十进制数: ");
        scanf_s("%d", &n);
        printf("十进制数 %d 转换为二进制位 %lld", n, convertDecimalToBinary(n));
        return 0;
    }
    
    long long convertDecimalToBinary(int n)
    {
        long long binaryNumber = 0;
        int remainder, i = 1, step = 1;
    
        while (n != 0)
        {
            remainder = n % 2;
            printf("Step %d: %d/2, 余数 = %d, 商 = %d\n", step++, n, remainder, n / 2);
            n /= 2;
            binaryNumber += remainder * i;
            i *= 10;
        }
        return binaryNumber;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    35.十进制转换为八进制

    #include 
    #include 
    
    int convertDecimalToOctal(int decimalNumber);
    int main()
    {
        int decimalNumber;
    
        printf("输入一个十进制数: ");
        scanf_s("%d", &decimalNumber);
    
        printf("十进制数 %d 转换为八进制为 %d", decimalNumber, convertDecimalToOctal(decimalNumber));
    
        return 0;
    }
    
    int convertDecimalToOctal(int decimalNumber)
    {
        int octalNumber = 0, i = 1;
    
        while (decimalNumber != 0)
        {
            octalNumber += (decimalNumber % 8) * i;
            decimalNumber /= 8;
            i *= 10;
        }
    
        return octalNumber;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    36.八进制转换为十进制

    #include 
    #include 
     
    long long convertOctalToDecimal(int octalNumber);
    int main()
    {
        int octalNumber;
     
        printf("输入一个八进制数: ");
        scanf("%d", &octalNumber);
     
        printf("八进制数 %d  转换为十进制为 %lld", octalNumber, convertOctalToDecimal(octalNumber));
     
        return 0;
    }
     
    long long convertOctalToDecimal(int octalNumber)
    {
        int decimalNumber = 0, i = 0;
     
        while(octalNumber != 0)
        {
            decimalNumber += (octalNumber%10) * pow(8,i);
            ++i;
            octalNumber/=10;
        }
     
        i = 1;
     
        return decimalNumber;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    37.二进制转换为八进制

    #include 
    #include 
    
    int convertBinarytoOctal(long long binaryNumber);
    int main()
    {
        long long binaryNumber;
    
        printf("输入一个二进制数: ");
        scanf_s("%lld", &binaryNumber);
    
        printf("二进制数 %lld 转换为八进制为 %d", binaryNumber, convertBinarytoOctal(binaryNumber));
    
        return 0;
    }
    
    int convertBinarytoOctal(long long binaryNumber)
    {
        int octalNumber = 0, decimalNumber = 0, i = 0;
    
        while (binaryNumber != 0)
        {
            decimalNumber += (binaryNumber % 10) * pow(2, i);
            ++i;
            binaryNumber /= 10;
        }
    
        i = 1;
    
        while (decimalNumber != 0)
        {
            octalNumber += (decimalNumber % 8) * i;
            decimalNumber /= 8;
            i *= 10;
        }
    
        return octalNumber;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    38.八进制转换为二进制

    #include 
    #include 
    
    long long convertOctalToBinary(int octalNumber);
    int main()
    {
        int octalNumber;
    
        printf("输入一个八进制数: ");
        scanf_s("%d", &octalNumber);
    
        printf("八进制数 %d 转二进制为 %lld", octalNumber, convertOctalToBinary(octalNumber));
    
        return 0;
    }
    
    long long convertOctalToBinary(int octalNumber)
    {
        int decimalNumber = 0, i = 0;
        long long binaryNumber = 0;
    
        while (octalNumber != 0)
        {
            decimalNumber += (octalNumber % 10) * pow(8, i);
            ++i;
            octalNumber /= 10;
        }
    
        i = 1;
    
        while (decimalNumber != 0)
        {
            binaryNumber += (decimalNumber % 2) * i;
            decimalNumber /= 2;
            i *= 10;
        }
    
        return binaryNumber;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    39.字符串翻转

    #include 
    void reverseSentence();
    
    int main()
    {
        printf("输入一个字符串: ");
        reverseSentence();
    
        return 0;
    }
    
    void reverseSentence()
    {
        char c;
        scanf_s("%c", &c);
    
        if (c != '\n')
        {
            reverseSentence();
            printf("%c", c);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    40.查找数组中最大的元素值

    #include 
    
    int main() 
    {
        int array[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
        int loop, largest;
    
        largest = array[0];
    
        for (loop = 1; loop < 10; loop++) {
            if (largest < array[loop])
                largest = array[loop];
        }
    
        printf("最大元素为 %d", largest);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    41.查找数组中最小的元素

    #include 
    
    int main() {
        int array[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
        int loop, smallest;
    
        smallest = array[0];
    
        for (loop = 1; loop < 10; loop++) {
            if (smallest > array[loop])
                smallest = array[loop];
        }
    
        printf("最小元素为 %d", smallest);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    42.连接字符串

    #include 
    int main()
    {
        char s1[100], s2[100], i, j;
    
        printf("输入第一个字符串: ");
        scanf_s("%s", s1,100);
    
        printf("输入第二个字符串: ");
        scanf_s("%s", s2,100);
    
        // 计算字符串 s1 长度
        for (i = 0; s1[i] != '\0'; ++i);
    
        for (j = 0; s2[j] != '\0'; ++j, ++i)
        {
            s1[i] = s2[j];
        }
    
        s1[i] = '\0';
        printf("连接后: %s", s1);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    43.计算字符串长度

    #include 
    #include 
    
    int main()
    {
        char s[1000];
        int len;
    
        printf("输入字符串: ");
        scanf_s("%s", s,1000);
        len = strlen(s);
    
        printf("字符串长度: %d", len);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    44.水仙花数

    #include 
    int main()
    {
        int hun, ten, ind, n;
        printf("result is:");
        for( n=100; n<1000; n++ )  /*整数的取值范围*/
        {
            hun = n / 100;
            ten = (n-hun*100) / 10;
            ind = n % 10;
            if(n == hun*hun*hun + ten*ten*ten + ind*ind*ind)  /*各位上的立方和是否与原数n相等*/
                printf("%d  ", n);
        }
        printf("\n");
       
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    45.猴子吃桃

    #include 
    int main()
    {
        int day,x1,x2;    /*定义 day、x1、x2 3 个变董为基本整型*/
        day=9;
        x2=1;
        while(day>0)
        {
            x1=(x2+1)*2;    /*第一天的桃子数是第二天桃子数加1后的2倍*/
            x2=x1;
            day--;    /*因为从后向前推所以天数递减*/
        }
        printf("总数有 %d\n个",x1);    /* 输出桃子的总数*/
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    46.百钱买百鸡

    #include 
    int main(void) {
    	
    	//定义公鸡、母鸡、小鸡的数量变量 
    	int x,y,z;	
    	
    	//定义数量变量和价格变量
    	int sump,sumc; 
    	
    	int i,j,k;
    	//公鸡最少1只,最多100/5=20只 
    	for(i = 1; i <= 19; i++){
    		//母鸡最少1只,最多100/3=33只 
    		for(j = 1; j <= 31; j++){
    			//小鸡最少1只,最多100-公鸡-母鸡
    			for(k = 1; k <= 100-i-j; k++){
    				sump = k/3+j*3+5*i;
    				sumc = i+j+k;
    				if(sump == 100 && sumc == 100){
    					printf("公鸡、母鸡、小鸡有:%d %d %d\n",i,j,k);
    				}
    			} 
    		}
    	} 
    	
    	return 0;
    } 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    47.冒泡排序

    # include 
    int main(void)
    {
        int a[] = { 900, 2, 3, -58, 34, 76, 32, 43, 56, -70, 35, -234, 532, 543, 2500 };
        int n;  //存放数组a中元素的个数
        int i;  //比较的轮数
        int j;  //每轮比较的次数
        int buf;  //交换数据时用于存放中间数据
        n = sizeof(a) / sizeof(a[0]);  /*a[0]是int型, 占4字节, 所以总的字节数除以4等于元素的个数*/
        for (i = 0; i < n - 1; ++i)  //比较n-1轮
        {
            for (j = 0; j < n - 1 - i; ++j)  //每轮比较n-1-i次,
            {
                if (a[j] < a[j + 1])
                {
                    buf = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = buf;
                }
            }
        }
        for (i = 0; i < n; ++i)
        {
            printf("%d\x20", a[i]);
        }
        printf("\n");
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    在这里插入图片描述

  • 相关阅读:
    【Java多线程JUC入门详解】Atomic原子类、LongAdder源码详解
    python宿舍管理系統毕业设计源码231642
    前端页面实现【矩阵表格与列表】
    附录5-本地生活案例(上拉触底,下拉刷新)
    图像识别与处理学习笔记(三)形态学和图像分割
    腾讯java研发岗二面:如何保证 redis 的高并发和高可用?
    动态规划之-----年终奖
    @RequiredArgsConstructor 引发的循环依赖问题
    室内定位:5G定位开启高精度定位新纪元
    Insight h2database 执行计划评估以及 Selectivity
  • 原文地址:https://blog.csdn.net/qq_59969777/article/details/126760383