钱能C++教材习题答案一

   /2005-05-08

 

钱能C++教材习题答案:第2章---第21章

所有代码在VC++6.0下调试通过

第二章

2.1:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
        int a1=0;/*0*/
        int b1='0';/*48*/
        int c1='/0';/*0*/
        char d1=0;/*空白*/
        char e1='0';/*单个字符0*/
        char f1='/0';/*空白*/
        cout <<a1<<"/n"<<b1<<"/n"<<c1<<"/n"<<d1<<"/n"<<e1<<"/n"<<f1<<"/n";
        cout<<"int:"<<sizeof(int)/*4*/<<"/n"<<"float:"<<sizeof(float)/*4*/<<"/n";
        cout<<"double:"<<sizeof(double)/*8*/<<"/n";
        enum COLOR{RED,BLUE=200,GREEN,WHITE};
        COLOR paint=GREEN;
        cout <<paint<<"/n";//201
        const double pi=3.141596;/*3.1416*/
                cout<<pi<<"/n";
        cout<<sizeof(unsigned int)<<"/n";//4
        cout<<sizeof(int)<<"/n";//4
        int c=42486;
        cout<<dec<<c<<"/n"//42486
                <<oct<<c<<"/n"//122766
                <<hex<<c<<"/n";//a5f6
        unsigned int a=4294967295;
        int b=-2;
        //cout<<dec<<b<<"/n";
                printf("a=%d,%u/n",a,a);//-1,4294967295
                printf("b=%d,%u/n",b,b);//-2,4294967294
}

2.2:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
const double pi=3.1415926;
long double a,b,area1,area2;
cout<<"float:"<<sizeof(float)<<"/n";//4
cout<<"double:"<<sizeof(double)<<"/n";//8
cout<<"long double:"<<sizeof(long double)<<"/n";//8
cin>>a>>b;
area1=pi*a*a;
area2=pi*b*b;
cout<<sizeof(area1)<<"/n";//8
cout<<sizeof(area2)<<"/n";//8
cout<<setw(13)<<pi<<setw(13)<<a<<setw(13)<<area1<<"/n";// 3.14159 1 3.14159
cout<<setw(13)<<pi<<setw(13)<<b<<setw(13)<<area2<<"/n";// 3.14159 2 12.5664               
}

2.3:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
const long double e=27182.81828;
cout<<setprecision(10)<<e<<"/n";//27182.81828
cout<<setprecision(8)<<setiosflags(ios::fixed)<<e<<"/n";//27182.81828000
cout<<setprecision(8)<<setiosflags(ios::scientific)<<e<<"/n";//27182.818
cout<<setprecision(9)<<setiosflags(ios::scientific)<<e<<"/n";//27182.8183
cout<<setprecision(10)<<setiosflags(ios::scientific)<<e<<"/n";//27182.81828
cout<<setprecision(11)<<setiosflags(ios::scientific)<<e<<"/n";//27182.81828
cout<<setprecision(6);       
}

2.4:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
const int a=500;
cout<<"/""<<"how many students here?"<<"/""<<"/n";
cout<<"/""<<a<<"/""<<"/n";
}

