1.9
#include<iostream>
int main ()
{
int sum=0,val=50;
while(val<=100){
sum+=val;
++val;
}
std::cout<<sum;
return 0;
}
1.10
#include<iostream>
int main()
{
int reduce=0 ,val=10;
while(val>=0){
//reduce-=val; 减等于是reduce减val,
std::cout<<" "<<val<<std::endl; //reduce就没有用
--val;
}
return 0;
}
1.11
#include<iostream>
int main()
{
int start,end;
std::cin>>start>>end;
while(start<=end){ //不是大于
std::cout<<start<<std::endl;
start++;
}
return 0; //没有设置如果start大于end怎么办
}
1.12:最后为0
#include<iostream>
int main()
{
int sum=0;
for(int i=-100;i<=100;i++) //无分号结尾
sum+=i; //以;为结束
std::cout<<sum;
return 0;
}
1.13:3825
#include<iostream>
int main()
{
int sum=0;
for (int val=50;val<=100;val++) //sum是所有数的和,val是中间数中的起点
sum+=val;
std::cout<<sum;
return 0;
}
1.14
#include<iostream>
int main()
{
for(int a=10;a>=0;a--)
std::cout<<a<<std::endl;
return 0;
}
1.15
#include<iostream>
int main()
{
int start,end;
std::cin>>start>>end;
for(;start<=end;start++)
std::cout<<start<<std::endl;
return 0;
}
1.16
#include<iostream>
int main()
{
int sum=0,value=0;
while(std::cin>>value) //无花括号,只是能让用户不断的输入
sum+=value;
std::cout<<"sum is:"<<sum<<std::endl;
return 0; //输入完所有数字后,按ctrl+z,结束输入在按回车就可了
}
1.17:没有重复值会出现以第一个数值发生的总次数,全是重复值会正确输出
#include<iostream>
int main()
{
int currval=0,val=0;
if (std::cin>>currval){
int cnt=1;
while(std::cin>>val){
if(val=currval){
++cnt;
}
else{
std::cout<<currval<<" occurs"
<<cnt<<"times"<<std::endl;
currval=val;
cnt=1;
}
}
std::cout<<currval<<"occurs"
<<cnt<<"times"<<std::endl; //这个还不能放到里边的if循环中,否则会出错
}
return 0;
}
1.18:同上
1.19:
#include<iostream>
int main ()
{
int start,end;
std::cin>>start>>end;
if(start<=end){
for(;start<=end;++start)
std::cout<<std::endl<<start<<std::endl; //让界面不连着
}
else{
for(;start>=end;++end)
std::cout<<std::endl<<end<<std::endl; //让界面不连着
}
return 0;
}
1.20/1.21不做了,下边1.22都有
1.22:这里的注释的问题1.24解决了
#include<iostream>
#include"Sales_item.h"
//我这个只能识别两种isbn号,后期想一个能识别10种的isbn号
int main()
{
Sales_item item1,item2;
std::cin>>item1>>item2;
if(item1.isbn() ==item2.isbn()){
std::cout<<item1+item2<<std::endl;
}
else{ //else写在if循环体右花括号的下边更好看
std::cout<<item1<<std::endl;
std::cout<<item2<<std::endl;
}
return 0 ;
}
1.23不做了,1.24有
1.24
#include <iostream>
#include"Sales_item.h"
int main()
{
int cnt =0;
Sales_item item1,item2;
if(std::cin>>item1){
cnt=1;
while(std::cin>>item2){
if(item1.isbn() ==item2.isbn()){
++cnt;
}
else{
std::cout<<item1.isbn()<<" "<<cnt<<std::endl;
item1=item2; //让现在的item2等于item1,后来的数据为item2,这样就能循环读入
cnt=1; // 就跟一开始的item1保持一致,原来他的cnt也是1
}
}
std::cout<<item1.isbn()<<" "<<cnt<<std::endl;
}
return 0;
}
//最后运行时,少了一组数组,必须按control+z在敲回车才能出现,up主解释是数据还没有读进来
1.25:编译不成功,不知道哪错了
#include<iostream>
#include"Sales_item.h"
int main
{
Sales_item total; // 整合的相同的总数据
if (std::cin>>total){
Sales_item trans; // 定义一个变量
while(std::cin>>trans){
if(total.isbn()==trans.isbn() ){
total+=trans; // 相同数据合并
}
else{
std::cout<<total<<std::endl;
total=trans // 现在的total是trans的销售额,在输入的数据就变成了trans以实现循环
}
}
std::cout<<total<<std::endl; // while外边的语句
}
else{
std::cerr<<"没有数据!"<<std::endl;
return -1;
}
return 0;
}
第一章结束了