天天看点

杭电acm keys ---C语言

1089:

#include<stdio.h>

int main()

{

    int a,b,sum;

    while (scanf("%d %d", &a,&b) != EOF )

    {

         sum=a+b;

            printf("%d\n",a+b);

    }

    return 0;

}

1090:

#include<stdio.h>

int main()

{

    int a,b,sum,i,j;

    while (scanf("%d", &i) != EOF )

    {

    for (j = 0 ;j < i ; j++)

    {

      scanf("%d %d",&a,&b);

    sum=a+b;

    printf("%d\n",a+b);

    }

    break;

    }

    return 0;

}

1091:

#include<stdio.h>

int main()

{

    int a,b,sum;

    while (scanf("%d %d", &a,&b) != EOF )

    {

        if ( a == 0 && b == 0)

        break;

        else

        {

            sum=a+b;

            printf("%d\n",a+b);

        }

    }

    return 0;

}

1902:

#include<stdio.h>

int main()

{

    int a,b,i,j;

    int sum = 0;

    while (scanf("%d", &i) != EOF )

    {

    if (i != 0)

    {

    for (j = 0 ;j < i ; j++)

    {

      scanf("%d",&a);

      sum += a;

    }

    printf("%d\n",sum);

    sum = 0;

    }

    else break;

    }

    return 0;

}

1093:

#include<stdio.h>

int main()

{

    int a,b,i,j,k,l;

    int sum = 0;

    while (scanf("%d", &j) != EOF )

    {

    for ( k = 0; k < j; k++ )

    {

     scanf("%d",&i);

     for (l = 0 ;l < i ; l++)

    {

      scanf("%d",&a);

      sum += a;

    }

    printf("%d\n",sum);

     sum = 0;

     }

    }

    return 0;

}

1094:

#include<stdio.h>

int main()

{

    int N,i,j;

    int sum = 0;

    while (scanf("%d", &N) != EOF )

    {

    for (i = 0 ;i < N ; i++)

    {

      scanf("%d",&j);

      sum += j;

    }

    printf("%d\n",sum);

     sum = 0;

     }

    return 0;

}

1720:

#include<stdio.h>

void main()

{

 int a,b;

 while(scanf("%x %x",&a ,&b) != EOF)  //16进制输入

 {

     printf("%d\n", a+b);

 }

}

1095:

#include<stdio.h>

int main()

{

    int a,b;

    int sum = 0;

    while (scanf("%d %d", &a,&b) != EOF )

    {

    sum = a + b;

    printf("%d\n",sum);

    printf("\n");

     }

    return 0;

}

1096:

#include<stdio.h>

int main()

{

    int M,N,i,j,a;

    int sum = 0;

    while (scanf("%d", &N) != EOF )

    {

        for (i = 0; i< N; i++)

        {

        scanf("%d",&M);

        for (j = 0; j< M; j++)

        {

            scanf("%d",&a);

            sum += a;

        }

    printf("%d\n",sum);

    if( i < N-1)

    printf("\n");

    sum = 0;

     }

    }

    return 0;

}

2001年-----计算两坐标间的距离

#include <stdio.h>

#include <math.h>

int main()

{

  double x1,x2,y1,y2,l;

  while(scanf(“%lf%lf%lf%lf”,&x1,&y1,&x2,&y2)!= EOF)//注:此处​​的x1,y1,x2,y2顺序别写错,我就在此跳了坑

  {

    l = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));

 的printf( “%2LF \ n”个,升);

  }

return 0;

}

2003 ------求绝对值

#include <stdio.h>

#include <math.h>

int main()

{

  double a,b;

  while(scanf(“%lf”,&a)!= EOF)

  {

    b = fabs(a);

 的printf( “%0.2F \ n”个,B);

  }

return 0;

}

2004年----------成绩转换

方法一:我跳的坑:题目要求用t,而我之前一直用的i,题目要看清

杭电acm keys ---C语言

#include <stdio.h>  

int main()  

{  

    int t;  

    while(scanf(“%d”,&t)!= EOF)  

    {  

        if(90 <= t && t <= 100)printf(“%c \ n”,“A”);  

        否则如果(80 <= t && t <= 89)printf(“%c \ n”,'B');  

        否则如果(70 <= t && t <= 79)printf(“%c \ n”,'C');  

        否则如果(60 <= t && t <= 69)printf(“%c \ n”,'D');  

        否则if(0 <= t && t <= 59)printf(“%c \ n”,'E');  

        else printf(“得分错误!\ n”);  

    }  

    return 0;  

}  

方法二:

#include <stdio.h>  

int main()  

