蓝蓝计算机考研算法训练二期-day13

67 阅读1分钟

17、现有若干个学生(不超过100的数据记录,每个记录包括学号姓名,三科成绩,学号不超过15位,且有字母。成绩为整数,每名学生的姓名不超过10个字母,且只包含字母,读入条记录,再按要求输出

  • 输入:学生数量n占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
  • 输出:每个学生的学号、姓名、三科成绩占一行,逗号分开。
#include <stdio.h>
struct student{
    char num[20];
    int score1;
    int score2;
    int score3;
    char name[10];
};


int main() {
    int n=0;//学生数量
    struct student stu[100];
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%s %s %d %d %d",&stu[i].num,&stu[i].name,&stu[i].score1,&stu[i].score2,&stu[i].score3);
    }
    for(int i=0;i<n;i++){
        printf("%s,%s,%d,%d,%d\n",stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3);
    }
}

18、求和s=1!+2!+3!++10!(阶乘求和)

#include <stdio.h>

int jiecheng(int x){
    if(x==1){
        return 1;
    }else if(x>=2){
        return x* jiecheng(x-1);
    }
}
int main() {
    int n;
    int t=0,sum=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        t=i;
        int J=jiecheng(t);
        sum+=J;
    }
    printf("%d",sum);
}