C.Primer.Plus(第六版)第五章编程练习

来源:互联网 发布:sprin 源码 编辑:程序博客网 时间:2024/05/17 02:24

C.Primer.Plus(第六版)第五章编程练习 windows+vc 6.0

#include<iostream>#include<string>using namespace std;int main(){   /*  //5.1 计算并输出两个之间所有数的和。    int num1,num2,sum=0;    cout<<"Please input two intergr number:";    cin>>num1>>num2;//假设先输入小的数    if(num1>num2)    {        int temp=num1;        num1=num2;        num2=temp;    }    for(;num1<=num2;num1++)    {        sum+=num1;      }    cout<<"the sum number is "<<sum<<endl;*/    //5.2 编译器不支持array模板类,未测试。/*    //5.3 计算输入的所有数字的和并实时输出,检测到0结束    int sum=0,int_enter;    cout<<"Please enter a interger number:";    cin>>int_enter;    while(int_enter!=0)    {        sum+=int_enter;        cout<<"the sum number is "<<sum<<endl;        cout<<"Please enter a interger number:";//提示再次输入        cin>>int_enter;//不能忽略,否则死循环。    }    cout<<"END,the total sum number is "<<sum<<endl;*//*  //5.4计算二者的投资情况    float daphne=100,cleo=100,benjin=100;    const float danli=0.1f;//忘记将int更改类型为float,结果一直死循环。(二者一直为100)    const float fuli=0.05f;    int year=0;    while(daphne>=cleo)    {        daphne+=danli*benjin;        cleo+=fuli*cleo;        year++;    }    cout<<year<<" years,cleo money more than daphne and cleo money is "<<cleo<<" daphne money is "<<daphne<<endl;*//*  //5.5 记录销售量    char* month[12]={"one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve"};//类型为char* ,存储的是字符串常量的地址。//  string month={"one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve"};    int number[12]={0},sum=0;    for(int i=0;i<12;i++)    {        cout<<"Please enter the "<<month[i]<<" month number :";        cin>>number[i];        sum+=number[i];    }    cout<<"The all year number is "<<sum<<endl;*//*  //5.6 记录3年的销售量                                                                                                           char* month[12]={"one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve"};//类型为char* ,存储的是字符串常量的地址。//  string month={"one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve"};    int number[3][12]={0},sum[3]={0};    for(int j=0;j<3;j++)    {        for(int i=0;i<12;i++)        {            cout<<"Please enter the "<<j+1<<" year "<<month[i]<<" month number :";            cin>>number[j][i];            sum[j]+=number[j][i];        }        cout<<"the "<<j+1<<" year number is "<<sum[j]<<endl;    }    cout<<"and the all year number is "<<sum[0]+sum[1]+sum[2]<<endl;    */  /*  //第五章5.7    struct car    {        char name[20];        int year;    };    cout<<"How many cars do you wish to catalog:";    int car_number;    cin>>car_number;    cin.get();    car* array = new car[car_number];//    for(int i=0;i<car_number;i++)    {           cout<<"Car #"<<i+1<<endl;        cout<<"Please enter the make:";        cin.getline((*(array+i)).name,20);        cout<<"Please enter the year made:";        cin>>(*(array+i)).year;        cin.get();//如果不消除的话,下次循环会检测到上面这个换行符。    }    cout<<"Here is your collection:"<<endl;    for(int j=0;j<car_number;j++)    {        cout<<(*(array+j)).year<<'\t'<<(*(array+j)).name<<endl;    }    delete array;//非常重要*//*  //5.8 读取单词,done为结束条件。    cout<<"Enter word(to stop,enter the word done):";    char name[20];    int count=0;    cin>>name;    while(strcmp(name,"done"))    {        cin>>name;        count++;    }    cout<<"You entered a total of "<<count<<" words"<<endl;*/  /*  //5.9 使用string对象实现5.8    cout<<"Enter word(to stop,enter the word done):";    string name;    int count=0;    cin>>name;    while(name!="done")    {        cin>>name;        count++;    }    cout<<"You entered a total of "<<count<<" words"<<endl;*//*  //5.10 嵌套循环输出图形    int number=0;    const int yihangyuansu=6;//一行元素的个数。    cout<<"Enter number of rows:";    cin>>number;    for(int i=0;i<number;i++)    {        for(int j=i+1;j<yihangyuansu;j++)        {            cout<<"."<<'\t';        }        for(int k=0;k<=i;k++)        {            cout<<"*"<<'\t';        }        cout<<endl;    }*/    return 0;}
0 0