zoukankan      html  css  js  c++  java
  • 结构指针应用例题

     1 /*修改学生成绩,结构指针作为函数参数*/
     2 #include <stdio.h>
     3 struct student
     4 {
     5     int num;
     6     char name[10];
     7     int computer, english, math;
     8     double average;
     9 };
    10 int update_score(struct student *p, int n, int num, int course, int score);
    11 int main(void)
    12 {
    13     int course, i, n, num, pos, score;
    14     struct student students[50];
    15 
    16     printf("Input n:");
    17     scanf("%d", &n);
    18     for (i = 0; i < n; i++)
    19     {
    20         printf("Input the info of No.%d:
    ", i + 1);
    21         printf("number:");
    22         scanf("%d", &students[i].num);
    23         printf("name:");
    24         scanf("%s", students[i].name);
    25         printf("math score:");
    26         scanf("%d", &students[i].math);
    27         printf("english score:");
    28         scanf("%d", &students[i].english);
    29         printf("computer score:");
    30         scanf("%d", &students[i].computer);
    31     }
    32 
    33     printf("Input the number of the students to be updated:");
    34     scanf("%d", &num);
    35     printf("Choice the course:1.math 2.english 3.computer:");
    36     scanf("%d", &course);
    37     printf("Input the new score:");
    38     scanf("%d", &score);
    39 
    40     pos = update_score(students, n, num, course, score);
    41 
    42     if (pos == -1)
    43     {
    44         printf("Not found!
    ");
    45     }
    46     else
    47     {
    48         printf("After update:
    ");
    49         printf("%d	%d	%d	%d
    ", students[pos].num, students[pos].math, students[pos].english, students[pos].computer);
    50     }
    51 
    52     return 0;
    53 }
    54 int update_score(struct student *p, int n, int num, int course, int score)
    55 {
    56     int i, pos;
    57     for (i = 0; i < n; i++, p++)
    58     {
    59         if (p->num == num)
    60         {
    61             break;
    62         }
    63     }
    64     if (i < n)
    65     {
    66         switch (course)
    67         {
    68         case 1:
    69             p->math = score;
    70             break;
    71         case 2:
    72             p->english = score;
    73             break;
    74         case 3:
    75             p->computer = score;
    76             break;
    77         }
    78         pos = i;
    79     }
    80     else
    81     {
    82         pos = -1;
    83     }
    84 
    85     return pos;
    86 }
  • 相关阅读:
    cpu 怎么区分指令与数据,寄存器与内存各自对应什么
    添加省略号
    有关自有属性,原型属性的问题
    实现一个new
    滚动条样式修改
    备忘录实现+具体需求应用备忘录
    Math.random生成指定范围的随机数
    reduce详细用法
    一个搜索上下的功能,用的不多
    svg拖拽rect,line,circle
  • 原文地址:https://www.cnblogs.com/2018jason/p/12204212.html
Copyright © 2011-2022 走看看