C++ Primer Plus Chapter5--循环和关系表达式

//1

#include <iostream>    
using namespace std;


int main()
{
	int number_1 = 0;
	int number_2 = 0;
	int SmallNumber = 0;
	int BigNumber = 0;
	int sum = 0;

	cout << "Enter two number:";
	cin >> number_1;
	cin >> number_2;


	if(number_1 > number_2) 
	{
		SmallNumber = number_2;
		BigNumber = number_1;
	}
	else
	{
		SmallNumber = number_1;
		BigNumber = number_2;
	}


	for (int i = SmallNumber;i <= BigNumber;i++)
	{
		sum = sum + i;
	}


	cout << "The sum of two numbers is: " << sum << endl;


	system("pause");

	return 0;

}
Enter two number:2 9
The sum of two numbers is: 44

//2(array对象、long double)

#include <iostream>  
#include <array>
using namespace std;

const int ArSize = 100;
int main()
{
	array<long double, ArSize+1> factorials;
	factorials[1] = factorials[0] = 1;
	for (int i = 2; i <= ArSize; i++)
	{
		factorials[i] = i * factorials[i-1];
	}
	for (int i = 0; i <= ArSize; i++)
	{
		cout << i << "! = " << factorials[i] << endl;
	}

	system("pause");
	return 0;

}
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3.6288e+006
11! = 3.99168e+007
12! = 4.79002e+008
13! = 6.22702e+009
14! = 8.71783e+010
15! = 1.30767e+012
16! = 2.09228e+013
17! = 3.55687e+014
18! = 6.40237e+015
19! = 1.21645e+017
20! = 2.4329e+018
21! = 5.10909e+019
22! = 1.124e+021
23! = 2.5852e+022
24! = 6.20448e+023
25! = 1.55112e+025
26! = 4.03291e+026
27! = 1.08889e+028
28! = 3.04888e+029
29! = 8.84176e+030
30! = 2.65253e+032
31! = 8.22284e+033
32! = 2.63131e+035
33! = 8.68332e+036
34! = 2.95233e+038
35! = 1.03331e+040
36! = 3.71993e+041
37! = 1.37638e+043
38! = 5.23023e+044
39! = 2.03979e+046
40! = 8.15915e+047
41! = 3.34525e+049
42! = 1.40501e+051
43! = 6.04153e+052
44! = 2.65827e+054
45! = 1.19622e+056
46! = 5.50262e+057
47! = 2.58623e+059
48! = 1.24139e+061
49! = 6.08282e+062
50! = 3.04141e+064
51! = 1.55112e+066
52! = 8.06582e+067
53! = 4.27488e+069
54! = 2.30844e+071
55! = 1.26964e+073
56! = 7.10999e+074
57! = 4.05269e+076
58! = 2.35056e+078
59! = 1.38683e+080
60! = 8.32099e+081
61! = 5.0758e+083
62! = 3.147e+085
63! = 1.98261e+087
64! = 1.26887e+089
65! = 8.24765e+090
66! = 5.44345e+092
67! = 3.64711e+094
68! = 2.48004e+096
69! = 1.71122e+098
70! = 1.19786e+100
71! = 8.50479e+101
72! = 6.12345e+103
73! = 4.47012e+105
74! = 3.30789e+107
75! = 2.48091e+109
76! = 1.88549e+111
77! = 1.45183e+113
78! = 1.13243e+115
79! = 8.94618e+116
80! = 7.15695e+118
81! = 5.79713e+120
82! = 4.75364e+122
83! = 3.94552e+124
84! = 3.31424e+126
85! = 2.8171e+128
86! = 2.42271e+130
87! = 2.10776e+132
88! = 1.85483e+134
89! = 1.6508e+136
90! = 1.48572e+138
91! = 1.352e+140
92! = 1.24384e+142
93! = 1.15677e+144
94! = 1.08737e+146
95! = 1.033e+148
96! = 9.91678e+149
97! = 9.61928e+151
98! = 9.42689e+153
99! = 9.33262e+155
100! = 9.33262e+157

//3(答案参考Jimmy)

编写一个要求用户输入数字的程序。每次输入后,程序都将报告到目前为止,所有输入的累计和。当用户输入0时,程序结束。

