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

相关文章
|
21天前
|
存储 算法 安全
C 语言中的位运算:挖掘底层计算的高效力量
位运算是C语言中直接操作二进制位的一种技术,能高效处理底层数据,广泛应用于优化算法、硬件编程等领域,是掌握C语言高级特性的关键之一。
|
20天前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
29 5
|
23天前
|
存储 算法 C语言
C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项
本文深入探讨了C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项,并通过案例分析展示了实际应用,旨在帮助读者提高编程效率和代码质量。
68 4
|
6月前
|
存储 C语言
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
|
3月前
|
存储 C语言 数据格式
【C语言基础考研向】03混合运算和printf讲解
本文分为两部分。第一部分介绍了C语言中的混合运算与类型强制转换的重要性,通过实例展示了当整型数进行除法运算且结果为小数时,必须使用类型转换才能正确存储浮点数结果。第二部分详细讲解了`printf`函数的功能与使用方法,包括格式化输出不同类型数据的基本语法,并通过具体示例演示了如何利用字段宽度和对齐方式来控制输出格式,帮助读者更好地理解和掌握输出格式的控制技巧。
54 10
|
2月前
|
C语言
初识C语言:自增与自减陷阱
初识C语言:自增与自减陷阱
|
6月前
|
C语言
C语言实战项目——学生试卷分数统计
C语言实战项目——学生试卷分数统计
|
6月前
|
存储 安全 C语言
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
|
6月前
|
存储 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 的值,打印出结果
|
6月前
|
C语言
C 语言的运算及流程控制分享
C 语言的运算及流程控制