「已注销」 2020-12-05 16:37 采纳率: 0%
浏览 249

c语言程序设计之查找问题

从键盘输入某班学生某门课程的成绩(每班人数最多不超过40人),当输入为负值时,表示输入结束,试编程从键盘任意输入一个学号,查找该学号学生的成绩。

如果找不到该学号,则输出

Not found!

输入格式:

每一位学生的学号和分数以冒号分隔,学生和学生之间以空格分隔,学生个数不超过40,学号或分数为负数表示输入结束。

学号1:分数1 学号2:分数2 ... 学号N:分数N -1:-1

最后输入一个学号,用于查找该学号对应的成绩

学号X

输出格式:

  • 写回答

1条回答 默认 最新

  • 是云来了又来 2021-03-15 20:06
    关注

    #include <stdio.h>
    #define N 40
    struct stu{
        int no;
        float score;
    };
    int Insert(int num[],int score[]);
    int Find(int num[],int x,int n);
    int main(){
    //    stu member[N];
        int find,n,temp; 
        int num[N];
        int score[N];
        n=Insert(num,score);
        scanf("%d",&find);
        temp=Find(num,find,n);
        if(temp!=-1){
            printf("%d",score[temp]); 
        }else{
            printf("Not Found!");
        }    
        return 0;
    }
    int Insert(int num[],int score[]){
        int i=-1;
        do{
            i++;
            scanf("%d:%d",&num[i],&score[i]);
        }while(score[i] >= 0&&num[i]>=0);
        return i;
    }
    int Find(int num[],int x,int n){
        int i;
        for(i=0;i<n;i++){
            if(num[i]==x){
                return i;
            }
        }
        return -1;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题