#include <iostream>  

using namespace std;

int main()
{
	int sum = 0;
	int num = 0;

	while (1)
	{
		cout << "Enter a number( 0 to exit): ";
		cin >> num;
		if (num == 0)
		{
			break;
		}
		sum += num;
		cout << "Until now, the sum of the number you inputed is " << sum << endl;
	}

	cout << "Done." << endl;
	system("pause");
	return 0;

}

//4

#include <iostream>  

using namespace std;

int main()
{
	double sum_D = 100;
	double sum_C = 100;
	int i = 0;

	while (sum_C <= sum_D)
	{
		sum_D = sum_D + 10;
		sum_C = sum_C + sum_C*0.05;
		i = i + 1;
	}

	cout << "After " << i << "years,Cleo have more money than Daphne. " << endl;
	cout << "Now,Cleo has " << sum_C << " dollars." << endl;
	cout << "Daphne has " << sum_D << " dollars." << endl;
	
	system("pause");
	return 0;

}
After 27years,Cleo have more money than Daphne.
Now,Cleo has 373.346 dollars.
Daphne has 370 dollars.

//5

#include <iostream>  

using namespace std;

const int Months = 12;

int main()
{
	int sale_number = 0;
	int sum = 0;
	const char * months[Months] =
	{
		"January",
		"February",
		"March",
		"April",
		"May",
		"June",
		"July",
		"August",
		"September",
		"October",
		"November",
		"December"
	};

	for (int month = 0;month < Months;month++)
	{
		cout << "Enter " << months[month] <<"'s sale number:";
		cin >> sale_number;
		sum = sum + sale_number;
	}
	
	cout << "The whole year sale " << sum << " books." << endl;
	system("pause");
	return 0;

}
Enter January's sale number:1
Enter February's sale number:2
Enter March's sale number:3
Enter April's sale number:4
Enter May's sale number:5
Enter June's sale number:6
Enter July's sale number:7
Enter August's sale number:8
Enter September's sale number:9
Enter October's sale number:10
Enter November's sale number:11
Enter December's sale number:12
The whole year sale 78 books.

//6

扫描二维码关注公众号,回复: 3091912 查看本文章
#include <iostream>  

using namespace std;

const int Months = 12;
const int Years = 3;

int main()
{
	int sum[Years] = {0};
	int sum_3year = 0;
	int iyear = 0;
	int imonth = 0;
	int books[Years][Months] = {0};
	const char * months[Months] =
	{
		"January",
		"February",
		"March",
		"April",
		"May",
		"June",
		"July",
		"August",
		"September",
		"October",
		"November",
		"December"
	};

	for (int iyear = 0;iyear < Years;iyear++)
	{
		for (int month = 0;month < Months;month++)
		{
			cout << "Enter in the " << iyear + 1 << " year's " << months[month] <<"'s sale number:";
			cin >> books[iyear][month]; 
			sum[iyear] = sum[iyear] + books[iyear][month];
		}
		cout << "The " << iyear + 1 << "year sale " << sum[iyear] << " books." << endl;


		sum_3year = sum_3year + sum[iyear];
	}
	cout << "Three years sale " << sum_3year << "books." << endl;


	system("pause");
	return 0;

}
Enter in the 1 year's January's sale number:1
Enter in the 1 year's February's sale number:1
Enter in the 1 year's March's sale number:1
Enter in the 1 year's April's sale number:1
Enter in the 1 year's May's sale number:1
Enter in the 1 year's June's sale number:1
Enter in the 1 year's July's sale number:1
Enter in the 1 year's August's sale number:1
Enter in the 1 year's September's sale number:1
Enter in the 1 year's October's sale number:1
Enter in the 1 year's November's sale number:1
Enter in the 1 year's December's sale number:1
The 1year sale 12 books.
Enter in the 2 year's January's sale number:1
Enter in the 2 year's February's sale number:1
Enter in the 2 year's March's sale number:1
Enter in the 2 year's April's sale number:1
Enter in the 2 year's May's sale number:1
Enter in the 2 year's June's sale number:1
Enter in the 2 year's July's sale number:1
Enter in the 2 year's August's sale number:1
Enter in the 2 year's September's sale number:1
Enter in the 2 year's October's sale number:1
Enter in the 2 year's November's sale number:1
Enter in the 2 year's December's sale number:1
The 2year sale 12 books.
Enter in the 3 year's January's sale number:1
Enter in the 3 year's February's sale number:1
Enter in the 3 year's March's sale number:1
Enter in the 3 year's April's sale number:1
Enter in the 3 year's May's sale number:1
Enter in the 3 year's June's sale number:1
Enter in the 3 year's July's sale number:1
Enter in the 3 year's August's sale number:1
Enter in the 3 year's September's sale number:1
Enter in the 3 year's October's sale number:1
Enter in the 3 year's November's sale number:1
Enter in the 3 year's December's sale number:1
The 3year sale 12 books.
Three years sale 36books.

