前六章已經(jīng)學(xué)過一次了交播,就只再寫一次習(xí)題涡贱。
1.1
int main() {
return 0;
}
1.2
int main() {
return -1;
}
1.3
int main() {
std::cout << "Hello world";
return 0;
}
1.4
int main() {
int i = 4, x = 5;
std::cout << "i+x=" << i + x;
std::cout << "i*x=" << i * x;
return 0;
}
1.5
int main() {
int i = 4, x = 5;
std::cout << "i+x=" << i + x << "i*x=" << i * x;
return 0;
}
1.6
不合法巧勤,因為輸出運算符間用分號隔開了,將分號去掉即可票顾。
1.7
嵌套注釋如下錯誤
1.8
第1础浮,2,4個合法
注:ctrl+k然后ctrl+c快速注釋
1.9
int main() {
int sum = 0;
int i = 50;
while (i<=100) {
sum += i;
i++;
}
std::cout << sum;
return 0;
}
1.10
int main() {
int i = 10;
while (i >= 0) {
std::cout << i << std::endl;
--i;
}
return 0;
}
1.11
int main() {
int v1, v2,v3= 0;
std::cout << "Enter two numbers"<<std::endl;
std::cin >> v1 >> v2;
if (v1 < v2) { v3 = v2;
v2 = v1;
v1 = v3;
}
while (v1 >= v2) {
std::cout << v1<<std::endl;
--v1;
}
return 0;
}
1.12
完成了-100到100的整數(shù)相加
sum=0
1.13
int main() {
int sum = 0;
int i = 50;
for(i=50;i<=100;i++){
sum+=i ;
}
std::cout << sum;
return 0;
}
int main() {
int i = 10;
for(i=10;i>=0;--i){
std::cout<<i;
}
int main() {
int v1, v2,v3= 0;
std::cout << "Enter two numbers"<<std::endl;
std::cin >> v1 >> v2;
if (v1 < v2) { v3 = v2;
v2 = v1;
v1 = v3;
}
for(;v1>=v2;--v1){
std::cout << v1<<std::endl;
}
return 0;
}
1.14 ??
for比較簡潔
while比較適用于循環(huán)次數(shù)不易預(yù)知的情況
在功能上是等價的奠骄,可以相互轉(zhuǎn)換豆同。
1.15
語法錯誤
類型錯誤
聲明錯誤(初始化)
1.16
int main() {
int v1= 0;
int v2 = 0;
while (std::cin >> v1) {
v2 += v1;
}
std::cout << v2;
return 0;
}
1.17 1.18
int main() {
int v1= 0;
int v2 = 0;
int cnt = 1;
if (std::cin >> v1) {
while (std::cin >> v2) {
if (v1 == v2) cnt++;
else { std::cout << v1 << "occurs" << cnt << "times"<<std::endl;
cnt = 1;
v1 = v2;
}
}std::cout << v1 << "occurs" << cnt << "times" << std::endl;
}
return 0;
}
都會輸出相應(yīng)的結(jié)果
1.19
原程序已經(jīng)考慮了這種情況
1.20
int main() {
Sales_item item;
while (std::cin >> item)
std::cout << item;
return 0;
}
1.21
int main()
{
? ? Sales_item item1,item2;
? ? while (std::cin>>item1>>item2)
? ? ? ? std::cout << item1+item2;
? ? return 0;
}
1.22
int main()
{
Sales_item item1,item2;
std::cin>>item1;
? ? while (std::cin>>item2)
item1+=item2;
std::cout<<item1;
? ? return 0;
}
1.23 1.24
int main() {
Sales_item item1, item2;
int v1 = 0;
int v2 = 0;
int cnt = 1;
if (std::cin >> item1) {
while (std::cin >> item2) {
if (item1.isbn() == item2.isbn()) cnt++;
else {
std::cout << item1.isbn() << "occurs" << cnt << "times" << std::endl;
cnt = 1;
item1.isbn() = item2.isbn();
}
}std::cout << item1.isbn() << "occurs" << cnt << "times" << std::endl;
}
return 0;
}
1.25
int main()
{
? Sales_item totalBook;//統(tǒng)計對象
? if(std::cin>>totalBook){//第一次讀取的值賦值給totalBook
? Sales_item? currBook;//當(dāng)前對象
? while(std::cin>>currBook)//從第二次開始,讀取的值賦給currBook
? {
? if(totalBook.isbn()==currBook.isbn())//上一次讀取的對象與當(dāng)前讀取的對象書本編號相等含鳞,就疊加
? {
? totalBook += currBook;
? }else{//否則就打印上次書本統(tǒng)計的結(jié)果诱告,接著又把當(dāng)前讀取的對象賦值給統(tǒng)計對象
? std::cout<<totalBook<<std::endl;
? totalBook = currBook;
? }
? }
? std::cout<<totalBook<<std::endl;//打印最后統(tǒng)計的值
? }else{
? std::cerr<<"no data!!!"<<std::endl;
? return -1;
? }
? return 0;
}