做题总结

 

1001:

Intention:输出各个成绩的等级。

Problem solving:利用整除的性质(即一个整数除一个整数结果仍是整数)的思想。

Detail processing:虽说这道题简单,但是只要你的输出格式不对,wrong answer依然会亲切地迎接你代码的到来。注意最后一组数据结束后一定要转行!!!

Original code: #include<iostream>

#include<cstdio>

#include<cmath>

using namespace std;

int main()

{

    int n;

    while(cin>>n)

    {

        if(n>=0&&n<=100)

        {

            if(n/10==10||n/10==9)

            cout<<'A'<<endl;

            else if(n/10==8)

            cout<<'B'<<endl;

            else if(n/10==7)

            cout<<'C'<<endl;

            else if(n/10==6)

            cout<<'D'<<endl;

            else

            cout<<'E'<<endl;

        }

        else

        cout<<"Score is error!"<<endl;

    }

    return 0;

}

1004:

Intention:判断是否为素数。

Problem solving:素数即为大于二的自然数,除了一和他本身为没有其他因子,如果一个数不为素数,则其最大因子为sqrt(n);则我们只需判断从二到根下n是否有可以被整除的因子即可。有则非,无则是。

Detail processing:用一个变量计数,记因子的个数,如果为零则说明为素数。注意每次输入时一定要清零,否则结果you know。

Original code:#include<iostream>

#include<cstdio>

using namespace std;

int main()

   int a,b,i,j,n,sum;

   while(cin>>a>>b)

   {  

      sum=0;

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

      continue;

      else

      {

          for(i=a;i<=b;i++)

         { 

             n=i*i+i+41;

             for(j=2;j*j<=n;j++) 

            {

               if(n%j==0&&n!=1)

               {

                   sum++;

               }

        

            }

         }

      }

        if(sum==0)

        printf("OK");

        else

        printf("Sorry");

        printf("\n");

    }

}

1005:

Intention:求一个分数多项式的和。

Problem solving:利用一个循环语句,利用(-1)的次方决定正负,然后直接sum+就好。

Detail processing:这个题是不是很简单,嘿嘿,如果你把sum定义成了int,一首凉凉送给你,需要保留两位小数,故需定义成double类型,另外补充一下cout保留小数的方法,头文件#include<iomanip>,形式:cout<<fixed<<setprecision(要保留的位数)<<sum;

Original code: #include<iostream>

#include<cstdio>

#include<cmath>

#include<iomanip>

using namespace std;

int main()

{

    int m,n;

    cin>>m;

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

    {

        cin>>n;

        double sum=0;

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

        {

            sum+=pow((-1),(j+1))*(1.00/j);

        }

        cout<<fixed<<setprecision(2)<<sum<<endl;

    }

    return 0;

}

1006:

Intention:求偶数列的和

Problem solving:庆幸自己高中数列学的好的时候到了,利用等差数列求和公式,首先判断这些项数和所要求平均数的个数的关系,然在利用求和公式S(nm)-S((n-1)m)的计算,即可算出。

Detail processing:一定要注意除数为零的处理,不然你的程序运行时会自动提出要你结束他的生命,他可能无法接受他处理不了的事物的存在,哈哈哈。

Original code:奉上菜鸟的代码:

#include<iostream>

#include<cmath>

#include<cstdio>

using namespace std;

int main()

{

    int n,m,e,x,av;

    while(cin>>n>>m)

    {

        int count=0,k;

        e=n/m;

        x=n%m;

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

        {

            count++;

            av=((i*m*m*i+i*m)-((i-1)*m*m*(i-1)+(i-1)*m))/m;

            if(count==1)

            cout<<av;

            if(count>1)

            cout<<" "<<av;

        }

        if(x==0)

        cout<<endl;

        else

        {

           k=((n*n+n)-(m*e*m*e+m*e))/x;

           cout<<" "<<k<<endl;

        }

    }

    return 0;

}

1007:

Intention:一个参赛歌手的命根,(评委的平均评分)

Problem solving:通过循环筛选出最大值和最小值,然后利用循环求均值。

Detail processing:再次告诉像我一样初学代码的同志们一句,需要多组输入数据时,用到求和,一定要在下组数据输入时初始为零,一定要化为零,零,零。

                   哦,对了还有在筛选时注意下组数据输入时也要化为零哦。

Original code:奉上菜鸟的代码:

#include <iostream>

#include<cstdio>

#include<cmath>

#include<iomanip>

int a[110];

using namespace std;

int main()

{

    int n;

    double av;

    while(cin>>n&&n>2&&n<=100)

    {

            int max=0;

            int min=0;

            int sum=0;

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

            {

                cin>>a[i];

                min=a[i];

            }

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

           {

                if(a[i]>max)

                max=a[i];

                if(a[i]<min)

                min=a[i];

            }

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

          {

               sum+=a[i];

           }

           av=(sum-max-min)*1.00/(n-2);

           cout<<fixed<<setprecision(2)<<av<<endl;

    }

    return 0;

}

1010:

Intention:对一个有序的数列在插入一个数,使其仍有序。

Problem solving:从前向后筛选,筛选到适当的位置,然后从前向后把每一位数向后移以为,以便新插入的数据可以更好的生存。

Detail processing:多组输入数据,最后需要转行。其他也没啥需要特别注意的。

Original code:奉上菜鸟的代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值