前言
本文介绍了C语言:数组初值;字符串、字符数组、字符串数组;类型定义 typedef
六、批量数据组织——数组
6.1~3 数组基础知识
【重拾C语言】六、批量数据组织(一)数组(数组类型、声明与操作、多维数组;典例:杨辉三角、矩阵乘积、消去法)-CSDN博客
https://blog.csdn.net/m0_63834988/article/details/133580645?spm=1001.2014.3001.5502
6.4 线性表——分类与检索
【重拾C语言】六、批量数据组织(二)线性表——分类与检索(主元排序、冒泡排序、插入排序、顺序检索、对半检索)_QomolangmaH的博客-CSDN博客
https://blog.csdn.net/m0_63834988/article/details/133620693?spm=1001.2014.3001.5501
6.5 带学号的成绩排序—数组初值
编程序,输入一个班50名学生的”程序设计基础”课程成绩,按成绩由高到低的顺序输出,要求同时输出每个成绩是哪个学生的:
代码语言:javascript复制#include <stdio.h>
void bubbleSort(int studentIDs[], float scores[], int n) {
int i, j;
for (i = 0; i < n-1; i ) {
for (j = 0; j < n-i-1; j ) {
if (scores[j] < scores[j 1]) {
// 交换两个学生的成绩
float tempScore = scores[j];
scores[j] = scores[j 1];
scores[j 1] = tempScore;
// 交换两个学生的学号
int tempID = studentIDs[j];
studentIDs[j] = studentIDs[j 1];
studentIDs[j 1] = tempID;
}
}
}
}
int main() {
int studentIDs[50];
float scores[50];
int i;
// 输入学生的学号和成绩
for (i = 0; i < 50; i ) {
printf("请输入第%d个学生的学号和成绩:", i 1);
scanf("%d %f", &studentIDs[i], &scores[i]);
}
// 对成绩进行排序
bubbleSort(studentIDs, scores, 50);
// 输出排序后的成绩和学生信息
printf("按成绩由高到低排序后的结果为:n");
for (i = 0; i < 50; i ) {
printf("学生学号:%d,成绩:%.2fn", studentIDs[i], scores[i]);
}
return 0;
}
6.6 表示姓名—字符串
在C语言中,字符串是由字符组成的数组。可以使用字符数组来表示姓名。例如,可以定义一个字符数组来存储姓名,并对其进行操作和处理。
代码语言:javascript复制#include <stdio.h>
#include <string.h>
int main() {
char name[50]; // 定义一个字符数组来存储姓名,数组大小根据实际情况确定
printf("请输入姓名:");
scanf("%s", name); // 从用户输入中读取姓名并存储到字符数组中
printf("您输入的姓名是:%sn", name); // 输出姓名
int length = sizeof(name) / sizeof(name[0]); // 计算数组的长度
printf("姓名数组的长度是:%dn", length);
int length1 = strlen(name); // 计算姓名字符串的长度
printf("姓名占用的长度是:%dn", length1);
return 0;
}
6.6.0 字符串、字符数组和字符串数组
- 字符串(String):
- 字符串是由字符组成的字符数组。
- 字符串以null字符('