{  

    int t;  

    while(scanf(“%d”,&t)!= EOF)  

    {  

        if(90 <= t && t <= 100)printf(“%c \ n”,“A”);  

        否则如果(80 <= t && t <= 89)printf(“%c \ n”,'B');  

        否则如果(70 <= t && t <= 79)printf(“%c \ n”,'C');  

        否则如果(60 <= t && t <= 69)printf(“%c \ n”,'D');  

        否则if(0 <= t && t <= 59)printf(“%c \ n”,'E');  

        else printf(“得分错误!\ n”);  

    }  

    return 0;  

}  

2005 -----------第几天

#include <stdio.h> //这个方法有点蠢在编译器上运行正确,但在网站上是错误答案

   int Get_Day(int year,int month,int day)

  {

 int Day; 

   if((年%4 == 0 &&年%100!= 0)||(年%400 == 0))

    {

    if(month == 2)

    Day = 29;

    if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)

    day = 31;

    if(month == 4 || month == 6 || month == 8 || month == 9 || month == 11)

    day = 30;

    if(month == 0)

    Day = 0;

    }

 else

    {

     if(month == 0)

     Day = 0;

     如果(月== 2)

     日= 28;

     if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)

     day = 31;

     if(month == 4 || month == 6 || month == 8 || month == 9 || month == 11)

     day = 30;

    }

    回天;

 }

 int main()

 {

    int year,month,day,days,i;

 int day_data = 0;

    while(scanf(“%d /%d /%d”,&year,&month,&day)!= EOF)

    {

        for(i = 1; i <month; i ++)

        {

        days = Get_Day(year,month-i,day) );

        day_data + =天;

    }

       day_data = day_data + day;

    的printf( “%d \ n”个,day_data);

    day_data = 0;

    }

 返回0;

}

方法二

   #include <stdio.h>

int main()

{

 int year,month,day;

 int arry [13] = {31,28,31,30,31,30,31,31,30,31,30,31};

 while(~scanf(“%d /%d /%d”,&year,&month,&day))

 {

  int num = 0;

  int i;

  for(i = 0; i <month-1; i ++)

   num + = arry [i];

  if(年%400 == 0 ||(年%4 == 0 &&年%100!= 0))

  {

   if(month> 2)

    num + = day + 1;

   else

    num + = day;

  }

  else

   num + = day;

  的printf( “%d \ n”个,NUM);

 }

 return 0;

}

2006年-----求奇数的乘积     (小总结:与2005年一样,在最后都将要打印的值在printf的后回归初始值)

#include <stdio.h>

int main()

{

 int n,i,a,temp;

 int sub = 1;

while(scanf(“%d”,&n)!= EOF)

{

 for(i = 0; i <n; i ++)

 {

  scanf(“%d”,&a);

  if(a%2!= 0)

  {

   temp = a;

   子* =温度;

  }

  }

 printf的( “%d \ n”个,子);

 子= 1;

}

 返回0;

}

2007 --------平方与立方和  

错误答案://不知哪有问题,编译器通过,官网未通过

的#include <stdio.h>中

int main()

{

 int m,n,i;

 int x = 0,y = 0;

 while(scanf(“%d%d”,&m,&n)!= EOF)

 {

   for(i = m; i <= n; i ++)

   {

     if(m%2 == 0)

      x + = m * m;

  否则

   y + = m * m * m;

  x++;

    }

   printf(“%d%d \ n”,x,y);

   X = 0;

   Y = 0;

 }

 eturn 0;

}

正确答案如下:(与错误答案比较,自己欠考虑,少考虑了吗M> N的情况)

#include <stdio.h>

int main()

{

 int m,n,i;

 int x = 0,y = 0;

 while(scanf(“%d%d”,&m,&n)!= EOF)

 {

  if(m <= n)

  {

   for(i = m; i <= n; i ++)

   {

     if(m%2 == 0) )

      x + = m * m;

  否则

   y + = m * m * m;

  米++;

   }

   }

  否则如果(M> N)

  {

   对于(i = N时,我<=米;我++)

   {

     如果(N%2 == 0)

      X + = N * N;

  否则

   y + = n * n * n;

  的n ++;

   }

   }

   printf(“%d%d \ n”,x,y);

   X = 0;

   Y = 0;

 }

返回0;

}

2008 ----------数值统计

#include <stdio.h>

int main()

{

 int n,i;

 int a = 0,b = 0,c = 0;

 双数;

 while(scanf(“%d”,&n)!= EOF)

 {

   if(n == 0)break;

   for(i = 0; i <n; i ++)

   {

    scanf(“ %lf”,&num);

    if(num <0)

     a + = 1;

     if(num == 0)

     b + = 1;

    if(num> 0)

     c + = 1;

   }

   printf(“%d%d%d \ n”,a,b,c);

   一个= 0;

   B = 0;

   C = 0;

 }

返回0;

}

