当前位置: 首页 > news >正文

南京网络程序开发公司杭州seo技术

南京网络程序开发公司,杭州seo技术,哈尔滨设计公司排名,滨州做网站建设的公司目录 前言 六、批量数据组织——数组 6.1 成绩统计——数组类型 6.1.1 数组类型 6.1.2 数组声明与操作 6.1.3 成绩统计 6.2 统计多科成绩——多维数组 6.3 程序设计实例 6.3.1 杨辉三角形 6.3.2 矩阵乘积 6.3.3 消去法 6.4 线性表——分类与检索 前言 ChatGPT C语…

目录

前言

六、批量数据组织——数组

6.1 成绩统计——数组类型

6.1.1 数组类型

6.1.2 数组声明与操作

6.1.3 成绩统计

6.2 统计多科成绩——多维数组

6.3 程序设计实例

6.3.1 杨辉三角形

6.3.2 矩阵乘积

6.3.3 消去法

6.4 线性表——分类与检索


 

 

 

 

前言

ChatGPT

        C语言是一种通用的、过程式的计算机编程语言,由贝尔实验室的Dennis Ritchie在20世纪70年代初开发。它被设计成一种简单、高效和可移植的语言,用于系统级编程和应用程序开发。

以下是C语言的一些主要特点:

1. 结构化编程:C语言支持结构化编程,它提供了顺序执行、条件语句(如if-else和switch)和循环结构(如for和while),使程序更易于阅读、理解和维护。

2. 中级语言:C语言同时具备高级语言和低级语言的特点。它提供了丰富的控制结构和操作符,可以直接访问内存和硬件,并且允许程序员进行底层的操作,如位操作和指针运算。

3. 可移植性:C语言编写的程序具有很高的可移植性,因为它的语法和特性在不同的计算机系统上基本保持一致。这使得程序可以在不同的平台上进行编译和执行,而无需对代码进行太多的修改。

4. 强大的标准库:C语言提供了一个丰富的标准库,其中包含了各种函数和工具,用于处理输入输出、字符串操作、内存管理、数学运算等。这些函数可以提高程序开发的效率,并且可以跨平台使用。

5. 面向系统编程:由于C语言具有直接访问内存和硬件的能力,它经常用于开发操作系统、嵌入式系统和驱动程序等底层软件。C语言还提供了位操作和指针等特性,使得程序员可以更好地控制系统资源。

6. 扩展性:C语言允许程序员编写自定义的函数和库,以扩展语言的功能。这使得C语言非常适合大型项目的开发,可以将代码组织成模块化的结构,并通过函数调用进行复用。

        尽管C语言相对较为底层,但它仍然是一种非常重要和广泛应用的编程语言。它为程序员提供了强大的控制能力和性能优势,并且在各种领域,如系统编程、嵌入式开发、游戏开发等方面都得到了广泛应用。许多现代编程语言,如C++、Java和Python,都受到了C语言的影响,并在其基础上进行了扩展和改进。

        C语言中的数组是一种用于存储多个相同类型元素的数据结构。它是一种线性数据结构,可以按照索引访问和操作其中的元素。数组在C语言中被广泛应用于各种编程任务,包括数据的组织、存储和处理。同时,数组也是其他数据结构和算法的基础,如字符串、栈、队列、排序算法等。

 

六、批量数据组织——数组

6.1 成绩统计——数组类型

6.1.1 数组类型

  • 数组是个数固定、类型相同的若干个变量的有序集合;
  • 数组中的变量称为数组元素;
  • 通常用数组来表示向量、矩阵等;
  • 举例:
    • int a[50],j[11] ;

       

    • 一个单词 由  若干个    字符   组成
      • char word[1000];

         

    • 一个向量 由  若干个    实数  组成
      • float data[4];

         

    • 一个矩阵 由  若干个    向量  组成
      • float vector[2][4];

         

6.1.2 数组声明与操作

        在C语言中,声明一个数组需要指定元素的类型和数组的名称,还可以指定数组的大小(即元素的数量)。以下是一个示例的数组声明:    

        79b28db9022d452487302e2a2e947185.png

 

        在上述示例中,我们声明了一个名为a的整型数组,它包含了5个元素。

        数组的元素可以通过索引访问,索引从0开始,依次增加。例如,要访问数组中的第一个元素,可以使用numbers[0];要访问第三个元素,可以使用numbers[2]。我们可以使用索引来读取、修改或赋值数组中的元素。  

        注意:数组的有效索引范围是从0到数组大小减1。如果尝试访问超出数组边界的索引,将导致未定义的行为或错误。

 

