中南大学C++程序设计实践思考题答案 联系客服

发布时间 : 星期一 文章中南大学C++程序设计实践思考题答案更新完毕开始阅读

5 }

2.输入两个正整数,判别它们是否互为互质数。所谓互质数,就是最大公约数是1。 #include using namespace std; int main() {

int m,n,r;

cout<<\请输入两个正整数:\ cin>>m>>n;

cout<

if(m

{ r=m;m=n;n=r;}

while(r=m%n) {

m=n; n=r; }

if(n==1)

cout<<\是互质数 \else

cout<<”不是互质数”<

return 0; }

3.编写程序,输出从公元2000年至3000年间所有闰年的年号。

#include using namespace std; int main() {

int year;

cout<<\公元2000年至3000年间闰年的年号:\\n\ for(year=2000;year<=3000;year++)

if((year%4==0 && year0 !=0)||(year@0==0)) cout<

4.编写程序模拟猴子吃桃子问题:猴子第1天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天将剩下的桃子又吃了一半,又多吃一个。以后每天都吃了前一天剩下的

5

一半零1个。到了第10天,只剩下了一个桃子。请问猴子第一天共摘了多少个桃子?

方法1:

#include using namespace std; int main() {

int day,qian,hou=1;

for(day=9;day>=1;day--) {

qian=(hou+1)*2; hou=qian; }

cout<

运行结果:1534

方法2:

#include using namespace std; int main() {

int day,number=1;

for(day=9;day>=1;day--) number=(number+1)*2; cout<

方法3:

#include using namespace std; int peach(int); int main() {

cout<<\第1天共摘了\个\ return 0; }

int peach(int day) {

int number;

6

7 if(day==10) number=1; else

number=2*(peach(day+1)+1); return number; }

5.计算s=1+(1+2)+(1+2+3)+(1+2+3+4)+ … +(1+2+3+ … +n)的值。 方法1:

#include using namespace std; int main() {

int i,j,n;

long int sum,total(0); cout<<\ cin>>n;

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

sum=0;

for(j=1;j<=i;j++) sum+=j; total+=sum; }

cout<<\ return 0; }

#include using namespace std; int main() {

int i,n;

long int sum(0),total(0); cout<<\ cin>>n;

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

sum+=i; total+=sum; }

7

cout<<\ return 0; }

6.马克思曾经做过这样一道趣味数学题:有30个人在一家小饭馆用餐,其中有男人、女人和小孩。每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,一共花了50先令。请问男人、女人以及小孩各有几个人?

#include using namespace std; int main() {

int x,y,z;

for(x=1;x<=16;x++) for(y=1;y<=24;y++) {

z=30-x-y; if(3*x+2*y+z==50) cout<<\ } return 0;

}实验4 常用程序设计算法

三、实验思考

1.读入一个整数N,若N为非负数,则计算N到2×N之间的整数和;若N为负数,则求2×N到N之间的整数和。分别利用for和while写出两个程序。

#include using namespace std;

int main() { int N; cin>>N; int i=N; long sum=0; if(N>=0) { for(;i<=2*N;i++) sum+=i;

8