C++ Primer Plus 第六版 第五章编程练习答案参考(仅仅用作学习交流,若有错误,请联系作者,谢谢)

第一题:

#include <iostream>
using namespace std;
int main()
{
	int min,max;
	int i;
	int sum=0;
	cout<<"Enter the min-number: ";
	cin>>min;
	cout<<"Enter the max-number: ";
	cin>>max;
	for(i=min;i<=max;i++)
	{
		sum+=i;
	}
	cout<<"Sum = "<<sum<<endl;
	return 0;
}

第二题:

#include <iostream>
#include <array>//c++ 11
using namespace std;
int main()
{
	const int Arsize=100;
	array<long double,Arsize> factorial;
	factorial[0]=factorial[1]=1;
	int i;
	int sum=factorial[0]+factorial[1];
	for(i=2;i<100;i++)
	{
		factorial[i]=factorial[i-1]*i;
		sum+=factorial[i];
	} 
	for(i=0;i<100;i++)
	cout<<i<<"!  "<<factorial[i]<<endl;
	cout<<"Sum = "<<sum<<endl; 
}

第三题:

#include <iostream>
using namespace std;
int main()
{
	int sum=0;
	int num;
	cout<<"Enter a num: ";
	cin>>num;
	while(num!=0)
	{   
		sum+=num;
		cout<<"Enter a num: ";
		cin>>num;
	}
	cout<<"Sum = "<<sum<<endl;
	return 0;
}

第四题:

#include <iostream>
using namespace std;
int main()
{
	int year=0;
	int deposit1,deposit2;
	cout<<"Enter the deposit of Delphie: ";
	cin>>deposit1;
	cout<<"Enter the deposit of Cleo: ";
	cin>>deposit2;
	double interest1,interest2;
	interest1=deposit1*0.10;
	do
	{
		year++;
		deposit1=deposit1+interest1;
		interest2=deposit2*0.05;
		deposit2=deposit2+interest2;
	}
	while(deposit2<=deposit1);
	cout<<"When year =  "<<year<<" Cleo get more than Delphie!"<<endl;
	cout<<"Delphie's deposit: "<<deposit1<<endl;
	cout<<"Cleo's deposit: "<<deposit2<<endl;
	return 0;
}

第五题:

#include <iostream>
#include <string>
using namespace std;
int main()
{
	string month[12]=
	{
	"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec"
	};
	int salecount[12];
	int i;
	for(i=0;i<12;i++)
		cin>>salecount[i]; 
	for(i=0;i<12;i++)
		cout<<month[i]<<" : "<<salecount[i]<<endl;
	return 0;
}

第六题:

#include <iostream>
using namespace std;
int main()
{
	string month[12]=
	{
	"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec"
	};
	int salecount[12][3];
	int sumperyear[3]={0};
	int totalofyear=0;
	int i,j;
	for(i=0;i<12;i++)
	{
		for(j=0;j<3;j++)
		{
			cin>>salecount[i][j];
			totalofyear+=salecount[i][j];
			sumperyear[j]+=salecount[i][j]; 
		}
	} 
	for(i=0;i<12;i++)
	{
		cout<<month[i]<<": "; 
		for(j=0;j<3;j++)
			cout<<salecount[i][j]<<" ";
		cout<<endl;
	}
	for(i=0;i<3;i++)
		cout<<"Year "<<i+1<<": "<<sumperyear[i]<<endl;
	cout<<"Total counts: "<<totalofyear<<endl; 
	return 0;
}

第七题:

#include <iostream>
#include <string>
using namespace std;
int main()
{
	struct car
	{
		string name;
		int year;
	};
	int number;
	cout<<"How many cars do you wish to catalog? ";
	cin>>number;
	car *p=new car[number];
	int i;
	for(i=0;i<number;i++)
	{
		cout<<"Car #"<<i+1<<":"<<endl;
		cout<<"Please enter the mark: ";
		cin.get();//跨过换行符读取下一个字符 
		getline(cin,p[i].name);
		cout<<"Please enter the year made: ";
		cin>>p[i].year;
	
	}
	for(i=0;i<number;i++)
		cout<<p[i].year<<" "<<p[i].name<<endl;
	delete [] p;
	return 0;
}

第八题:

#include <iostream>
#include <cstring>
using namespace std;
int main()
{
	cout<<"Enter words (to stop type the word done):"<<endl;
	char str[10];
	int count=0;
	do
	{
	   cin>>str;
	   count++;
	}
	while(strcmp(str,"done")!=0);
	cout<<"You entered a total of "<<count-1<<" words.";
	return 0;
}

第九题:

#include <iostream>
#include <string>
using namespace std;
int main()
{
	cout<<"Enter words (to stop type the word done):"<<endl;
	string str;
	int count=0;
	do
	{
		cin>>str;
		count++;
	}
	while(str!="done");
	cout<<"You entered a total of "<<count-1<<" words.";
	return 0;
}

第十题:

#include <iostream>
using namespace std;
int main()
{
	cout<<"Enter number of row: ";
	int number;
	cin>>number;
	char str[number];
	int i,j;
	for(i=0;i<number;i++)
	{
		str[i]='.';
	}
	for(i=0;i<number;i++)
	{
		j=i+1;
		str[number-j]='*';
		for(j=0;j<number;j++)
			cout<<str[j];
		cout<<endl;
	}
	return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值