菜鸟说C(二)—— swust oj 练习

最大公约数和最小公倍数:

PS:最小公倍数 = 乘积 / 最大公约数

http://acm.swust.edu.cn/problem/0038/

#include <stdio.h>

int main()

{

    int m, n, i, c, t; //t为最大公约数, c为最小公倍数

    scanf("%d%d", &m, &n);

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

    {

        if (m % i == 0 && n % i == 0)

        {

            t = i;

        }

    }

    c = ( m * n ) / t;

    printf("%d %d\n", t, c);

    return 0;

}

判断是否是整数

http://acm.swust.edu.cn/problem/0028/

#include <stdio.h>

int main ()

{

    float a;

    while (~scanf ("%f", &a))

    {

        if ( (int)a == a)

        {

            printf ("Yes\n");

        }

        else

        {

            printf ("No\n");

        }

    }

    return 0;

}

三个数的最大值

http://acm.swust.edu.cn/problem/0033/

#include <stdio.h>

void main()

{

    int a, b, c, max;

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

    if (a < b)

        max = b;

    else 

        max = a;

    if (max > c)

        max = max;

    else max = c;

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

}

 

变位词

http://acm.swust.edu.cn/problem/0029/

#include <stdio.h>

 #include <string.h>

 void main()

 {

   char a[20],b[20],t,p;

   int i,n,j,k,N;

   scanf("%d",&N);

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

   {

       scanf("%s%s",a,b);

       n=strlen(a);

       for(j=0;j<n-1;j++)

           for(i=0;i<(n-1-j);i++)

               if(a[i]>a[i+1])

               {

                   t=a[i];

                   a[i]=a[i+1];

                   a[i+1]=t;

               }

               for(j=0;j<n-1;j++)

                   for(i=0;i<(n-1-j);i++)

                       if(b[i]>b[i+1])

                       {

                           p=b[i];

                           b[i]=b[i+1];

                           b[i+1]=p;

                       }

                       if(strcmp(a,b)==0)

                           printf("Yes\n");

                       else

                           printf("No\n");

   }

 }

  

 

成绩的等级

http://acm.swust.edu.cn/problem/0035/

#include <stdio.h>

int main()

{

    int a;

    scanf("%d",&a);

    if (90<=a && a<=100)

    printf("A\n");

    if (80<=a && a<=89)

    printf("B\n");

    if (70<=a && a<=79)

    printf("C\n");

    if (60<=a && a<=69)

    printf("D\n");

    if (a<=60)

    printf("E\n");

    return 0;

}

 

逆序数

http://acm.swust.edu.cn/problem/0036/

#include <stdio.h>

#include <string.h>

void main()

{

    int n=0,i;

    char a[10];

    scanf("%s",a);

    n=strlen(a);

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

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

        printf("%c ",a[i]);

    printf("%c\n",a[i]);

    for(i=n-1;i>=0;i--)

        printf("%c",a[i]);

    printf("\n");

}

 

你可能感兴趣的:(菜鸟)