天天看點

杭電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");

       }

   }

}

繼續閱讀