5.1 两整数之间的和
#include<iostream>
using namespace std;
int main(){
int i,j;
cin>>i>>j;
int sum = 0;
for (int k=i;k<=j;k++)
{
sum+=k;
}
cout<<"sum : "<<sum;
return 0;
}
5.3 以特定数字0为结尾的和
#include<iostream>
using namespace std;
int main(){
int i;
int sum = 0;
cin>>i;
while(i!=0)
{
sum +=i;
cout<<"到现在的和:"<<sum<<endl;
cin>>i;
}
return 0;
}
5.4 计算盈利
#include<iostream>
using namespace std;
int main(){
const int in = 100;
// int da=in,cl=in;
double da=in,cl=in;
int count = 0;
while(da>=cl)
{
count++;
da = da + in*0.1;
cl = cl*0.05+cl;
}
cout<<count<<"年后"<<endl;
cout<<"da : "<<da<<endl;
cout<<"cl : "<<cl<<endl;
return 0;
}
注意设置类型,应该为double而不是int。否则计算错误。
5.5 计算一年销售量
#include<iostream>
#include<string>
using namespace std;
int main(){
string month[12]={"一","二","三","四","五","六","七","八","九","十","十一","十二"};
int sale[12] = {0};
int sum = 0;
for(int i=0;i<12;i++){
cout<<month[i]<<" : ";
cin>>sale[i];
sum +=sale[i];
}
cout<<"一年总销售量"<<sum<<endl;
return 0;
}
5.6 计算三年销售量
#include<iostream>
#include<string>
using namespace std;
int main(){
string month[12]={"一","二","三","四","五","六","七","八","九","十","十一","十二"};
int sale[3][12] = {0};
int sum[3] = {0};
for(int j=0;j<3;j++){
for(int i=0;i<12;i++){
cout<<month[i]<<" : ";
cin>>sale[j][i];
sum[j] +=sale[j][i];
}
cout<<"第"<<sum[j]<<"年总销售量"<<sum[j]<<endl;
}
return 0;
}
5.7 汽车结构体
#include<iostream>
#include<string>
using namespace std;
struct car {
string make;
int year;
};
int main(){
cout<<" how many cars\n";
int num;
cin>>num;
car * c = new car[num];
for(int i=0;i<num;i++)
{
cout<<"Car"<<i<<": "<<endl;
cin.get();
cout<<"make: ";
getline(cin,c[i].make);
cout<<"year: ";
cin>>c[i].year;
}
for(int i=0;i<num;i++)
{
cout<<c[i].make<<" "<<c[i].year<<endl;
}
return 0;
}
5.8 用char数组读取单词个数
#include<iostream>
#include<cstring>
using namespace std;
int main(){
char word[100];
cout << "Enter words (to stop, type the word done):" << endl;
cin>>word;
int count = 0;
// cout<<"strcmp(wo,rd,done): "<<strcmp(word,"done")<<endl;
while(strcmp(word,"done")!=0)
{
if(bool(cin>>word)==true)
{
count++;
// cout<<"if里面的count: "<<count<<endl;
}
}
cout<<"总数: "<<count<<endl;
// cout<<word<<endl;
return 0;
}
这里的输入用cin来输入,不是cin.getline()
输入的单词是靠中间的空格来分隔的,所以每出现一个空格就会多一个单词,以此来计数。使用bool()函数,因为如果输入空格,bool()函数的值就是true,所以以此作为一个判据来计数。if(bool(cin>>word)==true)
5.9 用string读取单词个数
#include<iostream>
#include<string>
using namespace std;
int main(){
string w;
cin>>w;
cout<<"第一次输入完毕"<<endl;
int count = 0;
while(w!="done"){
if(bool(cin>>w)==true)
count++;
}
cout<<"总数: "<<count<<endl;
return 0;
}
注意:此题与上一题都是用cin>>word来读取字符串的输入,一个是字符数组,一个是string。
判断单词之间的空格是bool函数,如果cin的是空格,则函数返回true。bool(cin>>word)==true的时候就是空格。
5.10 嵌套循环显示星星*
#include<iostream>
using namespace std;
int main(){
int row;
cin>>row;
char a[row][row];
for(int i =0;i<row;i++){
for(int j =0;j<row;j++)
{
if(i>=row-j-1)
{
a[i][j]='*';
}
else
a[i][j]='.';
}
}
for(int i =0;i<row;i++){
for(int j =0;j<row;j++)
{
cout<<a[i][j];
}
cout<<endl;
}
return 0;
}