C语言-数组
讲述自己在C语言-数组的学习过程。
Color20
湖南师范大学
展开
-
五种引用数组元素的方法
用下标法直接引用数组元素#include<stdio.h>int main(){ int a[10]; int i; for (i = 0; i < 10; i++) { scanf ("%d", &a[i]); } for (i = 0; i < 10; i++) { printf("%d", a[i]); }}通过数组名间接引用数组元素#include<stdio原创 2022-05-15 17:46:10 · 7169 阅读 · 0 评论 -
C语言-学生学号成绩读入程序(输出了学生总分、平均分、名次以及学生信息的查询)
任务描述成绩排名次某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过30人参加考试。考试后要求:(1) 计算每个学生的总分和平均分;(2) 按总分成绩由高到低排出成绩的名次;(3) 输出名次表,表格内包括学生编号、各科分数、总分和平均分;(4) 任意输入一个学号,能够查找出该学生在班级中的排名及其考试分数。提示:用二维数组score存放每个学生各门课程的成绩,用一维数组num存放每个学生的学号,用一维数组sum存放每个学生的总分,用一维数组aver存放每个学生的平均分。原创 2022-04-19 16:14:27 · 11013 阅读 · 0 评论 -
C语言-二维数组和字符串的基本操作-删除指定的字符
任务描述需要完成将字符串中某字符全部删去的小程序。假设字符串的长度不会超过80。编程要求在右侧编辑窗口中补充代码,按要求编写程序将字符串中的指定字符删去。其中Squeeze()函数void Squeeze(char str[],char ch);表示删除指定字符的函数,str是字符串,ch是待删除的字符。在main()函数中读入字符串及待删除的字符,然后调用Squeeze()函数完成任务。测试输入:I am happya预期输出:I m hppy最后不要忘记给 b 数组加一个字原创 2022-04-18 09:00:08 · 1967 阅读 · 0 评论 -
C语言-二维数组和字符串的基本操作-字符串连接
任务描述如果两个字符串不相等,将短的字符串连接到长的字符串的末尾并输出新字符串,否则输出相等。 假设两个字符串连接之后的长度不会超过80。编程要求从键盘上输入两个字符串,若不相等,将短的字符串连接到长的字符串的末尾并输出新字符串,否则输出相等。测试举例:测试输入:hello world预期输出:相等测试输入:do English预期输出:Englishdo提示:如果定义:char str1[MAXLENT];使用scanf("%s",str1)```可以读入一个字符串到s原创 2022-04-17 23:13:20 · 3220 阅读 · 1 评论 -
C语言-二维数组-矩阵的最大元素
任务描述编写一个程序输入一个mXn的矩阵,输出这个矩阵的最大元素值及其行列下标。m,n均不超过10。如何求出最大值先假设行列下表为0的那个元素是当前最大值,并记下它的位置信息:max = a[0][0];maxi = 0;maxj = 0;然后逐行,将每一行的各元素与当前最大值进行比较,如果新的元素值更大,则更新当前的max以及其所在的位置信息。测试说明红色部分是输入!#include <stdio.h>#include <stdlib.h>#de原创 2022-04-15 21:19:03 · 2578 阅读 · 0 评论 -
C语言-数组-折半查找法-有15个数按小由到大顺序存放在一个数组中,输入一个数。
任务描述有15个数按小由到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数在数组中的下标。相关知识顺序查找法,不要求被查找的数组元素事先是有序排列的;折半查找要求被查数组是有序的。若初始查找区间为R[low …… high],循环条件为low <= high,首先选取位于数组中间mid的元素,将其和待查找的数进行比较,如果它们的值相等,则查找成功,退出循环,否则根据比较的结果确定下次查找的范围是在数组的前半部分R[low …… mid-1]还是后半部分R[mid+1 ……原创 2022-04-10 15:21:52 · 8531 阅读 · 0 评论 -
C语言-数组-简单选择排序
任务描述要求实现简单选择排序的功能。相关知识简单选择排序算法思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。以长度为n=10的序列(46 74 53 14 26 38 86 65 27 34)的选择排序过程做示范:第1趟:在10个数中选出最小值后,将最小值和第1个数组元素交换,则数组元素为(14 74 53 46 26 38 86 65 27 34); 第2趟:在剩下的9个数中选出原创 2022-04-08 22:13:26 · 1882 阅读 · 0 评论 -
C语言-数组-在一个数组中查找最小值,将最小值与第1个数组元素交换输出(选择排序法)
任务描述编写程序在一个数组中选择最小值。相关知识为了完成本关任务,需要了解如何在数组一定范围内选择最小值。编程要求输入n个整数,找到这批整数的最小值,将最小值和第1个数交换,最后输出这批整数。测试说明输入格式:第一行先给出非负整数n; 第二行给出n个整数;输出格式:第一行输出将最小值和第1个数交换后的n个整数。测试输入:1066 37 63 7 34 52 23 85 7 10预期输出:7 37 63 66 34 52 23 85 7 10#includ原创 2022-04-07 20:54:41 · 9879 阅读 · 1 评论 -
C语言-数组-读入学生信息统计各分数段人数并打印
从键盘输入一个班(全班最多不超过30人)学生的某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:统计不及格人数并打印不及格学生名单。统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;统计各分数段的学生人数及所占的百分比。编程要求设计新函数统计各分数段的学生人数及所占的百分比。例如:void GetDetail(float score[], int n);测试说明输入学生信息后,以及输出的格式为:统计不及格人数并打印不及格学生名单,输出的内容为:..原创 2022-04-06 21:37:15 · 6862 阅读 · 2 评论 -
C语言-数组-读入学生信息统计平均分之上的学生并打印
任务描述从键盘输入一个班(全班最多不超过30人)学生的某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能:统计不及格人数并打印不及格学生名单。统计成绩在全班平均分及平均分之上的学生人数,并打印这些学生的名单;编程要求在前一关的基础上,设计和增加函数,完成功能(2)。提示:可以先设计一个单独的函数用来求平均分。例如: float GetAver(float score[], int n); 然后设计另外一个函数用来统计平均分之上的学生并打印,在这个新的函数中调用GetAve原创 2022-04-05 18:22:25 · 2821 阅读 · 0 评论 -
C语言-数组-读入学生信息并进行不及格人数统计和打印
任务描述学生成绩统计从键盘输入一个班(全班最多不超过30人)学生的某门课的成绩,当输入成绩为负值时,输入结束,统计不及格人数并打印不及格学生名单。测试说明输入学生信息后,以及输出的格式为:统计不及格人数并打印不及格学生名单,输出的内容为:#include <stdio.h>#define ARR_SIZE 30int NumScore(long num[], float score[]);int getFailInfo(float score[], l原创 2022-04-04 16:58:55 · 6329 阅读 · 0 评论 -
C语言-初学数组-读入学生信息并统计(一维数组)
任务描述从键盘输入一个班(全班最多不超过30人)学生的某门课的成绩,输入学生信息并统计,当输入成绩为负值时,输入结束;输入结束后需要统计输入的学生人数并输出。测试说明示例如下:输入学生信息的格式为:#include <stdio.h>#define ARR_SIZE 30int NumScore(long num[], float score[]);int main(void){ int n; float score[ARR_SIZE];原创 2022-04-03 20:14:03 · 3478 阅读 · 0 评论 -
C语言-初学数组-输入五个数在数组中存储起来并输出这五个数及其位置
#include<stdio.h>#define N 5int main(){ int a[N]; int i; //输入 for(i=0; i<N; i++) { scanf("%d",&a[i]); } //存储 for(i=N-1; i>=0; i--) { printf("a[%d]=%d\t",i,a[i]); } //最小值所在位置 .原创 2022-04-01 18:27:35 · 5975 阅读 · 0 评论