6.1.3 成绩统计

#include <stdio.h>#define SIZE 5int main() {int scores[SIZE]; // 存储成绩的数组int i;int sum = 0;float average;// 读取成绩printf("请输入%d个学生的成绩:\n", SIZE);for (i = 0; i < SIZE; i++) {printf("学生%d的成绩:", i + 1);scanf("%d", &scores[i]);}// 计算总分for (i = 0; i < SIZE; i++) {sum += scores[i];}// 计算平均成绩average = (float)sum / SIZE;// 打印结果printf("总成绩:%d\n", sum);printf("平均成绩:%.2f\n", average);return 0;
}

8238405bbd42421e9e1f2d4cacf9ae8c.png

 

6.2 统计多科成绩——多维数组

       C语言的数组还支持多维数组的概念。多维数组是指包含多个维度的数组,可以用于表示表格、矩阵等复杂的数据结构。例如,以下是一个二维数组的声明和访问示例:

int matrix[3][3]; // 声明一个3x3的整型矩阵// 访问矩阵中的元素
matrix[0][0] = 1; // 第一行第一列的元素
matrix[1][2] = 5; // 第二行第三列的元素

        在上述示例中,声明了一个名为matrix的二维整型数组,它是一个3x3的矩阵。通过使用两个索引,我们可以访问矩阵中的特定元素。

 

#include <stdio.h>#define NUM_STUDENTS 5
#define NUM_SUBJECTS 3int main() {int scores[NUM_STUDENTS][NUM_SUBJECTS]; // 存储成绩的二维数组int i, j;int sum[NUM_STUDENTS] = {0}; // 每个学生的总分float average[NUM_STUDENTS]; // 每个学生的平均成绩// 读取成绩printf("请输入%d个学生的%d门成绩:\n", NUM_STUDENTS, NUM_SUBJECTS);for (i = 0; i < NUM_STUDENTS; i++) {printf("学生%d的成绩:\n", i + 1);for (j = 0; j < NUM_SUBJECTS; j++) {printf("科目%d:", j + 1);scanf("%d", &scores[i][j]);sum[i] += scores[i][j];}average[i] = (float)sum[i] / NUM_SUBJECTS;}// 打印结果printf("\n学生成绩统计:\n");for (i = 0; i < NUM_STUDENTS; i++) {printf("学生%d的总成绩:%d\n", i + 1, sum[i]);printf("学生%d的平均成绩:%.2f\n\n", i + 1, average[i]);}return 0;
}

 

请输入5个学生的3门成绩:
学生1的成绩:
科目1:1
科目2:2
科目3:3
学生2的成绩:
科目1:4
科目2:5
科目3:6
学生3的成绩:
科目1:7
科目2:8
科目3:9
学生4的成绩:
科目1:9
科目2:8
科目3:7
学生5的成绩:
科目1:6
科目2:5
科目3:4学生成绩统计:
学生1的总成绩:6
学生1的平均成绩:2.00学生2的总成绩:15
学生2的平均成绩:5.00学生3的总成绩:24
学生3的平均成绩:8.00学生4的总成绩:24
学生4的平均成绩:8.00学生5的总成绩:15
学生5的平均成绩:5.00

 

6.3 程序设计实例

6.3.1 杨辉三角形

        杨辉三角形是一个由数字排列成三角形的数列,它的每个数字等于它上方两个数字的和。以下是使用一维数组实现的杨辉三角形的打印代码示例:

#include <stdio.h>#define MAX_ROWS 10int main() {int triangle[MAX_ROWS][MAX_ROWS];// 初始化杨辉三角形的第一列和对角线为1for (int i = 0; i < MAX_ROWS; i++) {triangle[i][0] = 1;triangle[i][i] = 1;}// 计算并填充杨辉三角形的其他元素for (int i = 2; i < MAX_ROWS; i++) {for (int j = 1; j < i; j++) {triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];}}// 打印杨辉三角形for (int i = 0; i < MAX_ROWS; i++) {for (int j = 0; j <= i; j++) {printf("%d ", triangle[i][j]);}printf("\n");}return 0;
}

b063a3493aef4b68ae5571554722931f.png

 

6.3.2 矩阵乘积

        矩阵乘积是指两个矩阵相乘得到的结果矩阵。

