c++课程设计报告

本文档详细介绍了五个C++编程题目,包括寻找水仙花数、多项式求和、有序序列插入、递增偶数序列平均值计算、母牛增长规律计算等。每个题目都包含了题意解析、解题思路、具体实现细节以及源代码展示,旨在通过实例加深对C++编程的理解和应用。
摘要由CSDN通过智能技术生成

一、

1.简要题意:

输出m和n范围内的水仙花数,水仙花数是指各位数的立方和等于其本身。

2.解题思路形成:

把一个数的各个位数分离,看各个位数的立方和是否等于其本身,如果相等,则为水仙花数,否则不是水仙花数。用一个变量记水仙花的个数,若为0,则不存在水仙花数,输出no

3.解题细节处理:

百位数=这个数除以100

十位数=这个数取余100再除以10

个位数=这个数取余10

多组数据的输入用while循环

输出的水仙花数之间用空格隔开,注意最后最后一个数之后应没有空格。应用for循环,当为最后一个数时,不用输出空格,否则要输出空格。

4.源代码:

int a,b,c,m,n,t,s,k,j,i;

while(cin>>m>>n)

    {

        j=0;

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

            {

                a=i/100;

                b=(i%100)/10;

                c=i%10;

                if(i==a*a*a+b*b*b+c*c*c)

                    {

                        j++;

                        f[j]=i;

                    }

                }

        if(j==0) printf("no\n");

        else

            {

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

                {

                      if(k==j)printf("%d\n",f[j]);

                      else

                      printf("%d ",f[k]);

                }

            }

    }

return 0;

}

 

 

 

二、

1.简要题意:

求多项式前n项的和

2.解题思路的形成:

求前n项的和,当项数为偶项数时,减去项数的倒数,当为奇数时,加上项数的倒数。

3.解题细节的处理:

定义一个实数型的变量s为它们的和,注意要在循环里面对s赋初值。

如果取余2为0,s=s-1/j;若不为0,s=s+1/j

4.源代码:

#include<iostream>

#include<iomanip>

using namespace std;

int main()

{

int m,i,j,n;

double s;

cin>>m;

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

{

cin>>n;

s=0;

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

{   

if(j%2==0) s=s-1.0/j;

else s=s+1.0/j;

}

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

}

return 0;

}

三、

1.简要题意:

定义一个从二开始的递增有序偶数数列,按顺序每m个数求一个平均值,不足m个,以实际量求平均值。

2.解题思路的形成:

先定义一个偶数数列,将这个数列分成i组,每组m个,将这m个数想加求平均值,分成i组后,若有剩余,再将剩余的求平均值。

3.解题细节的处理:

定义一个2*(i+1)的偶数列,将这个数列每m个一组进行分组,用累加求和的方法将m个数求和即t=t+a[m*i+j],再取平均,n取余m不等于0,说明有剩余,再对剩余的数求和k=k+a[n-n%m+i],再求平均值

4.源代码:

#include<iostream>

using namespace std;

int main()

 {  int m,n,i,j,k=0,t=0;

   int a[100];

while(cin>>n>>m)

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

a[i]=2*(i+1);

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

{for(j=0;j<m;j++)

{ t=t+a[m*i+j];

}

cout<<t/m<<" ";

t=0;}

 

if(n%m!=0) 

{

{for(i=0;i<n%m;i++)

k=k+a[n-n%m+i];}

cout<<k/m;

}

}

return 0;

}

四、

1.题意:

有一头母牛每年年初生一头小母牛,小母牛在第四个年头也生一个小母牛,问第n年的时候共有多少头母牛。

2.解题思路的形成:

第一年一头牛,第二年两头,第三年三头,第四年四头,第五年六头……找规律可得第n年的头数等于第n-1年的+第n-3年的

3.解题细节的处理:

f[i]=f[i-1]+f[i-3]

4.源代码:

#include <

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值