2.5:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
        cout<<setw(40)<<setiosflags(ios::left)<<"size of char"
                <<setiosflags(ios::right)<<sizeof(char)<<" byte"<<"/n";        //1
        cout<<setw(40)<<setiosflags(ios::left)<<"size of unsigned char"
                <<setiosflags(ios::right)<<sizeof(unsigned char)<<" byte"<<"/n"; //1
        cout<<setw(40)<<setiosflags(ios::left)<<"size of signed char"
                <<setiosflags(ios::right)<<sizeof(signed char)<<" byte"<<"/n"; //1
        cout<<setw(40)<<setiosflags(ios::left)<<"size of int"
                <<setiosflags(ios::right)<<sizeof(int)<<" byte"<<"/n"; //4
        cout<<setw(40)<<setiosflags(ios::left)<<"size of unsigned int"
                <<setiosflags(ios::right)<<sizeof(unsigned int)<<" byte"<<"/n"; //4
        cout<<setw(40)<<setiosflags(ios::left)<<"size of signed int"
                <<setiosflags(ios::right)<<sizeof(signed int)<<" byte"<<"/n"; //4
        cout<<setw(40)<<setiosflags(ios::left)<<"size of short int"
                <<setiosflags(ios::right)<<sizeof(short int)<<" byte"<<"/n"; //2
        cout<<setw(40)<<setiosflags(ios::left)<<"size of unsigned short int"
                <<setiosflags(ios::right)<<sizeof(signed short int)<<" byte"<<"/n"; //2
        cout<<setw(40)<<setiosflags(ios::left)<<"size of unsigned short int"
                <<setiosflags(ios::right)<<sizeof(signed short int)<<" byte"<<"/n"; //2
        cout<<setw(40)<<setiosflags(ios::left)<<"size of long int"
                <<setiosflags(ios::right)<<sizeof(long int)<<" byte"<<"/n"; //4
        cout<<setw(40)<<setiosflags(ios::left)<<"size of unsigned long int"
                <<setiosflags(ios::right)<<sizeof(signed long int)<<" byte"<<"/n"; //4
        cout<<setw(40)<<setiosflags(ios::left)<<"size of unsigned long int"
                <<setiosflags(ios::right)<<sizeof(signed long int)<<" byte"<<"/n"; //4

        cout<<setw(40)<<setiosflags(ios::left)<<"size of float"
                <<setiosflags(ios::right)<<sizeof(float)<<" byte"<<"/n"; //4
        cout<<setw(40)<<setiosflags(ios::left)<<"size of double"
                <<setiosflags(ios::right)<<sizeof(double)<<" byte"<<"/n"; //8
        cout<<setw(40)<<setiosflags(ios::left)<<"size of long double"
                <<setiosflags(ios::right)<<sizeof(long double)<<" byte"<<"/n";        //8

}

2.6:
# include <math.h>//数学函数
# include <iostream.h>//cout/cin
# include <iomanip.h>//cout和cin的控制符
# include <stdio.h>//printf、scanf的库
void main(){
        float a,b,c,s;
        double area;//定义5个浮点数
        printf("please input 3 side of one triangle:/n";
        scanf("%f,%f,%f",&a,&b,&c);//输入a,b,c
        s=(a+b+c)/2;//求周长
        area=sqrt(s*(s-a)*(s-b)*(s-c));//求面积
        printf("a=%7.2f,b=%7.2f,c=%7.2f/n",a,b,c);//6.00,6.00,8.00
        printf("area of trangle is %10.5f",area);//17.88854
}
用cout和cin改写为:
# include <math.h>//数学函数
# include <iostream.h>//cout/cin
# include <iomanip.h>//cout和cin的控制符
# include <stdio.h>//printf、scanf的库
double darea(float,float,float);
void main(){
        float a,b,c;
        double area;
        cout<<"please input 3 side of one triangle:/n";
        cin>>a>>b>>c;
        area=darea(a,b,c);
        cout<<setw(7)<<setiosflags(ios::fixed)<<setprecision(2)<<"a="<<a;
        cout<<setw(7)<<setiosflags(ios::fixed)<<setprecision(2)<<"b="<<b;
        cout<<setw(7)<<setiosflags(ios::fixed)<<setprecision(2)<<"c="<<c<<"/n";
        cout<<"area of trangle is"<<setw(10)<<setiosflags(ios::fixed)<<setprecision(5)<<area<<"/n";
}
double darea(float x,float y,float z)
{
        float s;
        double areas;
        s=(x+y+z)/2;
        areas=sqrt(s*(s-x)*(s-y)*(s-z));
        return areas;
}

改写为:
# include <math.h>//数学函数
# include <iostream.h>//cout/cin
# include <iomanip.h>//cout和cin的控制符
# include <stdio.h>//printf、scanf的库
double darea(float,float,float);
void main(){

        float a,b,c;
        double area;
        printf("please input 3 side of one triangle:/n";
        scanf("%f,%f,%f",&a,&b,&c);
        area=darea(a,b,c);
        printf("a=%7.2f,b=%7.2f,c=%7.2f/n",a,b,c);
        printf("area of trangle is %10.5f",area);
}
double darea(float x,float y,float z)
{
        float s;
        double areas;
        s=(x+y+z)/2;
        areas=sqrt(s*(s-x)*(s-y)*(s-z));
        return areas;
}

2.7:
In main():
Enter two numbers:
_ _
Calling add():
In add(),received _ and _
and return _
Back in main():
c was set to _
Enter...

2.8:
# include <math.h>//数学函数
# include <iostream.h>//cout/cin
# include <iomanip.h>//cout和cin的控制符
# include <stdio.h>//printf、scanf的库
    double vers(float,float);
        const double pi=3.1415926;
void main(){
        float a,b;
        double ver;
        cout<<"please input banjing and gao of one yuanzhu:/n";
        cin>>a>>b;
        ver=vers(a,b);
        cout<<setw(20)<<setiosflags(ios::fixed)<<setprecision(8)<<"a="<<a;
        cout<<setw(20)<<setiosflags(ios::fixed)<<setprecision(8)<<"b="<<b<<"/n";
        cout<<"ver of yuanzhu is"<<setw(30)<<setiosflags(ios::fixed)<<setprecision(8)<<ver<<"/n";
}
double vers(float x,float y)
{
        double ver;
        ver=pi*x*x*y;
        return ver;
}

3.1:
sqrt(pow(sin(x),2.5));
1/2*(a1*x+(a1+x)/4*a1);
pow(c1,pow(x,2))/sqrt(2*pi);

3.2:
13.70;
2.5;
9;

3.3:
(1)
a1=1        a2=1
(2)
1,1
(3)
2,0,0
(4)
20

3.4:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
    int x,y;
        cout<<"please a int:"<<endl;
        cin>>x;
        if (x<=10 && x>2)/*注意括号的使用*/
                y=x*(x+2);
        if (x>-1 && x<=2)
                y=2*x;
        if (x<=-1)
                y=x-1;
        cout<<"x:"<<x<<"y:"<<y<<"/n";
}

3.5:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
    int x;
    cout<<"please a int:"<<endl;
    cin>>x;
        if (x % 3==0)  /*注意“==”和“=”的不同*/
                  if (x % 5==0)
                        if (x % 7==0)
                                cout<<"x may div by 3,5,7"<<endl;
                        else
                                cout<<"x may div by 3,5"<<endl;
                else
                        if (x%7==0)
                                cout<<"x may div by 3,7"<<endl;
                        else
                                cout<<"x may div by 3"<<endl;
        else
                if (x%5==0)
                        if (x%7==0)
                                cout<<"x may div by 5,7"<<endl;
                        else
                                cout<<"x may div by 5"<<endl;
                else
                        if (x%7==0)
                                cout<<"x may div by 7"<<endl;
                        else
                                cout<<"x can not div by 3,5,7"<<endl;
}


