美文网首页
无标题文章

无标题文章

作者: Micason | 来源:发表于2016-05-07 18:15 被阅读9次
    第一题
    #include <stdio.h>
    struct date 
    { 
        int year; 
        int month; 
        int day; 
    };
    int leap_year(int a);
    int cal_day(struct date a);
    int leap_year(int a)
    {
     if(a%400==0||(a%4==0&&a%100!=0)) 
       return 1;
        else 
           return 0;
    }
    int cal_day(struct date a) 
    {
        int i=0;
        int sum=0;
        int b[]={31,28,31,30,31,30,31,31,30,31,30,31};
        for(i=0;i<a.month-1;i++) 
            sum+=b[i]; 
        if(a.month>2)
            sum=sum+a.day+leap_year(a.year); 
             else
                sum=sum+a.day;
           return sum; 
    
    } 
    void main()
    {
    struct date a;
    int n;
    scanf("%d%d%d",&a.year,&a.month,&a.day); 
    n=cal_day(a);
    printf("%d\n",n);
    
    }
    

    或者

    #include"stdio.h"
    struct Date
    {
        int year;
        int month;
        int day;
    };
    int main()
    {
        struct Date a;
        int sum=0;
        scanf("%d%d%d",&a.year,&a.month,&a.day);
        if(!((a.year%4==0&&a.year%100!=0)||a.year%400==0))
        switch(a.month)
        {
        case 1:sum=0;break;
    case 2:sum=31;break;
    case 3:sum=59;break;
    case 4:sum=90;break;
    case 5:sum=120;break;
    case 6:sum=151;break;
    case 7:sum=181;break;
    case 8:sum=212;break;
    case 9:sum=243;break;
    case 10:sum=273;break;
    case 11:sum=304;break;
    case 12:sum=334;break;}
        else
        switch(a.month)
        {
        case 1:sum=0;break;
    case 2:sum=31;break;
    case 3:sum=60;break;
    case 4:sum=91;break;
    case 5:sum=121;break;
    case 6:sum=152;break;
    case 7:sum=182;break;
    case 8:sum=213;break;
    case 9:sum=244;break;
    case 10:sum=274;break;
    case 11:sum=305;break;
    case 12:sum=335;break;}
        sum=sum+a.day;
        printf("%d",sum);}
    
    第二题
    #include"stdio.h"
    struct Student{
        char num[20];
        char name[30];
        int grade[3];
    };
    void input(struct Student a[],int n)
    {
        int i;
        for(i=0;i<n;i++)
            scanf("%s%s%d%d%d",&a[i].num,&a[i].name,&a[i].grade[0],&a[i].grade[1],&a[i].grade[2]);
        
    
    
    
    }
    void print(struct Student a[],int n)
    {
        int i;
        for(i=0;i<n;i++)
        {   printf("%s,%s,%d,%d,%d",a[i].num,a[i].name,a[i].grade[0],a[i].grade[1],a[i].grade[2]);
        printf("\n");}
    
    
    }
    int main()
    {
        struct Student a[10];
        int n,i;
        scanf("%d",&n);
        input(a,n);
        print(a,n);
        
    }
    

    或者

    #include<stdio.h>
    #define t 100
    struct sta
    {
        char xh[20];
        char name[20];
        double x1;
        double x2;
        double x3;
    };
    void input(int n,struct sta*);
    void output(int n,struct sta *);
    int main()
    {
        int m;
        struct sta cj[t];
        scanf("%d",&m);
        input(m,cj);
        output(m,cj);
        return 0;
    }
    void input(int n,struct sta *cj)
    {
        int i;
        for(i=0;i<n;i++)
        {
            scanf("%s",&cj[i].xh);
            scanf("%s",&cj[i].name);
            scanf("%lf",&cj[i].x1);
            scanf("%lf",&cj[i].x2);
            scanf("%lf",&cj[i].x3);
        }
    }
    void output(int n,struct sta *cj)
    {
        int i;
        for(i=0;i<n;i++)
        {
            printf("%s,",cj[i].xh);
            printf("%s,",cj[i].name);
            printf("%.0f,",cj[i].x1);
            printf("%.0f,",cj[i].x2);
            printf("%.0f",cj[i].x3);
            printf("\n");
        }
    }
    
    第三题
    #include"stdio.h"
    struct Student{
        int num;
        char name[30];
        int grade[3];
    };
    void input(struct Student a[],int n)
    {
        int i;
        for(i=0;i<n;i++)
            scanf("%s%s%d%d%d",&a[i].num,&a[i].name,&a[i].grade[0],&a[i].grade[1],&a[i].grade[2]);
        
    
    
    
    }
    
    int main()
    {
        struct Student a[10];
        int n,i,b[10]={0},c=0,d=0,e=0,j,max;
        scanf("%d",&n);
    for(i=0;i<n;i++)
            scanf("%d%s%d%d%d",&a[i].num,&a[i].name,&a[i].grade[0],&a[i].grade[1],&a[i].grade[2]);
    for(i=0;i<n;i++)
    {c=c+a[i].grade[0];
    d=d+a[i].grade[1];
    e=e+a[i].grade[2];}
    printf("%d %d %d",c/n,d/n,e/n);
    printf("\n");
    for(j=0;j<n;j++)
    for(i=0;i<3;i++)
    b[j]=b[j]+a[j].grade[i];
    j=0;
    max=b[0];
    for(i=0;i<n;i++)
    
        if(b[i]>max)
        {       max=b[i];
        j=i;}
    
    printf("%d %s %d %d %d",a[j].num,a[j].name,a[j].grade[0],a[j].grade[1],a[j].grade[2]);
        
    }
    

    或者

    #include<stdio.h>
    #define t 100
    struct sta
    {
        char xh[20];
        char name[20];
        double x1;
        double x2;
        double x3;
    };
    void input(int n,struct sta*);
    void output(int n,struct sta *);
    int main()
    {
        int m,i;
        struct sta cj[t];
        scanf("%d",&m);
        input(m,cj);
        output(m,cj);
        return 0;
    }
    void input(int n,struct sta *cj)
    {
        int i;
        for(i=0;i<n;i++)
        {
            scanf("%s",&cj[i].xh);
            scanf("%s",&cj[i].name);
            scanf("%lf",&cj[i].x1);
            scanf("%lf",&cj[i].x2);
            scanf("%lf",&cj[i].x3);
        }
    }
    void output(int n,struct sta *cj)
    {
        int i,t1;
        double sum1=0,sum2=0,sum3=0,s=0,max,a,b,c;
        for(i=0;i<n;i++)
        {
            sum1+=cj[i].x1;
            sum2+=cj[i].x2;
            sum3+=cj[i].x3;
        }
        max=cj[0].x1+cj[0].x2+cj[0].x3;
        t1=0;
        for(i=0;i<n;i++)
        {
            s=cj[i].x1+cj[i].x2+cj[i].x3;
            if(s>max)
            {
                max=s;
                t1=i;
            }
        }
        a=sum1/n;b=sum2/n;c=sum3/n;
        printf("%.0f %.0f %.0f",a,b,c);
        printf("\n");
        printf("%s ",cj[t1].xh);
        printf("%s ",cj[t1].name);
        printf("%.0f ",cj[t1].x1);
        printf("%.0f ",cj[t1].x2);
        printf("%.0f",cj[t1].x3);
    }
    
    第四题
    #include "stdio.h" 
    
    struct student /*定义表示学生信息的结构体类型student*/ 
    { 
    int num; /*学号*/ 
    char name[10]; /*姓名*/ 
    int grade[5]; /*五门课程的成绩*/ 
    int sum; /*总分*/ 
    }; 
    
    void input(struct student *a, int n) /*输入学生信息的函数,以一个student类型的数组和一个整形变量为形参*/ 
    { 
    int k; /*计数变量*/ 
    
    for(k=0; k<n; k++) /*赋值*/ 
    scanf("%d%s%d%d%d%d%d", &a[k].num, a[k].name, &a[k].grade[0], &a[k].grade[1], 
    &a[k].grade[2], &a[k].grade[3], &a[k].grade[4]); 
    } 
    
    void sum(struct student *a, int n) /*求五科成绩之和的函数*/ 
    { 
    int k; 
    for(k=0; k<n; k++) 
    a[k].sum=a[k].grade[0]+a[k].grade[1]+a[k].grade[2]+a[k].grade[3]+a[k].grade[4]; 
    } 
    
    void change(struct student *a, int n) 
    { 
    int i, k; 
    struct student temp; /*暂时的存储变量*/ 
    for(i=0; i<n; i++) /*使用冒泡排序法*/ 
    for(k=0; k<n-1; k++) 
    if(a[k].sum<a[k+1].sum) 
    temp=a[k], a[k]=a[k+1], a[k+1]=temp; 
    
    for(k=0; k<n; k++) 
    printf("%d %s %d %d %d %d %d %d\n", a[k].num, a[k].name, a[k].grade[0], a[k].grade[1], 
    a[k].grade[2], a[k].grade[3], a[k].grade[4], a[k].sum); 
    } 
    
    void output(struct student *a, int n, int num)
    { 
    int k; 
    for(k=0; k<n; k++) 
    if(a[k].num==num) break; 
    
    printf("%d %s %d %d %d %d %d %d\n", a[k].num, a[k].name, a[k].grade[0], a[k].grade[1], 
    a[k].grade[2], a[k].grade[3], a[k].grade[4], a[k].sum); 
    } 
    
    main() 
    { 
    struct student stu[20]; 
    int n, number; 
    
    scanf("%d", &n); 
    if(n<=40&&n>=1) /*若n在正常范围内,则调用以下函数*/ 
    { 
    input(stu, n); 
    scanf("%d",&number);
    sum(stu, n); 
    
    
    change(stu, n); 
     
    output(stu, n, number); 
    } 
    else printf("Error!\n"); /*若n超出范围,则输出错误信息*/ 
    }
    

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/zeqsrttx.html