C语言经典实例:1-10例:三角求和、显示所占字节数、自增自减运算while语句输出最小值、计算快递费用、学生成绩统计

简介: C语言经典实例:1-10例:三角求和、显示所占字节数、自增自减运算while语句输出最小值、计算快递费用、学生成绩统计

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源文件。

工程项目和文件如下所示。


341d7c8e0236471abad345d7e4aca2b4.png


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);     // 输出最大的数字
}


调试结果如下


5b08ac1737d24eb49f5cf18c6ddef6b6.png

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;             // 程序返回
}


其调试结果如下


5d9d7929595c4da79f267bc0628cfa07.png

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


369c4d04b08d41c2b91b9be0130fdda8.png


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


759f03043f884425816d8a596a56f75c.png


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

d5fdbcd435bb4f358dab741ea054a2d0.png

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


49ff8c15a8a646e3bd9710e15aa2e9fc.png

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


9f7408e864054221b4a1581bd9133b2a.png


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


c884c201b0fb423594b2df861f901e3d.png

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


b8287b2ddefd46808bda0e74111a8bf3.png

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


b825b8d7380e4212b7e075b6e1a2eaf6.png

相关文章
|
25天前
|
存储 数据处理 C语言
C语言高级应用探讨与实例
C语言高级应用探讨与实例
24 1
|
1天前
|
C语言
C 语言的运算及流程控制分享
C 语言的运算及流程控制
|
19天前
|
存储 C语言
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
16 2
|
4天前
|
C语言
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
|
4天前
|
Serverless C语言
C语言----递归函数,计算一个非负整数的数字之和
C语言----递归函数,计算一个非负整数的数字之和
12 0
|
4天前
|
C语言
C语言---试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?
C语言---试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?
|
4天前
|
C语言
C语言---计算三角形的周长和面积--海伦公式
C语言---计算三角形的周长和面积--海伦公式
11 0
|
4天前
|
C语言
C语言-----计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果
C语言-----计算1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100 的值,打印出结果
|
19天前
|
C语言
C语言学习记录——计算一个数的每位之和(递归实现)
C语言学习记录——计算一个数的每位之和(递归实现)
7 0
|
20天前
|
C语言
C语言探索:水仙花数的奥秘与计算
C语言探索:水仙花数的奥秘与计算