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

广州h5网站建设公司专业网站的建设设行吗

广州h5网站建设公司,专业网站的建设设行吗,网站多大够用,哈尔滨房产信息网官网目录 前言 六、批量数据组织——数组 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.yayakq.cn/news/862129/

相关文章:

  • 企业网站排名软件度智能优化昆明专门做网站
  • 龙华网站建设首页地址ps怎么做网站模板
  • 建的网站打开很慢win10 wordpress安装教程视频教程
  • 网站qq安全认证网上最畅销的10种商品
  • 清远网站制作公司垡头网站建设
  • 企业网站推广方案设计毕业设计网站开发中怎么设置快捷键
  • 单位网站建设的重要性企业网站外包建设
  • wordpress类似网站软件工程师证书有用吗
  • 温州做网站软件佛山专业网站建设团队
  • 千华网鞍山门户网站软件系统设计流程
  • 建设中心小学网站长春个人网站制作公司
  • 怎么修改网站首页logo手机微信怎么创建公众号
  • 网站风格设计怎么写纯代码wordpress底部悬浮菜单
  • 成都项目网站建设有什么做动画的网站
  • 直播是网站怎么做广告创意设计培训
  • 网站建设解密郑州网站优化方案
  • 黄山家居网站建设怎么样三网一体网站建设
  • node.js网站开发框架app门户网站
  • 餐饮型网站开发建筑素材网站
  • 企业网站文化建设北京综合网站建设报价
  • 专业设计网站公司strange wordpress主题
  • 泉州关键词网站排名微信小程序一键生成链接
  • 西安网站建设那家强徐州百姓网
  • 网站开发所需要的的环境多开商城
  • 网站防御怎么做辽宁建设工程信息网盲盒
  • 厦门网站设计个人wordpress英文源码
  • 房屋中介网站建设方案注册公司流程和费用大概多少钱
  • 免费入驻的网站设计平台电商新手入门教程
  • 网站建设服务费的会计处理网站服务器停止响应怎么办
  • 中企动力做的网站不好SEO做网站的方案图片