3.6:
# include <math.h>
# include <iostream.h>
# include <iomanip.h>
# include <stdio.h>
void main(){
    int x;
        cout<<"please a int:"<<endl;
        cin>>x;
        if (x>100 || x<0 )
                cout<<"inputed x is wrong"<<endl;
        if (x>=90 && x<=100)
                cout<<"A"<<endl;
        if (x<90 && x>=80)
                cout<<"B"<<endl;
        if (x<80 && x>=70)
                cout<<"C"<<endl;
        if (x<70 && x>=60)
                cout<<"D"<<endl;
        if (x<60 && x>0)
                cout<<"E"<<endl;
}

濠电偞鍨堕幐鎾磻閹剧粯鐓涘鑸得悘鐘绘煏閸繄鍩i柟宕囧█瀹曟粍鎷呴崷顓熸闂傚倷娴囧Λ鍕暦椤掆偓椤繈濡搁埡浣虹厬濡炪倖鐗楅悷銈囪姳閺夊簱妲堥柡鍐e亾婵犮垺锕㈠畷鍝勭暆閸曨剙娈岄梺鍛婂姦娴滅偤宕洪垾鏂ユ闁规儳鐡ㄧ亸顐ょ磼濡ゅ啫鏋旈柟椋庡█楠炴垿骞囬鍝勪航闂備礁鎼崐褰掓偡鏉堚晜顫曢柨鐕傛嫹
2濠电偞鍨堕幐绋棵洪妸鈺嬬稏闁圭儤顨嗛崵鈧梺鍛婂姦娴滅偤宕洪敓鐘崇厽闁靛繈鍊栧☉褔鏌i埄鍐噭缂佸锕弫鍌炴嚃閳哄喚妲卞┑鈽嗗亞婢ф鏁嬬紓浣靛姂娴滆埖淇婄€涙ɑ濯寸紒娑橆儐缂嶅﹥淇婇銈咁暭闁割煈鍨堕崺鈧い鎴f硶椤︼箓鏌涘▎蹇曠缂侀缚妫勮灃闁告洦鍘归崑鎺楁⒑閸濆嫬鈧綊鎮锋潏鈺傤潟婵ǹ娉涢惌妤€鈹戦悩鎻掆偓鎼佸锤婵犲喚娈介柣鎰▕閸ょ喐绻濋埀顒勫焺閸愯法鐭楀┑顔筋殔閻楀繒绮堟径瀣闁瑰濮甸弳鈺傜箾鐠囇勫547闂備礁婀遍。浠嬪磻閹剧粯鈷掗柛鏇楁櫅閻忣亪鏌eΔ瀣4濠电偞鍨堕幐绋棵洪敐鍥╃闁瑰鍋熼埢鏃€銇勮箛鎾寸闁稿鎹囧畷姗€顢旈崱妤冨幐闂備礁鍚嬪姗€宕銏㈡殾闁靛濡囬埢鏃堟煙閹规劕鐨洪柣鐔锋贡缁辨帗寰勭€n亞浠煎┑鐐跺紦閸楄櫕淇婄€涙ɑ濯撮悷娆欑到娴滈箖鏌涢幇鍏哥敖闁糕晪绻濋弻娑滅疀閿濆懎顫╅梺鍛婄懕缁辨洟骞忛悩璇茬闁告侗鍨抽ˇ鈺呮⒑鐞涒€充壕闂佸湱枪缁ㄨ偐绮径鎰厾闁哄嫬绻掔花鎸庛亜閺囨ê鐏茬€殿噮鍋婂璺衡枎閹兾ら梻浣瑰缁嬫垿藝椤撱垹鐒垫い鎺戯攻鐎氾拷40缂傚倷绀侀ˇ顖滅矓瀹曞洨绠旈柟鎯ь嚟閳绘梹鎱ㄥ鈧涵鎼佸极鐎n亶鐔嗛悹鍥b偓鍏呭缂備浇椴搁悷鈺呭蓟瀹€鍕闁挎繂娲犻崑鎾绘惞鐟欏嫬鍘归梺鍝勬川閸庢垹妲愬⿰鍫熺厪闁糕剝娲栫花绫匒闂備線娼уΛ鏃傜矆娴h鐟拔旈崨顔规寖闂佸憡渚楅崢钘夆枍瀹€鍕厱闁哄啯鎸剧壕鎸庛亜閵忥紕顣茬紒鏃傚枛椤㈡洟鎮╅顫婵炶揪缍€椤鎮¢埀顒勬⒒閸屾艾鈧粙顢欐繝鍕潟闁割偅娲栫粻缁樸亜閹捐泛顎岄柡浣割儏椤法鎷犻垾鍏呯按闂侀€炲苯鍘搁柤鍐茬埣婵$敻鎮欓弶鎴殼濠殿喗锕╅崗娑氭閿濆悿褰掓晲閸℃瑧鐓傚銈冨灪绾板秶绮╅悢纰辨晝闁靛牆娲﹂幆锝夋⒑閹稿海鈽夋い锔诲弮閸┾偓妞ゆ帒锕ョ€氾拷28缂傚倷绶¢崑澶愵敋瑜旈獮鍐箻閸撲線鈹忔繝銏f硾楗挳宕濋崨瀛樼厱闁哄啠鍋撶紒瀣崌瀵偊鎮介崹顐㈠幑闂佸搫娲﹀銊╂偡閳轰讲妲堥柟鐐綑閹兼悂鏌嶈閸撱劑骞忛敓锟�1130缂傚倷绀侀ˇ顖滅矓閸撲礁鍨濋柨鐔哄Т缁€鍌炴煕濞戞﹫鏀绘繛鍫濈焸閺屸剝寰勭€n亜顫囬梺閫炲苯澧鹃柟鍑ゆ嫹

相关话题/

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
闂備礁缍婂ḿ褔顢栭崱妞绘敠闁逞屽墴閻擃偊宕剁捄杞板枈闂侀€炲苯澧伴柛鐘查叄瀹曘垽濡堕崶銊ヮ伕闁荤喐鐟ョ€氼參寮抽崼銉︾厱闁归偊鍓欓〃娆戠磼閸欐ê宓嗙€规洏鍔戦弫鎾绘晸閿燂拷闂備焦瀵х粙鎴︽儔婵傚憡鍋熸繛鎴欏灩绾偓闁诲骸婀辨慨瀵哥不椤栫偞鐓曟繛鍡樺姉婢ь剚绻濋埀顒勫箥椤旀儳宕ュ┑鐐叉鐢偤濡堕锔界厸闁稿本绋撻幊鍡欐偖濞嗘挻鐓曟俊顖欒閸庢垹绱撻崒姘兼Ш闁逞屽墴濞佳兾涘☉銏″亯婵犲﹤鐗婇弲顒勬煥閻曞倹瀚