欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > C/C++入门案例02

C/C++入门案例02

2024/10/24 23:15:37 来源:https://blog.csdn.net/m0_68111267/article/details/141800297  浏览:    关键词:C/C++入门案例02

文章目录

  • 热门文章
  • 每日练习
      • 11. 斐波那契数列
      • 12. 数字到单词转换
      • 13. 字符串比较
      • 14. 闰年判断
      • 15. 读取并打印文件内容
      • 16. 交换两个变量的值
      • 17. 打印帕斯卡三角形
      • 18. 字符串连接
      • 19. 计算字符串长度
      • 20. 生成随机数

热门文章

序号直达链接
1C/C++爱心代码
2C/C++跳动的爱心
3C/C++李峋同款跳动的爱心代码
4C/C++满屏飘字表白代码
5C/C++大雪纷飞代码
6C/C++烟花代码
7C/C++黑客帝国同款字母雨
8C/C++樱花树代码
9C/C++奥特曼代码
10C/C++圣诞树代码
11C/C++俄罗斯方块
12C/C++贪吃蛇

每日练习

下面是另外十个适合初学者的C语言编程案例,每个案例都包含有简单的代码和解释。

11. 斐波那契数列

斐波那契数列是一个数列,其中每一个数是前两个数的和。

#include <stdio.h>int main() {int n = 10, t1 = 0, t2 = 1, nextTerm;printf("斐波那契数列的前%d项:\n", n);for (int i = 1; i <= n; ++i) {if (i == 1) {printf("%d, ", t1);continue;}if (i == 2) {printf("%d, ", t2);continue;}nextTerm = t1 + t2;t1 = t2;t2 = nextTerm;printf("%d, ", nextTerm);}return 0;
}

这段代码实现了斐波那契数列的打印功能。斐波那契数列是一个数学上的数列,每一项都是前两项之和。这里使用了一个循环来迭代计算数列中的每一项,并将其打印出来。代码首先初始化了数列的前两项 t1 和 t2,然后进入循环。在循环中,计算下一项 nextTerm,更新 t1 和 t2 的值,并打印出新的项。这个例子展示了如何使用循环结构以及变量更新来实现递推关系。

12. 数字到单词转换

将一个数字转换为其英文单词形式。

// 简化版,仅处理0-9之间的数字
#include <stdio.h>
#include <string.h>char *numberToWord(int num) {char *word[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};return word[num];
}int main() {int number = 5;printf("%d in words is %s\n", number, numberToWord(number));return 0;
}

这个例子展示了如何将一个整数转换成对应的英文单词。代码定义了一个字符串数组 word,它包含了从0到9的数字对应的英文单词。通过一个简单的函数 numberToWord,我们根据传入的数字索引到数组中的相应单词。这个例子教会了我们如何使用数组来存储一系列相关的数据,并通过索引来访问它们。

13. 字符串比较

比较两个字符串是否相等。

#include <stdio.h>
#include <string.h>int main() {char str1[50], str2[50];printf("请输入第一个字符串: ");fgets(str1, 50, stdin);printf("请输入第二个字符串: ");fgets(str2, 50, stdin);if (strcmp(str1, str2) == 0)printf("字符串相等。\n");elseprintf("字符串不相等。\n");return 0;
}

此程序演示了如何使用标准库函数 strcmp 来比较两个字符串是否相等。用户被提示输入两个字符串,然后 strcmp 函数用于比较这两个字符串的内容。如果字符串完全相同(包括空格和大小写),则返回值为0,表示字符串相等;否则,返回非零值,表示字符串不相等。这个例子说明了如何使用 C 标准库函数来进行字符串操作。

14. 闰年判断

检查一个年份是否是闰年。

#include <stdio.h>int main() {int year;printf("请输入一个年份: ");scanf("%d", &year);if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))printf("%d 是闰年。\n", year);elseprintf("%d 不是闰年。\n", year);return 0;
}

该程序检查给定的年份是否为闰年。根据规则,如果一个年份能够被4整除但不能被100整除,或者能被400整除,则该年份是闰年。代码通过简单的条件语句实现了这一逻辑。这个例子展示了如何根据特定条件使用逻辑运算符来做出决策。

15. 读取并打印文件内容

从一个文件读取内容并打印出来。

#include <stdio.h>int main() {FILE *file = fopen("example.txt", "r");if (file == NULL) {printf("无法打开文件。\n");return 1;}char ch;while ((ch = fgetc(file)) != EOF)putchar(ch);fclose(file);return 0;
}

