从写完上一篇博客,马不停蹄的我开始写这篇博客,就是不想辜负大家的期待,希望有更多的文章呈现给大家,话不多说让我们开始吧!

首先呈上题目:

在写这个算法题之前要求我们对结构体的知识有所了解,但不必过于深入。

我们要将字符串和数字(相当于姓名和成绩)放进一个结构体中,方便后续进行调用

struct stu{int m;char n[20];
}a[1010];

接下来我们需要输入学生信息

输入之前先要定义变量

char f[20],t[20];int i=0,j,m,p;

大家可以根据喜好自己定义变量用什么表示(用数组表示简化程序)

输入学生信息部分的代码

while(scanf("%s",f)){if(strcmp(f,"end")==0)   //strcmp用于比较两个字符串并根据比较结果返回整数 break;               //当输入字符为end时,就结束循环 else if(strcmp(f,"insert")==0){  //当输入字符为insert时执行此条程序 scanf("%s %d",a[i].n,&a[i].m);    //输入学生的姓名和成绩 getchar();    //getchar读入函数的一种,接收一个字符 i++;          //记录总共输入了几个学生 

这里我们用到了strcmp()库函数,需要头文件#include <string.h>

strcmp函数中当两个字符串相等时就返回0,上述代码就用来判断两个字符串是否相等,相等才能执行。

接着进行查找学生是否存在

先输入学生的姓名

}else if(strcmp(f,"find")==0){   //输入find时执行此语句,进行查找 scanf("%s",t);              //输入学生姓名 getchar();

接下来到了重头戏,也就是程序中最难的地方

我们进行检索是否存在此学生

p=0;                   for(j=0;j<i;j++){           //j的上限为输入的学生总量 if(strcmp(a[j].n,t)==0){  //如果查找的学生姓名与第一次输入的学生姓名相符 printf("%d\n",a[j].m);   //输出学生的成绩 p=1;                  //p=1表示该学生存在学生系统中 break;                //此循环结束 }}if(p==0)                  //该学生不存在学生系统中 printf("-1\n");          //用-1来表示不存在 

此处我定义了变量p进行判断,如果学生存在,则p的值为1

写程序时不要忘记换行!!!

for循环进行遍历,从学生系统中的第一个学生开始,一直到最后一个,看是否有这个学生存在

1.若学生存在才输出成绩,则p=1,不用执行下面的if语句

2.若学生不存在则不进去第一个if语句,p等于初始值0,执行第二个if语句,输出-1

附上完整代码

#include <stdio.h>
#include <string.h>
struct stu{int m;char n[20];
}a[1010];
int main(){char f[20],t[20];int i=0,j,m,p;while(scanf("%s",f)){if(strcmp(f,"end")==0)   //strcmp用于比较两个字符串并根据比较结果返回整数 break;               //当输入字符为end时,就结束循环 else if(strcmp(f,"insert")==0){  //当输入字符为insert时执行此条程序 scanf("%s %d",a[i].n,&a[i].m);    //输入学生的姓名和成绩 getchar();    //getchar读入函数的一种,接收一个字符 i++;          //记录总共输入了几个学生 }else if(strcmp(f,"find")==0){   //输入find时执行此语句,进行查找 scanf("%s",t);              //输入学生姓名 getchar();p=0;                   for(j=0;j<i;j++){           //j的上限为输入的学生总量 if(strcmp(a[j].n,t)==0){  //如果查找的学生姓名与第一次输入的学生姓名相符 printf("%d\n",a[j].m);   //输出学生的成绩 p=1;                  //p=1表示该学生存在学生系统中 break;                //此循环结束 }}if(p==0)                  //该学生不存在学生系统中 printf("-1\n");          //用-1来表示不存在 }}return 0;
}

到这里程序就写完了,经过本博主的分析是不是发现也没有想象中的那么难啊!只要我们进行分步实现就没有那么难,希望我的分享可以对大家有所启发和帮助。

请大家期待我的更多作品吧!

如果有好的算法题我将继续和大家分享交流,也希望大家可以指出我的不足和缺点,让博主可以提升自己,也希望大家可以留下宝贵意见。

c语言-学生成绩查找系统相关推荐

  1. 学生成绩查找系统(C语言)

    学生成绩查找系统是一个根据姓名查找学生成绩的系统.系统可以录入是学生的姓名和成绩,录完之后可以输入查找条件,即学生的姓名,查找该生的成绩,如果存在该生的信息,则输出该生成绩,否则给出查无此人的提示信息 ...

  2. 计蒜客——学生成绩查找系统

    学生成绩查找系统是一个根据姓名查找学生成绩的系统.系统可以录入是学生的姓名和成绩,录完之后可以输入查找条件,即学生的姓名,查找该生的成绩,如果存在该生的信息,则输出该生成绩,否则给出查无此人的提示信息 ...

  3. 计蒜客-131 学生成绩查找系统

    学生成绩查找系统 学生成绩查找系统是一个根据姓名查找学生成绩的系统.系统可以录入是学生的姓名和成绩,录完之后可以输入查找条件,即学生的姓名,查找该生的成绩,如果存在该生的信息,则输出该生成绩,否则给出 ...

  4. 成绩查询系统c语言,学生成绩查询系统C语言代码(分服务器端和客户端).doc

    学生成绩查询系统C语言代码(分服务器端和客户端) 客户端:#include#include#include #pragma comment(lib , "Wsock32.lib " ...

  5. c语言学生成绩查询系统2018,南昊网上阅卷学生成绩查询系统

    2018南昊网上阅卷学生成绩查询系统开放了,这是面向南昊当地的中小学生们的一款优质的查询学习成绩的平台,只要登录自己的账号就能查询自己的成绩排名情况.对于老师来说这也是一款网上阅卷系统,是一个非常幼稚 ...

  6. 利用C语言结构体实现学生成绩录入系统

    利用C语言结构体实现学生成绩录入系统 ##功能介绍 密码功能嵌入于主函数中,初始密码为:123456(可根据需要修改) 输入1可以调用add函数对学生的基本信息以及成绩进行输入 输入2则调用print ...

  7. c语言作业查询,C语言大作业学生成绩查询系统源代码.doc

    C语言大作业学生成绩查询系统源代码 #include #include struct student { char name[20]; char speciality[10]; int C; int ...

  8. 学生成绩查询c#语言,C#学生成绩查询系统.doc

    ????学院 毕 业 论 文(设 计) 论文(设计)题目:学生成绩查询系统 所属系别: 信息工程系 专业班级:06计算机网络技术1班 姓 名: 常 军 玲 学 号: 200608090830129 指 ...

  9. C语言学生成绩管理程序(可排队序统计)

    C语言学生成绩管理程序(可排队序统计) 一.系统菜单的主要功能 (1)输入若干条记录 (2)显示所有记录 (3)按学号排序 (4)插入一条记录 (5)按姓名查找,删除一条记录 (6)查找并显示一条记录 ...

最新文章

  1. 使用Numpy实现PCA
  2. 自由意志不存在?神经科学能证明不?
  3. python课程是学什么的-Python课程包括哪些内容?
  4. Unity 协程Coroutine综合测试
  5. 本地生活JAVA版本_赶集生活java版
  6. C语言实现AVL树(附完整源码)
  7. 如何解压tar.xz文件
  8. android contacts电话查询头像,android透过查询电话号码获取联系人头像
  9. 将字符串分割为指定长度的子字符串
  10. mysql用户阻塞数_MySQL实例阻塞分析一例(线程statistics状态)
  11. python最新版安装图集_通过python简单的实现了plist、json图集的切割
  12. idea android 开发
  13. php socket邮箱,phpsocket.io php版本的socket.io
  14. CentOS 6.7 配置JSP运行环境之resin
  15. 3dmax快捷键大全
  16. Linux ARM平台开发系列讲解(网络篇)1.2 MDIO总线驱动框架分析
  17. Google IPV6 地址
  18. Nginx实现会话保持
  19. 单片机成长之路(51基础篇) - 023 N76e003 系统时钟切换到外部时钟
  20. 金蝶一直显示服务器未启动怎么办,金蝶服务器数据库未启动怎么办

热门文章

  1. 动态网页Reptile
  2. 对于运维来说,可靠性到底是个啥?
  3. java 记牌_java的Collection工具类编写简单的扑克牌比大小
  4. 电大计算机专业软件工程试题,2021国家开放大学电大本科《软件工程》期末试题及答案(试卷号:1260)...
  5. web前端css之盒子模型,浮动,定位
  6. 多数据源/动态数据源的解决方案
  7. 华为手机_text是什么文件_text函数怎么使用
  8. 【可视化】箱型图(箱线图)介绍和使用
  9. HP Unix 命令整理
  10. 原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!