C++Primer习题

//1.9
#include<iostream>
using namespace std;
int main()
{
	int val = 50,sum = 0;
	while (val <= 100)
	{
		sum += val;
		val++;
	}
	cout << "50+51+..+100=" << sum << endl;
}
//1.10
#include<iostream>
using namespace std;
int main()
{
	int i = 10;
	while (i>=0)
	{
		cout << i << endl;
		i--;
	}
}
//1.11
#include<iostream>
using namespace std;
int main()
{
	int val1,val2;
	cin >> val1 >> val2;
	if (val1 < val2)
	{
		while (val1 <= val2)
		{
			cout << val1<< endl;
			val1++;
		}
	}
	else
	{
		while (val1 >= val2)
		{
			cout << val1 << endl;
			val1--;
		}
	}
}
//1.12
#include<iostream>
using namespace std;
int main()
{
	int i = 10;
	while (i>=0)
	{
		cout << i << endl;
		i--;
	}
}
//1.13.1
#include<iostream>
using namespace std;
int main()
{
	int i,sum = 0;
	for (i = 50;i <= 100;i++)
	{
		sum += i;
	}
	cout << sum << endl;
}
//1.13.2
#include<iostream>
using namespace std;
int main()
{
	int i;
	for (i = 10;i >= 0;i--)
	{
		cout << i << endl;
	}
	
}
//1.13.3
#include<iostream>
using namespace std;
int main()
{
	int val1,val2,i;
	cin >> val1 >> val2;
	if (val1 <= val2)
	{
		for (i = val1;i <= val2;i++)
		{
			cout << i << endl;
		}
	}
	else
	{
		for (i = val2;i <= val1;i++)
		{
			cout << i << endl;
		}
	}
}

1.14 for循环适应于循环次数已知的情况下,while循环适用于循环次数无法预知的情况。

//1.16
#include<iostream>
using namespace std;
int main()
{
	int i;
	int sum = 0;
	while (cin >> i)
	{
		sum += i;
	}
	cout << sum << endl;
}
//1.18
#include<iostream>
using namespace std;
int main()
{
	int cv, v;
	if (cin >> cv)
	{
		int count = 1;
		while (cin >> v)
		{
			if (cv == v)
				count++;
			else
			{
				cout << cv << "occurs" << count << "times" << endl;
				cv = v;
				count = 1;
			}
		}
		cout << cv << "occurs" << count << "times" << endl;
	}
	return 0;
}
//1.20
#include<iostream>
#include "test.h"
using namespace std;
int main()
{
	Sales_item book;
	cin >> book;
	cout << "ISBN、售出本数、总销售额以及平均售价\n" << book << endl;
}
//1.21
#include<iostream>
#include "test.h"
using namespace std;
int main()
{
	Sales_item s1,s2;
	cout << "输入s1,s2的ISBN、售出本数、平均售价"<<endl;
	cin >> s1>>s2;
	if (compareIsbn(s1, s2))
	{
		cout << "s1,s2的和: " << s1+s2 << endl;
	}
	else
	{
		cout << "ISBN不同" << endl;
	}

}
//1.22
/*这种情况是输入对象的ISBN必须相等*/
#include<iostream>
#include "test.h"
using namespace std;
int main()
{
	Sales_item s1,s2;
	if (cin >> s1)
	{
		while (cin >> s2)
		{
			if (compareIsbn(s1, s2))
			{
				s1 += s2;
			}
			else
			{
				cout << "ISBN diffrent" << endl;
				return -1;
			}
		}
		cout << "相同ISBN的销售记录之和" <<s1<< endl;
	}
	else
	{
		cout << "没有输入数据" << endl;
	}

}
//1.23,1.24 每条相同的ISBN要连在一起才正确
#include<iostream>
#include "test.h"
using namespace std;
int main()
{
	Sales_item s1,s2;
	int num = 1;
	cout << "请输入若干销售记录" << endl;
	if (cin >> s1)
	{
		while (cin >> s2)
		{
			if (compareIsbn(s1, s2))
			{
				num++;
			}
			else
			{
				cout << s1.isbn() << "共有" << num << "条销售记录" << endl;
				s1 = s2;
				num = 1;
			}
		}
			cout << s1.isbn() << "共有" << num << "条销售记录" << endl;
		
	}
	else
	{
		cout << "没有输入数据" << endl;
		return -1;
	}
	return 0;

}
//1.25
#include<iostream>
#include "test.h"
using namespace std;
int main()
{
	Sales_item s,t;
	cout << "请输入ISBN、数量、售价: " << endl;
	if (cin >> t)
	{
		while (cin >> s)
		{
			if (t.isbn()==s.isbn())
			{
				t += s;
			}
			else
			{
				cout << "相同ISBN书的和" << t << endl;
				t = s;
			}
		}
		cout << "相同ISBN书和" << t << endl;
		
	}
	else
	{
		cerr << "没有输入数据" << endl;
		return -1;
	}
	return 0;

}

猜你喜欢

转载自blog.csdn.net/qq_38619342/article/details/82821225