//7

#include <iostream>  
#include <string>
using namespace std;

struct car 
{
	string name;
	int year;
};

int main()
{
	
	int number = 0;
	cout << "How many cars do you wish to catalog? ";
	cin >> number;
	cin.get();

	int car_number = 0;
	struct car * info = new struct car[number];
	for (int NO = 1;NO<=number;NO++)
	{
		car_number = NO;
		cout << "Car #" << car_number << endl;
		cout << "Please enter the make: ";
		getline(cin,info[NO-1].name);
	
		cout << "Please enter the year made: ";
		cin >> info[NO-1].year;
		cin.get();
	}

	cout << "Here is your collection:" << endl;
	for (int NO = 1;NO<=number;NO++)
	{
		cout << info[NO-1].year << " " << info[NO-1].name << endl;
	}

	
	system("pause");
	return 0;

}
How many cars do you wish to catalog? 2
Car #1
Please enter the make: Hudson Hornet
Please enter the year made: 1952
Car #2
Please enter the make: Kaiser
Please enter the year made: 1951
Here is your collection:
1952 Hudson Hornet
1951 Kaiser

注:

1. cin.get(name, ArSize) 不能连续使用两次,由于第一次调用后,换行符将留在输入队列中,因此第二次调用时看到的第一个字符便是换行符。因此,get( )认为已达行尾,而没有发现任何可读取得内容。

   解决方法

cin.get(name,ArSize);
cin.get( );
cin. get(dessert, ArSize);

2.

cin.getline(charr, 20);
getline(cin, str);

3. 结构数组

inflatable gifts[100];
cin >> gifts[0].name;
cout << gifts[99].price;

4. 使用new创建动态数组

int * psome = new int[10];
...
delete [] psome;

//8

#include <iostream>  
#include <cstring>
using namespace std;


int main()
{
	int name_number = 0;
	char input_word[128];
	cout << "Enter words (to stop, type the word done):" << endl;

	while (cin >> input_word)
	{
		if (strcmp(input_word,"done"))
		{
			name_number++;
		}
		else
			break;
	}

	cout << "You entered a total of " << name_number << "words." << endl;

	
	system("pause");
	return 0;

}
Enter words (to stop, type the word done):
anteater birthday category dumster
envy finagle geometry done for sure
You entered a total of 7words.

//9

#include <iostream> 
#include <string>

using namespace std;


int main()
{
	int name_number = 0;
	string  input_word;
	cout << "Enter words (to stop, type the word done):" << endl;

	while (cin >> input_word)
	{
		if (input_word != "done")
		{
			name_number++;
		}
		else
			break;
	}

	cout << "You entered a total of " << name_number << "words." << endl;

	
	system("pause");
	return 0;

}
Enter words (to stop, type the word done):
anteater birthday category dumster
envy finagle geometry done for sure
You entered a total of 7words.

//10(使用潜逃循环)

#include <iostream> 

using namespace std;


int main()
{
	int line_number = 0;
	cout << " Please enter the number of line:";
	cin >> line_number;

	for (int i = 1;i <= line_number;i++)
	{
		for (int j = i;j<line_number;j++)
		{
			cout <<". ";
		}

		for (int j = 0;j < i; j++)
		{
			cout << "* " ;
		}

		cout << endl;
	}

	system("pause");
	return 0;

}
 Please enter the number of line:5
. . . . *
. . . * *
. . * * *
. * * * *
* * * * *

猜你喜欢

转载自blog.csdn.net/Fiona_Deng/article/details/81358105