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()函数,其调试结果如下