#include <stdio.h>#define ROWS_A 2
#define COLS_A 3
#define ROWS_B 3
#define COLS_B 2void matrixMultiply(int A[ROWS_A][COLS_A], int B[ROWS_B][COLS_B], int C[ROWS_A][COLS_B]) {for (int i = 0; i < ROWS_A; i++) {for (int j = 0; j < COLS_B; j++) {C[i][j] = 0;for (int k = 0; k < COLS_A; k++) {C[i][j] += A[i][k] * B[k][j];}}}
}int main() {int matrixA[ROWS_A][COLS_A] = {{1, 2, 3}, {4, 5, 6}};int matrixB[ROWS_B][COLS_B] = {{7, 8}, {9, 10}, {11, 12}};int result[ROWS_A][COLS_B];matrixMultiply(matrixA, matrixB, result);printf("Result:\n");for (int i = 0; i < ROWS_A; i++) {for (int j = 0; j < COLS_B; j++) {printf("%d ", result[i][j]);}printf("\n");}return 0;
}

 

e6ed604c03d04d84b66571093ddccbf1.png

6.3.3 消去法

        消去法是一种解线性方程组的方法,通过行变换将方程组化为上三角形矩阵,然后回代求解未知数。

#include <stdio.h>#define SIZE 3void gaussianElimination(float matrix[SIZE][SIZE], float constants[SIZE], float solutions[SIZE]) {for (int k = 0; k < SIZE - 1; k++) {for (int i = k + 1; i < SIZE; i++) {float factor = matrix[i][k] / matrix[k][k];for (int j = k; j < SIZE; j++) {matrix[i][j] -= factor * matrix[k][j];}constants[i] -= factor * constants[k];}}for (int i = SIZE - 1; i >= 0; i--) {solutions[i] = constants[i];for (int j = i + 1; j < SIZE; j++) {solutions[i] -= matrix[i][j] * solutions[j];}solutions[i] /= matrix[i][i];}
}int main() {float matrix[SIZE][SIZE] = {{2, -1, 1}, {-3, 2, -2}, {1, -1, 2}};float constants[SIZE] = {-2, 6, 5};float solutions[SIZE];gaussianElimination(matrix, constants, solutions);printf("Solutions:\n");for (int i = 0; i < SIZE; i++) {printf("x%d = %.2f\n", i+1, solutions[i]);}return 0;
}

 

 

c2a3b4e2691a4d01a9625fed3dfeb16e.png

 

6.4 线性表——分类与检索

 

【重拾C语言】六、批量数据组织(二)线性表——分类与检索(主元排序、冒泡排序、插入排序、顺序检索、对半检索)_QomolangmaH的博客-CSDN博客https://blog.csdn.net/m0_63834988/article/details/133620693?spm=1001.2014.3001.5501

 

 

http://www.hrbkazy.com/news/10040.html

相关文章:

  • 织梦小说网站源码百度推广基木鱼
  • 武汉骑士网络做网站自建站怎么推广
  • wordpress计数器百度排名优化
  • 石家庄百度关键词优化广州网站设计专注乐云seo
  • 凡客做网站怎么样韩国日本比分
  • 如何利用网站策划做好网站建设临沂seo全网营销
  • 网站做镜像检查漏洞重庆seo教程搜索引擎优化
  • 网站设计规划的创意网络营销的推广方式
  • 做网站硬件工程是什么站长收录
  • 网站源文件下载网络营销渠道可分为
  • 网站开发的软件环境宁波网站seo哪家好
  • 个人网站转企业免费手机优化大师下载安装
  • 柳州正规网站制作seo是怎么优化
  • 广州企业展厅设计公司seo技术推广
  • 做网站要学的知识seo排名哪家正规
  • 中国建设会计协会网站首页易推广
  • 网站建设与设计毕业论文长沙百度贴吧
  • 自适应网站是什么如何做好精准营销
  • 如何设置中国建设银行网站首页免费发布推广的网站
  • 手机app客户端做网站厦门人才网官方网站
  • 中国500强最新排名2021网站关键词优化建议
  • 庆阳做网站的公司windows清理优化大师
  • wordpress适应浏网站优化就是搜索引擎优化
  • 温州专业微网站制作公司哪家好扬州网站推广公司
  • 网站建设未来发展前景网站推广的常用途径有哪些
  • 网站建设基本代码个人网页
  • 网站设计 工作国外浏览器搜索引擎入口
  • 东莞seoseo优化排名江门seo推广公司
  • 上班自己花钱做的网站sem投放
  • 成都制作网站公司关键词林俊杰免费听