zoukankan      html  css  js  c++  java
  • 笔记

    1.设变量xfloat型且已赋值,则下列语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是       x=(int)(x*100+0.5)/100.0

    例题,Financial Management(通师邀请赛正式赛第一题)

    代码:

    #include<stdio.h>

    #include<string.h>

    #include<iostream>

    using namespace std;

    #define n 12

    int main()

    {

       float  a[n];

       float sum=0,ans=0,aver=0;

       memset(a,0,sizeof(a));

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

      {

          scanf("%f",&a[i]);

          sum+=a[i];

      }

        aver=sum/n;

        ans=(int )(aver*100+0.5)/100.0;

       cout<<'$'<<ans<<endl;

       return 0;

    }

    2.sqrt函数功能:计算非负实数的平方根。pow函数的返回值是double或float。

    3.定义圆周率常数   const  double pi=4.0*atan(1.0);  const表示它的值是不可以改变的。别忘了加头文件<math.h>

    4.开灯问题

    代码:

    #include<stdio.h>

    #include<string.h>

    int a[1020];

    int main()

    {

        int n,k,first=1;

        memset(a,0,sizeof(a));

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

        {

            for(int i=1;i<=k;i++)

                for(int j=1;j<=n;j++)

                if(j%i==0)

                a[j]=!a[j];

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

        {

             if(a[i])

            {

                if(first)

                first=0;

                else

                    printf(" ");

                printf("%d",i);

            }

        }

      printf(" ");

        }

        return 0;

    }

    5.蛇形填数

    代码:

    #include<stdio.h>

    #include<string.h>

    int a[10][10];

    int main()

    {

        int n,x,y,tot=0;

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

        {

            memset(a,0,sizeof(a));

            tot=1;

            a[x=0][y=n-1]=1;

            while(tot<n*n)

            {

                while(x+1<n&&!a[x+1][y])  a[++x][y]=++tot;

                while(y-1>=0&&!a[x][y-1]) a[x][--y]=++tot;

                while(x-1>=0&&!a[x-1][y]) a[--x][y]=++tot;

                while(y+1<n&&!a[x][y+1])  a[x][++y]=++tot;

            }

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

              {

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

                    printf("=",a[x][y]);

                   printf(" ");

              }

        }

        return 0;

    }

    6.孪生素数

    代码:

    #include<stdio.h>

    #include<math.h>

    #include<assert.h>

    int is_prime(int x)

    {

        int i,m;

        assert(x>=0);

        if(x==1)  return 0;

        m=floor(sqrt(x)+0.5);

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

            if(x%i==0)

            return 0;

        return 1;

    }

    int main()

    {

        int i,m;

        scanf("%d",&m);

        for(i=m-2;i>=3;i--)

           {

               if(is_prime(i)&&is_prime(i+2))

                 {

                     printf("%d %d ",i,i+2);

                      break;

                 }

           }

        return 0;

    }

    7.字符矩阵左旋转90

    代码:

    #include<stdio.h>

    #include<string.h>

    int main()

    {

        int n,i,j,k;

        char str[100],ch;

        scanf("%d",&n);

        getchar();

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

        {

            ch=getchar();

            str[i]=ch;

        }

        k=strlen(str);

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

        {

            for(i=j;i<=n*n-n+j;i+=n)

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

              printf(" ");

        }

        return 0;

    }

    8.int 的上限约是20亿,可以保存所有9为整数。

  • 相关阅读:
    [NOI Online 2021 提高组] 愤怒的小N
    [NOI Online 2021 提高组] 积木小赛
    「2020-2021 集训队作业」Yet Another Permutation Problem
    无标号有根树/无根树 计数
    无向图的 三元环
    有标号二分图计数
    有标号荒漠计数
    「雅礼集训 2018 Day8」B
    CF708E Student's Camp
    清华集训 2016 选做
  • 原文地址:https://www.cnblogs.com/lyf123456/p/3219164.html
Copyright © 2011-2022 走看看