洛谷题单 【入门2】分支结构

1.P2433

小学数学 N 合一

#include 
#include 

void f2(),f3(),f4(),f5(),f7(),f8(),f9(),f10(),f11(),f12(),f13(),f14();
int main(void) {
   int a;
   scanf("%d",&a);
   switch (a){
      case 1:printf("I love Luogu!");break;
      case 2:f2();break;
      case 3:f3();break;
      case 4:f4();break;
      case 5:f5();break;
      case 6:printf("%.6g",sqrt(9*9+6*6));break;
      case 7:f7();break;
      case 8:f8();break;
      case 9:f9();break;
      case 10:f10();break;
      case 11:f11();break;
      case 12:f12();break;
      case 13:f13();break;
      case 14:f14();break;
   }
   return 0;
}

void f2(){
   int a=2,b=4,c;
   printf("%d %d",a+b,10-a-b);
}

void f3(){
   int a,b,c;
   a=14/4;
   b=4*a;
   c=14%4;
   printf("%d\n%d\n%d",a,b,c);
}

void f4(){
   double v;
   v=500/3.0;
   printf("%.6g",v);
}

void f5(){
   int h;
   h=(260+220)/(12+20);
   printf("%d",h);
}

void f7(){
   int sum=100;
   sum+=10;
   printf("%d\n",sum);
   sum-=20;
   printf("%d\n",sum);
   sum=0;
   printf("%d\n",sum);
}

void f8(){
   double c,s,v;
   c=2*3.141593*5;
   s=3.141593*5*5;
   v=(4/3.0)*3.141593*5*5*5;
   printf("%.6g\n%.6g\n%.6g",c,s,v);
}

void f9(){
   int sum=1;
   for(int i=0;i<3;i++){
      sum=(sum+1)*2;
   }
   printf("%d",sum);
}

void f10(){
   printf("9");
}

void f11(){
   double c=100/3.0;
   printf("%.6g",c);
}

void f12(){
   printf("%d\n",'M'-'A'+1);
   printf("%c",'A'+17);
}

void f13(){
   double a=(4/3.0)*3.141593*4*4*4;
   double b=(4/3.0)*3.141593*10*10*10;
   double c=a+b;
   int d=(int)pow(c,1.0/3);
   printf("%d",d);
}

void f14(){
   int sum=0;
   for(int i=1;i<120;i++){
      sum=i*(120-i);
      if(sum==3500){
         printf("%d",i);
         break;
      }
   }
}

 

2.P5709

Apples Prologue / 苹果和虫子

#include 

int main(){
   int m,t,s,n;
   scanf("%d%d%d",&m,&t,&s);
   if(t==0){
      printf("0");
   }else{ 
      n=(s+t-1)/t;
      if(n<=m){
      printf("%d",m-n);
      }else{
      int q=0;
      printf("%d",q);
      }
   }
   
   return 0;
}

 

3.P5710

数的性质

#include 

int main(){
   int a=0,b=0,c=0,d=0,x;
   scanf("%d",&x);
   if(x%2==0&&x>4&&x<=12)a=1;
   if(x%2==0||(x>4&&x<=12))b=1;
   if((x%2==0&&(x<=4||x>12))||(x%2!=0&&x>4&&x<=12))c=1;
   if(x%2!=0&&(x<=4||x>12))d=1;
   printf("%d %d %d %d",a,b,c,d);
   return 0;
}

 

4.P5711

闰年判断

#include 

int main(){
   int a=0,n;
   scanf("%d",&n);
   if((n%4==0&&n%100!=0)||(n%400==0))a=1;
   printf("%d",a);
   return 0;
}

 

5.P5712

Apples

#include 

int main(){
   int a=0,x;
   scanf("%d",&x);
   if(x<=1){
      printf("Today, I ate %d apple.",x);
   }else{
      printf("Today, I ate %d apples.",x);
   }
   return 0;
}

 

6.P5713

洛谷团队系统

#include 

int main(){
   int a,b,n;
   scanf("%d",&n);
   a=5*n;
   b=3*n+11;
   if(a>b){
      printf("Luogu");
   }else{
      printf("Local");
   }
   return 0;
}

 

7.P5714

肥胖问题

#include 

int main(){
   double m,h,BIM;
   scanf("%lf%lf",&m,&h);
   BIM=m/(h*h);
   if(BIM<18.5){
      printf("Underweight");
   }else if(BIM<24){
      printf("Normal");
   }else{
      printf("%.6g\nOverweight",BIM);
   }

   return 0;
}

 

8.P5715

三位数排序

#include 

int main(){
   int a,b,c,s[3],flag=1;
   for(int i=0;i<3;i++){
      scanf("%d",&s[i]);
   }
   while(flag){
      flag=0;
      for(int i=0;i<2;i++){
         if(s[i]>s[i+1]){
            s[i]=s[i]+s[i+1];
            s[i+1]=s[i]-s[i+1];
            s[i]=s[i]-s[i+1];
            flag=1;
         }
      }
   }
   for(int i=0;i<3;i++){
      printf("%d ",s[i]);
   }
   return 0;
}

 

9.P5716

月份天数

#include 

int if_run(int y){
   if((y%4==0&&y%100!=0)||y%400==0){
      return 1;
   }
   return 0;
}
int main(){
   int y,m;
   scanf("%d%d",&y,&m);
   if(if_run(y)&&m==2){
      printf("29");
   }else if(m==2){
      printf("28");
   }else if(m==1||m==3||m==5||m==7||m==8||m==10||m==12){
      printf("31");
   }else {
      printf("30");
   }
   return 0;

}

 

