c语言百日刷题第一天

目录

1.牛牛成绩

2.小奔考试

 3.单词覆盖还原

4.级数求和

5.陶陶摘苹果
​​​​​​​


1.牛牛成绩

c语言百日刷题第一天_第1张图片

#include
int main(){
    int a,b,c,w;
    scanf("%d %d %d",&a,&b,&c);
    w=(a*2+b*3+c*5)/10;
    printf("%d",w);
    return 0;
}

 存在类型转换(浮点型),而a,b,c又都是10的倍数,所以运用w=(2*a+3*b+5*c)/10

2.小奔考试

c语言百日刷题第一天_第2张图片

设各科总分x,各科得分y,各科扣分z,z=x-y,所以(3*x-2*y)/z=[x+2*(x-y)]/(x-y)=2+x/(x-y) 

#include
int main(){
    int a,b,n;
    double x=0,y=0,w=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a);
        x+=a*1.0;//各科总分之和
    }
    for(int i=1;i<=n;i++){
        scanf("%d",&b);
        y+=b*1.0;//各科得分之和
    }
    printf("%.6f\n",2.0+x/(x-y));
    return 0;
}

 3.单词覆盖还原

c语言百日刷题第一天_第3张图片

#include
int main(){
    char a[256];
    int b=0,g=0;
    scanf("%s",a);
    for(int i=0;a[i]!='\0';++i)
        switch(a[i]){
            case 'b': b++;     //包含b,bo,boy
                      if(a[i+1]=='o') i++;
                      if(a[i+1]=='y') i++;
                      break;
            case 'o': b++;    //包含o,oy
                      if(a[i+1]=='y') i++;
                      break;
            case 'y': b++;    //y
                      break;
            case 'g': g++;    //g,gi,gir,girl
                      if(a[i+1]=='i') i++;
                      if(a[i+1]=='r') i++;
                      if(a[i+1]=='l') i++;
                      break;
            case 'i': g++;    //i,ir,irl
                      if(a[i+1]=='r') i++;
                      if(a[i+1]=='l') i++;
                      break;
            case 'r': g++;    //r,rl
                      if(a[i+1]=='l') i++;
                      break;
            case 'l': g++;    //l
                      break;
            default:break;
                    }
        printf("%d\n%d",b,g);
        return 0;
        }

4.级数求和

c语言百日刷题第一天_第4张图片

#include
int main(){
    int k,n;
    double sum=0;
    int count=0;
    scanf("%d",&k);
    do{
       for(int i=1;;i++){
          sum+=1.0/i;
          if(sum>k) {count++;n=i;break;}
        }
      }while(!count);
    printf("%d",n);
    return 0;
}

5.陶陶摘苹果

c语言百日刷题第一天_第5张图片 

 

#include
int main(){
    int a[10],count=0,c;
    for(int i=0;i<10;i++)
        scanf("%d",&a[i]);
    scanf("%d",&c);
    for(int n=0;n<10;n++)
        if((c+30)>=a[n]) count++;
    printf("%d",count);
    return 0;
}
 

你可能感兴趣的:(C语言,c语言,算法,c++)