这段代码示范了如何打开一个文件,并读取其内容到标准输出。首先尝试打开名为 example.txt 的文件,并检查是否成功打开。如果文件打开成功,使用 fgetc 函数逐字符读取文件内容,并使用 putchar 输出到屏幕。当到达文件末尾(EOF)时,关闭文件。这个例子向我们展示了文件操作的基本方法,包括打开、读取和关闭文件。

16. 交换两个变量的值

不使用第三个变量交换两个整数的值。

#include <stdio.h>int main() {int a = 5, b = 10;printf("交换前 a = %d, b = %d\n", a, b);a = a + b;b = a - b;a = a - b;printf("交换后 a = %d, b = %d\n", a, b);return 0;
}

这个程序展示了一种无需使用临时变量来交换两个整数的方法。通常情况下,交换两个变量的值需要一个额外的临时变量来保存其中一个变量的值。然而,在这个例子中,通过数学加法和减法操作,实现了变量值的交换。这种方法基于这样的事实:如果你把两个数相加,然后再从中减去其中一个原始数,你会得到另一个数。这个技巧虽然有趣,但在某些情况下可能不是最安全或最直观的方式,尤其是在涉及到浮点数时可能会出现问题。

17. 打印帕斯卡三角形

打印指定行数的帕斯卡三角形。

#include <stdio.h>void printPascalTriangle(int rows) {int i, j;unsigned long long pascal[rows][rows];for (i = 0; i < rows; i++) {for (j = 0; j <= i; j++) {if (j == 0 || j == i)pascal[i][j] = 1;elsepascal[i][j] = pascal[i - 1][j - 1] + pascal[i - 1][j];printf("%lld ", pascal[i][j]);}printf("\n");}
}int main() {int rows = 5;printPascalTriangle(rows);return 0;
}

帕斯卡三角形是一个三角形的数字阵列,其中每个数字是上方两数之和。这段代码通过使用一个二维数组 pascal 来存储每一行的数据,并使用嵌套循环来填充这个数组。外层循环控制行数,内层循环负责计算每行中的每个元素。通过检查边界情况(如当前元素是否位于行的开始或结束位置),我们可以设置初始值为1。其余位置则通过将上一行的相邻两个元素相加来计算得出。最后,使用 printf 打印每一行的内容。这展示了如何利用数组和循环来构建复杂的数据结构。

18. 字符串连接

连接两个字符串。

#include <stdio.h>
#include <string.h>int main() {char str1[50] = "Hello";char str2[50] = "World";char result[100];strcpy(result, str1);strcat(result, str2);printf("连接后的字符串: %s\n", result);return 0;
}

此程序使用了标准库函数 strcpy 和 strcat 来复制和连接字符串。首先定义了两个字符串 str1 和 str2,然后使用 strcpy 将 str1 复制到一个新的字符串 result 中。接着使用 strcat 将 str2 追加到 result 的末尾,从而实现了字符串的拼接。这个例子展示了如何使用 C 语言中的字符串处理函数来创建更复杂的字符串。

19. 计算字符串长度

计算一个字符串的长度。

#include <stdio.h>int main() {char str[100];printf("请输入一个字符串: ");fgets(str, 100, stdin);int len = strlen(str) - 1; // 去除换行符的影响printf("字符串长度为: %d\n", len);return 0;
}

计算字符串长度是一个常见的需求。这段代码使用了标准库函数 strlen 来获取字符串的实际长度。需要注意的是,fgets 用来读取字符串时会保留末尾的换行符,因此在计算长度时需要减去1来排除这个换行符。这个例子介绍了如何读取用户输入的字符串,并使用标准库函数来获取它的长度。

20. 生成随机数

生成一个在一定范围内的随机数。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main() {srand(time(0)); // 初始化随机数生成器int random_number = rand() % 100 + 1; // 生成1到100之间的随机数printf("随机数: %d\n", random_number);return 0;
}

随机数生成在许多应用程序中都非常有用。这段代码使用了 srand 和 rand 函数来生成随机数。srand 用于初始化随机数生成器,通常使用当前时间作为种子,以确保每次运行程序时都能获得不同的随机数序列。rand 函数返回一个伪随机整数,通过模运算 % 和偏移量 +1 可以限制随机数的范围。在这个例子中,生成的随机数范围是从1到100。这个例子展示了如何使用 C 语言的标准库函数来生成随机数,并如何通过简单的数学运算来限定随机数的范围。
以上代码示例均适用于C语言初学者,并且可以帮助他们理解基本的编程概念和技术。每段代码都尽可能保持简单明了,以便于学习。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com