下面是菜鸟教程提供的语言示例六十九个示例:
找一些不太熟悉的练习一下。创建一个新的项目 C_demo_02
-
2、 C 语言实例 - 输出整数 √
-
3、 C 语言实例 - 输出单个字符 √
-
4、 C 语言实例 - 输出浮点数 √
-
5、 C 语言实例 - 输出双精度数 √
-
6、 C 语言实例 - 两个数字相加 √
-
7、 C 语言实例 - 两个浮点数相乘 √
-
- ASCII码共有128位 , 0-31 、 127(删除)是控制字符
- 空白字符:空格(32)、 制表符、 垂直制表符、 换行、 回车
- 可显示字符:a-z、A-Z、0-9、~、!、@、、%、^、&、#、$、*、(、)、-、+、{、}、[、]、'、"、<、>、,、?、/、|、\、_、:、;、.,还有顿号、
- 在菜鸟教程中有一个详细的表格可以查询
-
9、 C 语言实例 - 两数相除 √
-
10、 C 语言实例 - 数值比较 √
-
12、 C 语言实例 - 交换两个数的值 √
-
13、 C 语言实例 - 判断奇数/偶数 √
-
14、 C 语言实例 - 循环区间范围内的奇数/偶数 √
-
15、 C 语言实例 - 判断元音/辅音
- 遇到一个小问题是两次使用scanf函数,在第一个调用之后会将一个 \n 存在缓存区。
- 有几个方法可以解决,第一个是释放内存。第二个是是添加 getchar() 函数获取回车 。第三是在 % 号前添加一个空格,用于抵消回车。
-
printf("\n-=-=-=-=-=-=-=--=-\n判断字符元音辅音 \n请输入一个字符:"); char c ; //getchar(); scanf_s(" %c", &c,255); if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { if (c == 'A' || c == 'a' || c == 'E' || c == 'e' || c == 'I' || c == 'i' || c == 'O' || c == 'o' || c == 'U' || c == 'u') { printf("%c 为 元音", c); } else { printf("%c 为 辅音", c); } }
-
16、 C 语言实例 - 判断三个数中的最大数 √
-
17、 C 语言实例 - 一元二次方程
-
printf("\n-=-=-=-=-=-=-=--=-\n计算一元二次方程根 \n请输入三个系数(Ax^2 + Bx = C ):"); double A , B , C , X1 , X2; scanf_s("%lf %lf %lf", &A, &B, &C); C = -C; printf("输入的方程为:%3.1lfx^2 + %3.1lfx = %3.1lf\n", A, B, C); double derda = 0; derda = B * B - 4 * A * C; if(derda < 0 ) { printf("方程无解~\n"); } else { X1 = (-B + sqrt(derda)) / 2 * A ; X2 = (-B - sqrt(derda)) / 2 * A ; if (X1 == X2) { printf("X1=X2=%3.1lf\n", X1); } else { printf("X1=%3.1lf\n", X1); printf("X2=%3.1lf\n", X2); } }
-
-
18、 C 语言实例 - 判断闰年 √
-
19、 C 语言实例 - 判断正数/负数/零 √
-
20、 C 语言实例 - 判断字母
- 和判断元辅音类似。
-
21、 C 语言实例 - 计算自然数的和 √
-
22、 C 语言实例 - 输出九九乘法口诀表 √
-
23、 C 语言实例 - 斐波那契数列
- 1 1 2 3 5 8 12 ······
-
-
遍历/辗转相减/辗转相除
-
printf("\n-=-=-=-=-=-=-=--=-\n计算两数最大公约数 \n请输入两个整数:"); int a, b , gcd = 1; scanf_s("%d%d", &a, &b , 20 , 20 ); if (a == b) { printf("%d 和 %d 最大公约数是: %d\n", a, a, a); } else { for (int i = 1; i <= a && i <= b; i++) { if (a % i == 0 && b % i == 0) { gcd = i; } } printf("%d 和 %d 最大公约数是: %d\n", a, b, gcd); } int A = a, B = b; if (a == b) { printf("%d 和 %d 最大公约数是: %d\n", a, a, a); } else { while (a != b) { if (a > b) { a -= b; } else { b -= a; } } printf("%d 和 %d 最大公约数是: %d\n", A, B, a); } int AA = A, BB = B; int t; while (B != 0) { t = A % B; A = B; B = t; } printf("%d 和 %d 最大公约数是: %d\n", AA, BB, A);
-
-
25、 C 语言实例 - 求两数最小公倍数 √
- 与公约数类似
-
26、 C 语言实例 - 阶乘 √
-
-
printf("\n-=-=-=-=-=-=-=--=-\n输出 A- Z: "); printf("\n"); char letter = 'A'; for (int i = 0; i < 26; i++) { printf("%c ", letter); letter++; } printf("\n"); char c; for (c = 'a'; c <= 'z'; c++) { printf("%c ", c); }
-
-
28、 C 语言实例 - 判断数字为几位数 √
- x = n/10;
-
29、 C 语言实例 - 计算一个数的 n 次方 √
- 循环
- pow()函数
-
30、 C 语言实例 - 判断回文数
-
printf("\n-=-=-=-=-=-=-=--=-\n判断回文数 \n 请输入数字:");
int n, reversedn = 0, remainder, originaln; scanf_s(" %d", &n, 20); originaln = n; while (n != 0) { remainder = n % 10; reversedn = reversedn * 10 + remainder; n /= 10; } if (originaln == reversedn) { printf("%d 是回文数 \n", originaln); } else { printf("%d 不是回文数 \n", originaln); }
-
-
31、 C 语言实例 - 判断素数
-
printf("\n-=-=-=-=-=-=-=--=-\n判断区间素数 \n 请输入两个正整数:"); int low, high, i, flag = 0; scanf_s(" %d %d", &low, &high); if (low > high) { int a = low; low = high; high = low; printf("%d 与 %d 之间的素数为:", high, low); } else printf("%d 与 %d 之间的素数为:", low, high); while (low < high) { flag = 0; for (i = 2; i <= low / 2; i++) { if (low % i == 0) { flag = 1; break; } } if (flag == 0 && low != 0 && low != 1 ) { printf("%d ", low); } low++; }
-
-
- 循环进行取余, 是0 就是因数
-
34、 C 语言实例 - 创建各类三角形图案 √
-
35、 C 语言实例 - 表格形式输出数据 √
- %3d ==> 先空格,数字在最后
-
36、 C 语言实例 - 实现简单的计算器 √
-
-
printf("\n-=-=-=-=-=-=-=--=-\n判断整数是否能两个素数之和\n请输入一个整数:"); int n, i, flag = 0; scanf_s("%d", &n); for (i = 2; i <= n / 2; i++) { if (checkPrime(i) == 1) { if (checkPrime(n - i) == 1) { printf("%d = %d + %d \n", n, i, n - i); flag = 1; } } } if (flag == 0) { printf("%d 不能分解\n", n); }
-
-
-
printf("\n-=-=-=-=-=-=-=--=-\n二进制转换为十进制\n请输入一个二进制数:"); int i, n , output = 0 , j = 0 ; scanf_s("%11d", &i); while (i != 0) { n = i % 10; output = output + n * pow(2, j); j++; i /= 10; } printf("%d", output);
-
-
39、 C 语言实例 - 八进制与十进制相互转换 √
-
40、 C 语言实例 - 八进制与二进制相互转换 √
-
41、 C 语言实例 - 字符串翻转 ---- ------------ 需要加强学习
-
42、 C 语言实例 - 计算数组元素平均值 √
-
43、 C 语言实例 - 输出数组 √
-
44、 C 语言实例 - 计算数组元素之和 √
-
45、 C 语言实例 - 查找数组中最大的元素值 √
-
46、 C 语言实例 - 查找数组中最小的元素 √
-
47、 C 语言实例 - 数组拆分与合并 √
-
48、 C 语言实例 - 数组拷贝 √
-
49、 C 语言实例 - 计算标准偏差 √
-
50、 C 语言实例 - 两个矩阵相加 √
-
51、 C 语言实例 – 矩阵转换 √
- 1 2 ==> 2 1
-
-
printf("\n-=-=-=-=-=-=-=--=-\n数值循环轮转\n请输入三个数:"); int a, b, c; scanf_s(" %d %d %d", &a, &b, &c); printf("交换前:\n"); printf("a = %d \nb = %d \nc = %d\n", a, b, c); cyclicwap(&a, &b, &c); printf("交换后:\n"); printf("a = %d \nb = %d \nc = %d \n ", a, b, c); int cyclicwap(int* a, int* b, int* c) { int temp; temp = *b; *b = *a; *a = *c; *c = temp; return 0; }
-
-
54、 C 语言实例 - 判断最大值 √
-
55、 C 语言实例 - 删除字符串中的特殊字符 √
-
56、 C 语言实例 – 连接字符串 √
-
57、 C 语言实例 – 计算字符串长度 √
-
58、 C 语言实例 – 查找字符在字符串中出现的次数 √
-
59、 C 语言实例 – 字符串中各种字符计算 √
-
60、 C 语言实例 - 字符串复制 √
-
61、 C 语言实例 - 字符串排序
-
62、 C 语言实例 - 使用结构体(struct) √
-
63、 C 语言实例 - 复数相加
-
65、 C 语言实例 - 将字符串写入文件 √
-
66、 C 语言实例 - 从文件中读取一行 √
- fscanf/fgets 函数
-
- 善用0/1标记
-
int su[30] = { 0 }, count = 0, i = 0, j = 0; while (1) { if (su[i] == 0) { j++; } if (j == 9) { count++; su[i] = 1; printf("第 %2d 号下船\n", i + 1); j = 0; } if (count == 15) { break; } i++; if (i == 30) { i = 0; } }
-
-
int sum = 0; int a, b, c, d, e; for (e= 6 ; ; e++) { d = e * 1.25 + 1 ; c = d * 1.25 + 1; b = c * 1.25 + 1; a = b * 1.25 + 1; if (a % 5 == 1 && b % 5 == 1 && c % 5 == 1 && d % 5 == 1 && e % 5 == 1) { printf("a: %d\n", a); printf("b: %d\n", b); printf("c: %d\n", c); printf("d: %d\n", d); printf("e: %d\n", e); printf("sum: %d\n", a); break; } }
-