C++项目参考解答:小试循环
Posted 迂者-贺利坚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++项目参考解答:小试循环相关的知识,希望对你有一定的参考价值。
【项目-小试循环】
写出实现下面求解任务的程序【提示:m是一个变量,在程序中输入】
(1)求1到m的平方和
(2)求1到m间所有奇数的和
(3)求1到m的倒数和,即
(4)求值:
(5)求m!,即
【参考解答】
写出实现下面求解任务的程序【提示:m是一个变量,在程序中输入】
(1)求1到m的平方和
#include <iostream>
using namespace std;
int main( )
{
int n,m,total;
cin>>m;
n=1;
total=0;
while(n<=m)
{
total+=(n*n);
n++;
}
cout<<"total="<<total<<endl;
return 0;
}
或用for循环:
#include <iostream>
using namespace std;
int main( )
{
int n,m,total;
cin>>m;
total=0;
for(n=1;n<=m;n++)
{
total+=(n*n);
}
cout<<"total="<<total<<endl;
return 0;
}
(2)求1到m间所有奇数的和
#include <iostream>
using namespace std;
int main( )
{
int n,m,total;
cin>>m;
n=1;
total=0;
while(n<=m)
{
total+=n;
n+=2;
}
cout<<"total="<<total<<endl;
return 0;
}
或用for循环:
#include <iostream>
using namespace std;
int main( )
{
int n,m,total;
cin>>m;
total=0;
for(n=1;n<=m;n+=2)
{
total+=n;
}
cout<<"total="<<total<<endl;
return 0;
}
(3)求1到m的倒数和,即
#include <iostream>
using namespace std;
int main( )
{
int n,m;
double total;
cin>>m;
n=1;
total=0;
while(n<=m)
{
total+=(1.0/n); //注意1.0引发的类型转换,非常重要!
n++;
}
cout<<"total="<<total<<endl;
return 0;
}
或用for循环:
#include <iostream>
using namespace std;
int main( )
{
int n,m;
double total;
cin>>m;
n=1;
total=0;
for(n=1;n<=m;n++)
{
total+=(1.0/n); //注意1.0引发的类型转换,非常重要!
}
cout<<"total="<<total<<endl;
return 0;
}
(4)求值:
#include <iostream>
using namespace std;
int main( )
{
int n,m,sign;
double total;
cin>>m;
n=1;
total=0;
sign=1; //用sign代表累加项的符号,这是处理一正一负累加的技巧
while(n<=m)
{
total+=(sign*(1.0/n));
n++;
sign*=-1; //sign变号
}
cout<<"total="<<total<<endl;
return 0;
}
或用for循环:
#include <iostream>
using namespace std;
int main( )
{
int n,m,sign;
double total;
cin>>m;
n=1;
sign=1; //用sign代表累加项的符号,这是处理一正一负累加的技巧
total=0;
for(n=1; n<=m; n++)
{
total+=(sign*(1.0/n)); //注意1.0引发的类型转换,非常重要!
sign*=-1; //sign变号
}
cout<<"total="<<total<<endl;
return 0;
}
(5)求m!,即
#include <iostream>
using namespace std;
int main( )
{
int n,m;
long fact; //阶乘值很大,数据类型方面考虑一些
cin>>m;
n=1;
fact=1;
while(n<=m)
{
fact*=n;
n++;
}
cout<<m<<"! = "<<fact<<endl;
return 0;
}
或用for循环:
#include <iostream>
using namespace std;
int main( )
{
int n,m;
long fact; //阶乘值很大,数据类型方面考虑一些
cin>>m;
fact=1;
for(n=1;n<=m;n++)
{
fact*=n;
}
cout<<m<<"! = "<<fact<<endl;
return 0;
}
以上是关于C++项目参考解答:小试循环的主要内容,如果未能解决你的问题,请参考以下文章
由于没有学习过C++,只有C语言基础,在C++项目代码中看到如下定义,望高手解答。