C语言学习笔记——使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按名次输出

本文介绍了如何使用C语言,通过字符数组存储学生姓名,实型数组存储成绩,实现成绩排序后按名次输出学生姓名和成绩。文中提供了一段示例代码,包括姓名输入、冒泡排序以及结果输出的过程。注意,由于scanf()函数限制,姓名中不能包含空格,可以考虑使用gets()函数解决此问题。
摘要由CSDN通过智能技术生成

题目来自C语言从入门到精通第三版:使用字符数组和实型数组分别存储学生姓名和成绩,并通过对学生成绩的排序,按照名次输出字符数组中对应的学生姓名

在网上大致找了一下没有看到C语言实现的版本,于是自己写了一个。对这个题目的要求并不是很明确,题目中的使用字符数组和实型数组分别存储学生姓名和成绩到底是直接通过代码预先储存到相应的字符数组中,还是要通过gets()函数或scanf_s()函数获取字符串再储存。因为是作为学习理解过程,所以我直接按照先获取学生姓名,成绩,再储存到相应数组中,然后对成绩排序,最后按分数从低到高输出姓名与成绩。
先附上全部代码,再对其中的一些函数作解释:

#include <stdio.h>
#include <string.h>
#define N 1000

char name[N][N];
char temp_name[N];  //作用类似于temp,作为交换字符数组中字符位置的中间变量
int temp;  //作为排序时交换次序的中间变量
int score[N]; //将成绩定义为一个数组
int i,j = 0;
int length; //输入总人数

int main()
{
   
	printf("总人数:\n");
    scanf("%d",&length);
    for(i = 0;i < length
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值