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

指针函数的应用——找出哪些学生有不及格的科目

下面的代码实现了以下功能:

  1. 定义了一个函数 getFailStudent,它接收一个指向整数数组的指针,并遍历该数组,查找是否存在不及格的成绩。如果找到了不及格的成绩,就返回指向不及格学生所在行的指针;否则返回 NULL

  2. main 函数中,定义了一个二维整数数组 score,表示了三个学生的四门课程成绩。

  3. 使用 getFailStudent 函数对每个学生的成绩进行检查。如果有不及格的科目,就打印该学生的学生号(即学生在数组中的索引)。

这个程序的主要目的是找出哪些学生有不及格的科目。在每次检查中,它遍历每个学生的成绩,如果有不及格的成绩,就输出该学生的学生号。

#include <stdio.h>int *getFailStudent(int *pstu)
{int j;for(j=0;j<4;j++){if(*(pstu+j) < 60){return pstu;//返回不及格学生的那行地址}}return NULL;
}int main()
{int *ppos;int pos;int score[3][4]={{66,66,66,67},{60,66,77,88},{99,55,66,54}};for(int i=0;i<3;i++){ppos = getFailStudent(score[i]);if(ppos != NULL){printf("第%d个学生有不及格的科目\n",i+1); }}return 0;
}
//找出其中有不及格课程的学生及其学生号,那不就是找出有不及格学生的学生号吗
//分别判断三个学生有无不及格的课程,有的话,记录地址返回main,在main中打印

 

下面这段代码使用了指针函数的知识,实现了根据用户输入的学生编号,输出该学生的成绩。以下是代码的总结:

  1. getScoreFromThree 函数是一个指针函数,它接收两个参数:学生编号 pos 和指向二维数组的指针 pstu。该函数根据学生编号确定该学生在数组中的位置,并返回指向该学生成绩数组的指针。

  2. main 函数中,定义了一个整型指针 ppos 和一个整型变量 pos,以及一个二维整型数组 score,表示三个学生的四门课程成绩。

  3. 程序首先通过 puts 函数提示用户输入要查询的学生编号,并通过 scanf 函数读取用户的输入。

  4. 接着调用 getScoreFromThree 函数,将用户输入的学生编号和成绩数组作为参数传递进去,获取到该学生的成绩数组的指针,并将其赋值给 ppos

  5. 最后,使用 ppos 指针遍历输出该学生的成绩。

这段代码的主要功能是根据用户输入的学生编号,输出该学生的成绩。

#include <stdio.h>int *getScoreFromThree(int pos,int (*pstu)[4])
{int *p;p = *(pstu+pos-1);return p;
}int main()
{int *ppos;int pos;int score[3][4]={{11,22,33,44},{55,66,77,88},{99,32,43,54}};puts("请问你想知道第几个学生的成绩:");scanf("%d",&pos);ppos = getScoreFromThree(pos,score);printf("第%d个学生的成绩是: ",pos);for(int i=0;i<4;i++){printf("%d ",ppos[i]);}return 0;
}

http://www.lryc.cn/news/327945.html

相关文章:

  • 【微服务】Gateway
  • 王道C语言督学营OJ课后习题(课时14)
  • Filter、Listener、AJAX
  • FastAPI+React全栈开发04 FastAPI概述
  • 基于单片机的二维码LCD显示控制设计
  • Ubuntu20.04下PCL安装,查看,卸载等操作
  • Android TargetSdkVersion 30 安装失败 resources.arsc 需要对齐且不压缩。
  • c++20中的jthread再谈
  • Fastgpt 无法启动或启动后无法正常使用的讨论(启动失败、用户未注册等问题这里)
  • Rust 实战练习 - 7. FFI, 库, ABI, libc
  • vue实现把Ox格式颜色值转换成rgb渐变颜色值(开箱即用)
  • Unity 窗口化设置
  • Android14之深入理解sp模板类(二百零二)
  • .NET core 5.0 及以上的Windows Service开发
  • Nginx配置文件解释
  • R语言赋值符号<-、=、->、<<-、->>的使用与区别
  • ffmpeg重点之时间戳,PTS、DTS、time_base
  • OpenGL 实现“人像背景虚化“效果
  • 基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】计算机毕业设计
  • AUTOSAR关于内存栈的分层及描述
  • windows powershell连接linux 上传下载文件
  • Vue生命周期,从听说到深入理解(全面分析)
  • 故障诊断 | 一文解决,CNN-BiLSTM卷积神经网络-双向长短期记忆神经网络组合模型的故障诊断(Matlab)
  • iOS library not found for -lMBProgressHUD
  • Paper Digest|基于在线聚类的自监督自蒸馏序列推荐模型
  • 【CTFshow 电子取证】套的签到题
  • SpringBoot集成Solr全文检索
  • 厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能原理篇
  • google浏览器网站不安全与网站的连接不安全怎么办?
  • 基于Axios封装请求---防止接口重复请求解决方案