zoukankan      html  css  js  c++  java
  • 2020年专业课编程题

    用递归把数组的n个数实现“倒序”
    主函数输入n个数,用递归将其顺序颠倒,并输出

    #include <stdio.h>
     #include <math.h>
     #define N 100
    void swap(int *a, int *b)
    {
        int temp = *a;
        *a = *b;
        *b = temp;
    }
    void reverse(int a[],int low,int high)
    {
        if (low<high)
        {
            swap((a+low),(a+high));  //交换两个数 函数形式
            reverse(a,low+ 1,high-1); //递归调用 
        }
    }
     int main(){
         int a[N];
         int n;
         printf("需要输入的数(n个)
    ");
         scanf("%d",&n);
         int i,j;
         for(i=0;i<n;i++) scanf("%d",&a[i]);
        reverse(a,0,n-1);
         for(j=0;j<n;j++) printf("%d ",a[j]);
         return 0;
     }
    View Code

    男,女,小孩一共40人,共花了50元。
    男的花3元,女的花了2元,小孩花1元
    问男,女,小孩各多少人。

    #include <stdio.h>
    #include <math.h>
    #define N 40
    int main(){
        int man,women,child;
        for(man=0;man<=N;man++){
            for(women=0;women<=N;women++){
                for(child=0;child<=N;child++){
                    int person_sum=child+women+man;
                    int money_sum=child+women*2+man*3;
                    if(person_sum==40&&money_sum==50){
                        printf("男有%d人,女有%d人,小孩有%d人
    ",man,women,child);
                    }
                }
            }
        }
        return 0;
    }
    View Code

    10个负责打分的人,分值0-100,去掉最高分和最低分,余下8个分数平均分
    为最终分数
    要求:
    1 输入50个选手名字,与10个评委打分
    2 按最终得分求名次,分一样则名次一样
    3 最终结果输出在result.txt,包括姓名,10位评委的打分,最终得分和名次。且上下对齐。
    最终得分相同的名次相同。
    如四名选手 80 75 75 70 名次 1 2 2 4

    #include <stdio.h>
    #include <math.h>
    #include <stdlib.h>
    #define N 5
    struct student{
        char name[20];
        int score[10];//10个评委打分;
        double endscore;//最后的分数
        int rank;//成绩排名 
    }stu[N];
    void reverse(){
        int i,j,index;
        struct student temp,k;
        for(i=0;i<N;i++){
            k=stu[i];index=i;
            for(j=i+1;j<N;j++){
                if(k.endscore<stu[j].endscore){
                   k=stu[j];
                   index=j;    
                }
            }
            if(i!=index){
                temp=stu[i];
                stu[i]=k;
                stu[index]=temp;
            }
        } 
    }
    void sortrank(){
        int i,j,rank=0;
        for(i=0;i<N;i++){
            if(rank==0){
                stu[i].rank=rank+1;
                rank=rank+2;
            }else{
                if(stu[i].endscore==stu[i-1].endscore){
                    stu[i].rank=stu[i-1].rank;
                    rank++;
                }else{
                    stu[i].rank=rank;
                    rank++;
                }
            }
        }
    } 
    int main(){
        int i,j;
        FILE *fp;
        if((fp=fopen("result.txt","w+"))==NULL){
            printf("cannot open the file:
    ");
            exit(0);
        }
        printf("请输入%d名人员信息:
    ",N);
        for(i=0;i<N;i++){
            scanf("%s",stu[i].name);//输入姓名
            int sum=0,max=0,min=101; 
            for(j=0;j<10;j++){//输入10名评委的打分 
                scanf("%d",&stu[i].score[j]);
                sum+=stu[i].score[j];
                if(max<=stu[i].score[j]) max=stu[i].score[j];
                if(min>=stu[i].score[j]) min=stu[i].score[j];
            }
            sum=sum-min-max;
            stu[i].endscore=sum/8.0;//最终得分 
        }
        //按照最终得分进行排序
        reverse();
        //按照现有的排序进行排名
        sortrank();
        //写入文件
        for(i=0;i<N;i++){
            fprintf(fp,"%-s",stu[i].name);
            for(j=0;j<10;j++)
              fprintf(fp,"%-5d",stu[i].score[j]);
            fprintf(fp,"%-5lf %-5d
    ",stu[i].endscore,stu[i].rank);
        }
        //在屏幕上显示信息
        for(i=0;i<N;i++){
            printf("%-10s",stu[i].name);
            for(j=0;j<10;j++)
              printf("%-5d",stu[i].score[j]);
            printf("%-5lf %-5d
    ",stu[i].endscore,stu[i].rank);
        }
        fclose(fp);
        return 0; 
    }
    View Code
  • 相关阅读:
    [HAOI 2007]上升序列
    转载:分布式与集群的区别究竟是什么?
    转载:5个顶级异步Python框架 https://geekflare.com/?s=python
    代码走读 airflow
    走读中学到的技巧 airflow
    sqlalchemy 相关
    pandas 筛选
    pandas IO
    服务端高并发分布式架构演进之路 转载,原文地址:https://segmentfault.com/a/1190000018626163
    pandas 6 时间
  • 原文地址:https://www.cnblogs.com/byczyz/p/14027674.html
Copyright © 2011-2022 走看看