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及代码