2009年---------数列求和

方法一(利用递归算法)

#include <stdio.h>

#include <math.h>

 int m,n,i;

 double arr(int a);

int main()

{

  double sum = 0;       //此处总和= 0若在同时循环中定义,

                                   则printf的语句后的总和= 0可去掉。

while(scanf(“%d%d”,&m,&n)!= EOF)

  { 

    for(i = 1; i <= n; i ++)  

    sum + = arr(i);

 的printf( “%0.2lf \ n”个,总和);

 总和= 0;

  }

    return 0;

 }

double arr(int a)

{

  if(a == 1)

   return m;

  else

   return sqrt(arr(a-1));

}

2010---水仙花

#include<stdio.h>

int main()

{

    int m,n,i,a,b,c,s,w,j,d;

    while(scanf("%d %d",&m,&n) != EOF)

    {

        d = 0;

        j = 1;

       // if ((m >= 100) && (m <= n) && (n<=999))

       if (m > n)

       {

           w = m;

           m = n;

           n = w;

       }

       else ;

           for (i = m; i <= n; i++)

           {

               a = i / 100;

               b = (i / 10) % 10;

               c = i % 10;

               s = a*a*a + b*b*b + c*c*c;

               if (i == s)

               {

                   if (d != 0)

                    printf (" ");

                   printf("%d",i);

                   d = d+1;

                   j = j+1;

               }

           }

               if (j == 1)

                printf ("no\n");

               else

                printf("\n");

    }

    return 0;

}

2011 ----多项式求和

#include <stdio.h>

int main()

{

 int a [110];

 双s;

 int i,n,j,f;

 的scanf( “%d”,&N);

 for(i = 1; i <= n; i ++)

        scanf(“%d”,&a [i]);

 for(i = 1; i <= n; i ++)

 {

  f = 1;

  s = 0;

  for(j = 1; j <= a [i]; j ++)

  {

   s = s + 1.0 / j * f;

   F = -f;

  }

  printf(“%。2f \ n”,s);

 }

 return 0;

}

2013 ------蟠桃计

#include <stdio.h>

int main()

{

  int peach;

  int i,n;

  while(scanf(“%d”,&n)!= EOF)

  {

  peach = 1;

    for(i = 1; i <n; i ++)

 { 

   peach = 2 *(peach + 1);

 }

  printf(“%d \ n”,桃子); 

  }

return 0;

}

2014 --------评委打分  //先输入第一个分数作为最值的标志,之后输入的分数判断值与最值得关系,累加所有分数的值,并找到最值将最值减去,最后求平均值。

#include <stdio.h>

int main()

{

  int n,i,score [110],max,min,sum;

  双倍平均;

  while(scanf(“%d”,&n)!= EOF)

  {

      scanf(“%d”,&score [0]);

      总和= MAX =最小=得分[0];

      for(i = 1; i <n; i ++)

 {

  scanf(“%d”,&score [i]);

  总和+ =得分[I];

 if(min> score [i])

 {

  min = score [i];

 }

 else if(max <score [i])

 {

  max = score [i];

 }

 }

  总和=总和-最大值-最小值;

 average = (sum + 0.0)/(n-2); //此处(总和+ 0.0)使得除得结果有小鼠值保留

 的printf( “%0.2lf \ n”个,平均);

  }

  return 0;

}

2016 --------数据交换

#include <stdio.h>

int main()

{

 int n,i,tmp,j;

 int a [100];

 while(scanf(“%d”,&n)!= EOF)

 {

  if(n == 0)

  break;

 的scanf( “%d”,&一个[0]);

  J = 0; //记录数据的位置

  for(i = 1; i <n; i ++)

  {

   scanf(“%d”,&a [i]);

        if(a [j]> a [i])

     j = i; //位置交换

 }

     tmp = a [j];

  一个[J] = A [0]; //数据交换

  一个[0] = TMP;   

  for(i = 0; i <n; i ++)

  {

   if(i <n-1)

  printf(“%d”,a [i]); 

   else

 printf(“%d \ n”,a [i]);

  }

 }

  返回0;

 }

2039:

#include<stdio.h>

void main()

{

   double A,B,C;

   int i,j;

   while (scanf("%d",&i) != EOF )

   {

       for (j = 0; j < i; j++)

       {

           scanf("%lf %lf %lf",&A,&B,&C);

           if ( (A + B) > C && A + C > B && B + C > A)

            printf("YES\n");

          else printf("NO\n");

       }

   }

}

继续阅读