10.P1085

不高兴的津津

#include 

int main(){
   int a,b,sum,j=0,temp=0;
   for(int i=1;i<=7;i++){
      scanf("%d%d",&a,&b);
      sum=a+b;
      if(sum>8){
         if(sum>temp){
            j=i;
            temp=sum;
         }
         
      }
   }
   printf("%d",j);
   return 0;

}

 

11.P1909

买铅笔

#include 

int main(){
   struct pen {
      int p,n;
   }a[3];
   int total,temp=0,price,min;
   scanf("%d",&total);
   for(int i=0;i<3;i++){
      scanf("%d%d",&a[i].n,&a[i].p);
   }
   min=((total+a[0].n-1)/a[0].n)*a[0].p;
   for(int i=0;i<3;i++){
      temp=(total+a[i].n-1)/a[i].n;
      price=temp*a[i].p;
      if(price

 

12.P5717

三角形分类

#include 

int main(){
   int a,b,c;
   scanf("%d%d%d",&a,&b,&c);
   if((a+b)>c&&(b+c)>a&&(c+a)>b){
      if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){
         printf("Right triangle\n");
      }
      if(a*a+b*b>c*c&&a*a+c*c>b*b&&b*b+c*c>a*a){
         printf("Acute triangle\n");
      }
      if(a*a+b*b

 

13.P1422

小玉家的电费

#include 

int main(){
   double n,a=0,b=0,c=0;
   scanf("%lf",&n);
   if(n<150){
      a=0.4463*n;
   }else{
      a=150*0.4463;
      if(n<400){
         b=(n-150)*0.4663;
      }else {
         b=(400-150)*0.4663;
         c=(n-400)*0.5663;
      }
   }
   printf("%.1f",a+b+c);
   return 0;

}

 

14.P1424

小鱼的航程(改进版)

#include 

int main(){
   int x,n;
   scanf("%d%d",&x,&n);
   n=n-(x+n-1)/7;
   if(x==7){
      n=n-(x+n-1)/6+1;//如果x==7的话会多减一次星期六的
   }else {
      n=n-(x+n-1)/6;
   }
   
   printf("%d",n*250);
   return 0;

}

 

15.P1888

三角函数

#include 

int gcd(int x,int y);
int main(){
   int a[3],x,y,g,flag=1;
   scanf("%d%d%d",&a[0],&a[1],&a[2]);
   while(flag){
      flag=0;
      for(int i=0;i<2;i++){
         if(a[i]>a[i+1]){
            a[i]=a[i]+a[i+1];
            a[i+1]=a[i]-a[i+1];
            a[i]=a[i]-a[i+1];
            flag=1;
         }
      }
   }
   g=gcd(a[0],a[2]);
   x=a[0]/g;
   y=a[2]/g;
   printf("%d/%d",x,y);
   return 0;

}
int gcd(int x,int y){
   int temp;
   temp=x%y;
   while(temp!=0){
      x=y;
      y=temp;
      temp=x%y;
   }
   return y;
}

 

16.P1046

 陶陶摘苹果

#include 

int main(){
   int a[10],h,sum=0;
   for(int i=0;i<10;i++){
      scanf("%d",&a[i]);
   }
   scanf("%d",&h);
   h=h+30;
   for(int i=0;i<10;i++){
      if(a[i]<=h)sum++;
   }
   printf("%d",sum);
   return 0;

}

 

17.P4414

ABC

#include 

int main() {
   int a[3],flag=1;
   char ch;
   struct {
      int n;
      char c;
   } b[3];
   for(int i=0;i<3;i++){
      scanf("%d",&a[i]);
   }
   while(flag){
      flag=0;
      for(int i=0;i<2;i++){
         if(a[i]>a[i+1]){
            a[i]=a[i]+a[i+1];
            a[i+1]=a[i]-a[i+1];
            a[i]=a[i]-a[i+1];
            flag=1;
         }
      }
   }
   ch=getchar();
   while(ch!='A'&&ch!='B'&&ch!='C'){
      ch=getchar();
   }
   b[0].c=ch;
   for(int i=1;i<=2;i++){
      b[i].c=getchar();
   }
   for(int i=0;i<3;i++){
      if(b[i].c=='A')b[i].n=a[0];
      if(b[i].c=='B')b[i].n=a[1];
      if(b[i].c=='C')b[i].n=a[2];
   }
   for(int i=0;i<3;i++){
      printf("%d ",b[i].n);
   }
   return 0;

}

 

18.P1055

ISBN 号码

#include 

int main() {
   int a[3],b[9],temp;
   char ch,temp1;
   for(int i=0;i<3;i++){
      scanf("%d",&a[i]);
      if(a[i]<0)a[i]=-a[i];//去除读入的被认为是负号的-
   }
   ch=getchar();
   while(ch=='-'){
      ch=getchar();
   }
   b[0]=a[0];
   temp=a[1];
   for(int i=3;i>0;i--){
      b[i]=temp%10;
      temp=temp/10;
   }
   temp=a[2];
   for(int i=8;i>3;i--){
      b[i]=temp%10;
      temp=temp/10;
   }
   temp=0;
   for(int i=0;i<9;i++){
      temp=temp+(i+1)*b[i];
   }
   temp=temp%11;
   if(temp!=10){
      temp1=(char)(temp+48);
   }else{
      temp1='X';
   }
   if(temp1==ch){
      printf("Right");
   }else{
      for(int i=0;i<9;i++){
         printf("%d",b[i]);
         if(i==0||i==3||i==8){
            printf("-");
         } 
      }
      printf("%c",temp1);
   }
   return 0;
}

 

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