懒知


私信TA

用户名:Lzhia

访问量:5044

签 名:

等  级
排  名 3568
经  验 1900
参赛次数 0
文章发表 12
年  龄 0
在职情况 学生
学  校 YBXY
专  业

  自我简介:

解题思路:通过年龄是否大于等于60作判断,当年龄大于等于60时,记录当前数据,当前数据之前的数据全部后移一位,把当前数据放到第一位。循环n(人数)次

注意事项:

参考代码:

#include <stdio.h>


struct paint{
   char ID[10];
   int age;
};

void input(struct paint* eg,int n){  //输入函数
       for(int i = 0;i < n;i++){
           scanf("%s %d",eg[i].ID,&eg[i].age);
       }
}

void doing(struct paint* eg,int n){ //过程
   struct paint tempDate;//临时变量用来存放满足要求的值
   for(int i = 0;i < n;i++){
       if(eg[i].age >= 60){
           tempDate = eg[i];
            for(int j = i - 1;j >= 0;j--){ //移动
                eg[j+1] = eg[j];
            }
            eg[0] = tempDate;
       }
   }
}

int main(){
   int n;
   scanf("%d",&n);
   struct paint eg[n];
   input(eg,n);
   doing(eg,n);
   for(int i = 0;i < n;i++){
       printf("%s\n",eg[i].ID);
   }

   return 0;
}

 

0.0分

107 人评分

  评论区

49545152 93
54555648 75  

你好,这两个例子, 为什么93要在75之后呢?? 望解答
2020-12-19 13:51:20
  • «
  • 1
  • »