C语言经典实例:1-10例:三角求和、显示所占字节数、自增自减运算while语句输出最小值、计算快递费用、学生成绩统计等
1、程序的编写工具
本C语言的实例:1-10例程序,使用Visual Studio 2019软件进行编写。
2、项目的创建
1、使用VS软件新建一个“C语言经典实例”的空白解决方案,
2、然后添加一个名为“C语言经典实例1-10”的C语言项目。
3、新建一个Main.h头文件和Main.c源文件。
工程项目和文件如下所示。
3、C语言经典实例1-10编写的过程
3.1、C语言经典实例1-两个实数比较大小
在Main.h头文件中声明一个func1函数,然后再Main.c源文件中定义func1函数,并实现相关的功能。
Main.h头文件中的代码如下
#pragma once /* * 包含相应的系统头文件 */ #include <stdio.h> #include <stdlib.h> // 函数的声明 // 实例1:两个实数比较大小 void func1();
Main.c源文件中的代码如下
#include "Main.h" int main() { system("color 3E"); // 改变控制台输出的颜色 // 实例1:两个实数比较大小 func1(); system("pause"); // 使程序暂停 return 0; // 程序返回 } // 实例1:两个实数比较大小 void func1() { float a, b, max; // 变量的定义 printf("请分别输入两个要比较大小的数:"); scanf_s("%f %f", &a, &b); // 输入两个数 if (a > b) // 两个数比较 { max = a; } else { max = b; } printf("最大数是:%f\n", max); // 输出最大的数字 }
调试结果如下
3.2、C语言经典实例2-字符输出
在Main.h头文件中声明一个func2函数,然后再Main.c源文件中定义func2函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例2:字符输出 void func2();
Main.c源文件添加的代码如下
// 实例2:字符输出 void func2() { char a, b; printf("请输入两个char类型字符:\n"); scanf_s("%c %c", &a, sizeof(a), &b, sizeof(b)); printf("输出为:%c %c\n", a, b); }
然后在main()函数中只调用func2()函数,如下所示
int main() { system("color 3E"); // 改变控制台输出的颜色 // 实例1:两个实数比较大小 //func1(); // 实例2:字符输出 func2(); system("pause"); // 使程序暂停 return 0; // 程序返回 }
其调试结果如下
3.3、C语言经典实例3-显示所占字节数
在Main.h头文件中声明一个func3函数,然后再Main.c源文件中定义func3函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例3:显示所占字节数 void func3();
Main.c源文件添加的代码如下
// 实例3:显示所占字节数 void func3() { int a; float b; double c; printf("sizeof(a) = %d\tsizeof(b) = %d\tsizeof(c) = %d\t\n", sizeof(a), sizeof(b), sizeof(c)); }
然后在main()函数中只调用func3()函数,其调试结果如下
3.4、C语言经典实例4-自增自减运算
在Main.h头文件中声明一个func4函数,然后再Main.c源文件中定义func4函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例4:自增自减运算 void func4();
Main.c源文件添加的代码如下
// 实例4:自增自减运算 void func4() { int i, a, b, c, d; printf("请输入i的值,i="); scanf_s("%d", &i); a = b = c = d = i; // 自增 printf("\"i++\"=%d\n", a++); printf("\"++i\"=%d\n", ++b); // 自减 printf("\"i--\"=%d\n", c--); printf("\"--i\"=%d\n", --d); }
然后在main()函数中只调用func4()函数,其调试结果如下
3.5、C语言经典实例5-两个实数比较大小
在Main.h头文件中声明一个func5函数,然后再Main.c源文件中定义func5函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例5:等比数列 void func5();
Main.c源文件添加的代码如下
// 实例5:等比数列 void func5() { int i, a1, q, n; int sum = 0; printf("请输入等比数列的首项:a1="); scanf_s("%d", &a1); printf("请输入等比数列的公比:q="); scanf_s("%d", &q); printf("请输入所求的前多少项:n="); scanf_s("%d", &n); for (i = 0; i < n; ++i) { sum = sum + a1; a1 = a1 * q; } printf("sum = %d\n", sum); }
然后在main()函数中只调用func5()函数,其调试结果如下
3.6、C语言经典实例6-for循环
在Main.h头文件中声明一个func6函数,然后再Main.c源文件中定义func6函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例6:for循环 void func6();
Main.c源文件添加的代码如下
// 实例6:for循环 void func6() { int i, a[20]; for (i = 0; i < 20; i++) { a[i] = rand() % 10; printf("%3d", a[i]); } printf("\n"); int m, n, k; for (m = 0; m <= 9; m++) { k = 0; for (n = 0; n < 20; n++) { if (m == a[n]) { k++; } } printf("%d有%d个\n", m, k); } }
然后在main()函数中只调用func6()函数,其调试结果如下
3.7、C语言经典实例7-while语句输出最小值
在Main.h头文件中声明一个func7函数,然后再Main.c源文件中定义func7函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例7:while语句输出最小值 void func7();
Main.c源文件添加的代码如下
// 实例7:while语句输出最小值 void func7() { int count, i = 0, input, min = 0; printf("请输入整数的个数:"); scanf_s("%d", &count); while (i < count) { printf("第%d个整数是:", i + 1); scanf_s("%d", &input); if ((i == 0) || (input < min)) { min = input; } i++; } printf("这些数的最小值是:%d\n", min); }
然后在main()函数中只调用func7()函数,其调试结果如下
3.8、C语言经典实例8-计算快递费用
在Main.h头文件中声明一个func8函数,然后再Main.c源文件中定义func8函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例8:计算快递费用 void func8();
Main.c源文件添加的代码如下
// 实例8:计算快递费用 void func8() { int weight; float money = 0; printf("请输入行李的重量:"); scanf_s("%d", &weight); switch (weight / 5) { case 0: money = (float)(3 * weight); break; case 1: money = (float)(5 * 3 + (weight - 5) * 3.5); break; case 2: money = (float)(5 * 3 + 5 * 3.5 + (weight - 10) * 4); break; case 3: money = (float)(5 * 3 + 5 * 3.5 + 5 * 4 + (weight - 15) * 4.5); break; case 4: money = (float)(5 * 3 + 5 * 3.5 + 5 * 4 + 5 * 4.5 + (weight - 20) * 5); break; case 5: money = 0; break; } if (money == 0) { printf("超重拒收。\n"); } else { printf("需要费用:%.2f\n", money); } }
然后在main()函数中只调用func8()函数,其调试结果如下
3.9、C语言经典实例9-学生成绩统计
在Main.h头文件中声明一个func9和print函数,然后再Main.c源文件中定义func9和print1函数,并实现相关的功能。
Main.h头文件添加的代码如下
// 实例9:学生成绩统计 void func9(); void print(int a[], int n);
Main.c源文件添加的代码如下
// 实例9:学生成绩统计 void func9() { int a[30], i, j, k = 0, m = 0, b[30], c[30], d[10] = { 0 }; printf("请输入学生成绩,以负数结束,最多不超过30个:\n"); for (i = 0; i < 30; i++) { int score; scanf_s("%d_s", &score); if (score < 0) { j = i; break; } a[i] = score; } for (i = 0; i < j; i++) { if (a[i] >= 60) b[k++] = a[i]; else c[m++] = a[i]; d[a[i] / 10]++; } printf("及格人数%d\n", k); print(b, k); printf("不及格人数%d\n", m); print(c, m); for (i = 0; i < 10; i++) { printf("%d分到%d分占:%d%%\n", i * 10, (i + 1) * 10 - 1, d[i] * 10); } } void print(int a[], int n) { for (int i = 0; i < n; i++) printf("%d ", a[i]); printf("\n\n"); }
然后在main()函数中只调用func9()函数,其调试结果如下
3.10、C语言经典实例10-三角求和
在Main.h头文件中声明一个func10函数,然后再Main.c源文件中定义func10函数,并实现相关的功能。
Main.h头文件添加的代码如下
#define N 5 // 实例10:三角求和 void func10();
Main.c源文件添加的代码如下
// 实例10:三角求和 void func10() { int arr[N][N] = { {0, 1, 1, 1, 1}, {2, 0, 1, 1, 1}, {2, 2, 0, 1, 1}, {2, 2, 2, 0, 1}, {2, 2, 2, 2, 0} }; int i, j; int sum1 = 0, sum2 = 0; /* 计算上三角形元素之和 */ for (i = 0; i < N; i++) { for (j = i; j < N; j++) { sum1 += arr[i][j]; } } /* 计算下三角形元素之和 */ for (i = 0; i < N; i++) { for (j = 0; j <= i; j++) { sum2 += arr[i][j]; } } /* 输出N*N的矩阵 */ for (i = 0; i < N; i++) { for (j = 0; j < N; j++) { printf("%d ", arr[i][j]); } printf("\n"); } printf("上三角形元素之和:%d\n", sum1); printf("下三角形元素之和:%d\n", sum2); }
然后在main()函数中只调用func10()函数,其调试结果如下