C语言案例教程详解

Posted 专业include

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言案例教程详解相关的知识,希望对你有一定的参考价值。

         ******小小目录******
         一、大小写转换
         二、从尾到头
         三、冰雹猜想
         四、水仙花数
         五、百钱百鸡
         六、九九乘法表

一、大小写转换
分析:在ASCII码表中,26个英文字母的ASCII码值相差32(小写字母比对应的大写字母大32)。当从键盘输入大写字母时,在输出时加上32,并且以%C格式输出,就能转换为小写。

代码实现:

#include <stdio.h>
int main()
{ 
        char c; 
        printf("输入一个字母:");
      scanf("%c",&c);
     if(c>='A'&&c<='Z') 
     {  
              c=c+32;  
              printf("%c\\n",c); 
        } 
        else if(c>='a'&&c<='z')
     {  
              c=c-32;  
              printf("%c\\n",c); 
        } 
      return 0;
}

运行截图:
在这里插入图片描述
二、从尾到头
描述:从键盘输入一个三位的整数num,将其个、十、百位倒序生成一个数字输出,例如:若输入123,则输出321。
分析:个位:对10取模;
十位:除以10之后对10取模
百位:除以100

代码实现:

#include <stdio.h>
int main()
{
    int num;
    int a, b, c;
    printf("请输入一个整数:\\n");
    scanf_s("%d", &num);
    a = num % 10;
    b = num/10 % 10;
    c = num /100;
    printf("%d\\n", 100 * a + 10 * b + c);
    return 0;
}

运行截图:在这里插入图片描述

三、冰雹猜想

描述:以一个正整数n为例,如果n为偶数,就将它变为n/2;如果除后变为奇数则乘以3再加1,将得到的新自然数按照此规则计算,若干次后得到的结果必然为1。
分析:
(1)先定义一个整型变量n来存数字,然后再定义一个整型变量count作为计数器,输出数字时显示在数字前作为序号;
(2)从键盘接收一个自然数后直接进入do…while循环;
(3)根据奇偶性不同,执行不同操作,当n=1时退出循环;
(4)当n为奇数时,把n乘以3再加1;当n为偶数时,把n除以2。

代码实现:

#include <stdio.h>
int main()
{
    int n;
    int count = 1;
    printf("please input a number:");
    scanf_s("%d", &n);
    do {
        if (n % 2)
        {
            n = n * 3 + 1;
            printf("(%d):%d\\n", count++, n);
        }
        else
        {
            n /= 2;
            printf("(%d):%d\\n", count++, n);
        }
    } while (n != 1);
    return 0;
}

运行截图:
在这里插入图片描述
四、水仙花数
描述:水仙花数就是一个三位数,它每一位数字的3次幂之和都等于它本身。
分析:
(1)确定取值范围是100到999,控制取值范围用for循环结构语句;
(2)将个位、十位、百位拆分,求各位数字的立方和;
(3)求出各位数字的立方和,判断它与数本身是否相等,若相等,则此数是水仙花数,否则不是水仙花数。
代码实现:

#include <stdio.h>
int main()
{
    int num;
    int a, b, c;
    printf("水仙花数:\\n");
    for (num = 100; num <= 999; num++)
    {
        a = num % 10;
        b = num / 10 % 10;
        c = num / 100;
        if (num == (a * a * a + b * b * b + c * c * c))
            printf("%d  ", num);
    }
    printf("\\n");
    return 0;
}

运行截图:在这里插入图片描述
五、百钱百鸡
描述:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?
分析:
(1)先定义三个整型变量,分别用来存储公鸡,母鸡和小鸡;
(2)第一层for循环控制公鸡的数量,第二层for循环控制母鸡的数量,第三层for循环控制小鸡的数量;
(3)根据三层循环筛选合理方案,即满足“cock+hen+chicken=100"和”5cock+3hen+chicken/3=100"的方案。
代码实现:

#include <stdio.h>
int main()
{
    int cock, hen, chicken;
    for(cock=0;cock<=20;cock++)
        for(hen=0;hen<=30;hen++)
            for (chicken = 0; chicken <= 100; chicken++)
            {
                if ((5 * cock + 3 * hen + chicken / 3.0 == 100) && (cock + hen + chicken == 100))
                    printf("cock=%2d,hen=%2d,chicken=%2d\\n", cock, hen, chicken);
            }
    return 0;
}

运行截图:在这里插入图片描述
六、九九乘法表
分析:
(1)定义整型变量i来控制函数的输出,定义整型变量j控制等式数量的输出;
(2)第一个for循环用来控制乘法表中每行的第一个因子和表的行数,很明显i取值范围为1到9;
(3)第二个for循环中变量j取值范围的确定建立在第一个for循环的基础上,它的最大取值是第一个for循环中变量的值,(j的取值范围根据行数变化,运行到第几行,j的最大值就是几;
(4)为了控制格式,将乘法表分行,需要在每行的末尾输出一个换行符。

代码实现:

#include <stdio.h>
int main()
{
    int i, j;
    for (i = 1; i <= 9; i++)
    {
        for (j = 1; j <= i; j++)
            printf("%d*%d=%d  ", i, j, i * j);
        printf("\\n");
    }
    return 0;
}

运行截图:在这里插入图片描述

以上是关于C语言案例教程详解的主要内容,如果未能解决你的问题,请参考以下文章

分享《微信小程序开发图解案例教程》PDF及代码+《微信小程序开发入门及案例详解》PDF及代码

MATLAB教程案例91将MATLAB程序转化为C语言

GlobalMapper精品教程054:标签(标注)功能案例详解

C语言—循环语句超详解

C#入门视频教程,C#语言入门详解,限时免费领取!

MATLAB教程案例93在MATLAB中通过mex将C语言转化为matlab可执行的mexw64文件