C大学教程习题解答(第七版).docx

上传人:scccc 文档编号:11146893 上传时间:2021-07-05 格式:DOCX 页数:36 大小:51.03KB
返回 下载 相关 举报
C大学教程习题解答(第七版).docx_第1页
第1页 / 共36页
C大学教程习题解答(第七版).docx_第2页
第2页 / 共36页
C大学教程习题解答(第七版).docx_第3页
第3页 / 共36页
C大学教程习题解答(第七版).docx_第4页
第4页 / 共36页
C大学教程习题解答(第七版).docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《C大学教程习题解答(第七版).docx》由会员分享,可在线阅读,更多相关《C大学教程习题解答(第七版).docx(36页珍藏版)》请在三一文库上搜索。

1、第六章 函数和递归入门6.12 #include#include#includeusing namespace std; double calculateCharges( double hours );int main( ) double hours1, hours2, hours3;cout hours1 hours2 hours3;cout fixed setprecision( 2 );cout Car setw( 20 ) Hours setw( 20 ) Charge endl;cout 1 setw( 20 ) hours1 setw( 20 ) calculateCharges(

2、 hours1 )endl;cout 2 setw( 20 ) hours2 setw( 20 ) calculateCharges( hours2 )endl;cout 3 setw( 20 ) hours3 setw( 20 ) calculateCharges( hours3 )endl;cout TOTAL setw( 16 ) hours1 + hours2 + hours3 setw( 20 ) calculateCharges( hours1 ) + calculateCharges( hours2 ) + calculateCharges( hours3 ) 0 ) & ( h

3、ours 3 )& ( hours = 19 ) )return 2.00+ceil( hours - 3 )*0.5;elsereturn 10;6.14#include#include#includeusing namespace std; double roundToInteger( double );double roundToTenths( double );double roundToHundredths( double );double roundToThousandths( double );int main( ) double x;cout x;cout roundToInt

4、eger : roundToInteger( x ) endl;cout roundToTenths : roundToTenths( x ) endl;cout roundToHundredths : roundToHundredths( x ) endl;cout roundToThousandths : roundToThousandths( x ) endl;double roundToInteger( double number )return floor( number + .5 ) ;double roundToTenths( double number )return floo

5、r( number*10 + .5 ) / 10;double roundToHundredths( double number )return floor( number*100 + .5 ) / 100;double roundToThousandths( double number )return floor( number*1000 + .5 ) / 1000;6.16#include#include#include#includeusing namespace std; int main( ) srand( time( 0 ) );int x;x= 1 + rand( ) % 1;c

6、outx = x endl;x= 1 + rand( ) % 100;coutx= x endl;x= 0 + rand( ) % 9;coutx= x endl;x= 1000 + rand( ) % 112;coutx= x endl;x= -1 + rand( ) % 2;coutx= x endl;x= -3 + rand( ) % 15;coutx= x endl;6.17#include#include#include#includeusing namespace std; int main()int array1 = 2, 4, 6, 8, 10 ;int array2 = 3,

7、 5, 7, 9, 11 ;int array3 = 6, 10, 14, 18, 22 ;srand( time( 0 ) );for (int i = 0; i 3; i+)cout 第 i+1 次?随?机结果?: endl;coutt第一?组数y据Y中D的?随?机数y:array1rand() % 5endl;coutt第二t组数y据Y中D的?随?机数y:array2rand() % 5endl;coutt第三y组数y据Y中D的?随?机数y:array3rand() % 5endl;coutendlendl;return(0);6.18#includeusing namespace st

8、d;int integerPower( int, int );int main()int x,y;cout x;cout y;cout integerPower( x , y ) = integerPower( x ,y );int integerPower( int base, int exponent )int value1 = 1;for( int counter = 1;counter = exponent ; counter+ )value1 *= base;return value1;6.19#include#include#includeusing namespace std;d

9、ouble hypotenuse( double, double );int main()double x,y;cout x;cout y;cout hypotenuse = fixed setprecision(2)hypotenuse( x ,y );double hypotenuse( double side1, double side2 )return sqrt( pow( side1 ,2 ) + pow( side2 ,2 ) );6.20#include#includeusing namespace std;bool multiple( double, double );int

10、main( )int x,y;cout x y;coutboolalphamultiple( x, y )endl;/if( multiple( x,y )=1 )/cout truen ;/else/cout falsen ;goto loop;bool multiple( double number1, double number2 )if( ceil( number2 / number1 ) = floor( number2 / number1 )return true;elsereturn false;6.21#include#includeusing namespace std;bo

11、ol iseven( int );int main( )int x;cout x ;coutboolalphaiseven( x )endl;/if( multiple( x,y )=1 )/cout truen ;/else/cout falsen ;bool iseven( int number)if( number % 2 =0 )return true;elsereturn false;6.22#includeusing namespace std;void printSar( int );int main( )int x;cout x ; printSar( x );return 0

12、;void printSar( int number)for( int counter1 = 1;counter1 = number; counter1 + )for( int counter = 1; counter = number ;counter+ )cout*; coutendl;6.23#includeusing namespace std;void printSar( int,char );char fillCharacter( char );int main( )int x;char c;cout x ;cin c; printSar( x,c );return 0;void

13、printSar( int number,char character )for( int counter1 = 1;counter1 = number; counter1 + )for( int counter = 1; counter = number ;counter+ )coutfillCharacter( character ); coutendl;char fillCharacter( char Character )return Character;6.24#includeusing namespace std;int Divide( int,int );int Remainde

14、r( int, int );int NumberOrder( int );int main( )int x,y;short z;cout x ;cin y;cin z; cout The result of divide : Divide( x,y ) endl;cout n The Remainder of divide : Remainder( x,y )endl;cout the number of z s order is :;NumberOrder( z );int Divide( int number1,int number2 )return number1 / number2 ;

15、int Remainder( int number1,int number2 )return number1 % number2 ;int NumberOrder( int number3 )for ( int counter = 1,mode=1;counter = 1,mode1 = mode1 / 10;counter1- )cout Divide( number3 ,mode1 );number3 = Remainder( number3 ,mode1 );coutendl;return 0;6.25#include #includeusing namespace std;double

16、 TimeFunction(int,int,int);int main()int H_1, M_1,S_1;int H_2, M_2,S_2;char Colon1,Colon2;cout H_1 Colon1 M_1 Colon2 S_1;cout The seconds from the last clock struck 12 oclock is: TimeFunction( H_1, M_1,S_1 ) endl;cout H_2 Colon1 M_2 Colon2 S_2;cout The seconds from the last clock struck 12 oclock is

17、: TimeFunction( H_2, M_2,S_2 ) endl;cout The number of seconds between two times are : fabs( TimeFunction( H_1, M_1,S_1 ) - TimeFunction( H_2, M_2,S_2 ) )endl;double TimeFunction(int Hours,int Minutes,int Seconds)return Hours *3600 + Minutes * 60 + Seconds ;6.26#include #includeusing namespace std;d

18、ouble Fahrenheit( int );double Celsius( int );int main()int DegreeFahrenheit; /华a氏?温?度int DegreeCelsius; /摄?氏?温?度cout fixed setprecision( 2 );cout DegreeFahrenheit ;cout Degree Celsius is : Celsius( DegreeFahrenheit )endl;cout DegreeCelsius ;cout Degree Fahrenheit is : Fahrenheit( DegreeCelsius )end

19、l;cout the table of DegreeCelsius-DegreeFahrenheit endl;for( int counter = 0 ,i = 1; counter = 100; counter+ )cout Fahrenheit( counter )t; if( i% 10 =0 ) cout endl; i+;cout n the table of DegreeFahrenheit-DegreeCelsius endl;for( int counter = 32 ,i = 1; counter = 212; counter+ )cout Celsius( counter

20、 )t; if( i% 10 =0 ) cout endl; i+;double Fahrenheit( int temperature )return temperature * 1.8 + 32;double Celsius( int temperature )return ( temperature - 32 ) / 1.8;6.27#include #includeusing namespace std;double min( double, double, double);int main()double x,y,z;cout x y z;cout the minimum numbe

21、r is min( x,y,z)endl;double min( double x, double y, double z )double T;T=x y? x : y ;return T z ?T:z;6.28#include #includeusing namespace std;int isperfect( int );int main()cout perfect numbers : endl;for( int counter = 1; counter = 1000; counter+ )if( isperfect( counter ) = counter )cout isperfect

22、( counter )setw( 10 );int isperfect( int number )int sum = 0;int counter1;for( counter1 = 1; counter1 number ; counter1+ )if ( number % counter1 = 0 )sum += counter1;return sum ;6.29#include #include#includeusing namespace std;bool isprime( int );int main()cout the numbers between 2 and 10 000 is: e

23、ndl;for( int counter1 = 2 , i=0;counter1 = 10000 ;counter1+ ) if( isprime( counter1 )=true )cout setw(5)counter1setw(5); i+;if ( i%10 =0 )coutendl;bool isprime( int number )if ( number = 1 ) return false;if ( number = 2 )return true;for ( int counter = 2 ; counter number ; counter+ )if ( number % co

24、unter = 0 )return false; return true;6.30#include #include#includeusing namespace std;void ReseredOrder( int );int main()int num;cout Input the number: num;ReseredOrder( num );void ReseredOrder( int number )docout number%10;number = number / 10;while( number !=0 );6.31#include #include#includeusing

25、namespace std;int gcd( int,int );int main()int x,y;cout Input two numbers: x y;gcd( x,y );cout GCD is gcd( x,y ) number1 )/ Mod = number1;/ number1 = number2;/ number2 = Mod; /do/Mod = number1 % number2;/number1 = number2;/ number2 = Mod;/while( Mod != 0 );/return number1;/int gcd(int number1, int n

26、umber2) if(number2 = 0) return number1; else return gcd(number2, number1%number2);6.32#include #include#includeusing namespace std;int qualityPoints( double );int main()double x;cout input the students grade : x ;cout the point is qualityPoints( x ) =90 )&( number =80 )&( number =70 )&( number =60 )

27、&( number 70 ) return 1;elsereturn 0;6.33#include #include#includeusing namespace std;void flip();int number1=0, number2=0;int main()cout Analog coin 100 times: endl;srand ( time(0) );for( int counter = 1;counter = 100; counter+ )flip();if( counter % 10 =0 )coutendl;cout n the face number is: number

28、1 endl;cout the back number is: number2 endl;void flip( )int face = 0 +rand( ) % 2;if( face =0 ) coutsetw(2)0; number1+;if( face =1 )coutsetw(2)1;number2+;6.3.4猜字游戏#include #include#includeusing namespace std;int main()int number;int guess;char answer; cout I have a number between 1 and 1000. endl C

29、an you guess my number?endl Please type your first guess. number;loop:while( number 1000 )cout number;while( (number = 0 )&( number =1000 ) )if( number = guess )cout Excellent ! You guessed the number! endl answer;if( answer=N |answer =n )break;if( answer=y |answer =Y )coutnumber;guess = 1+rand( ) %

30、1000;goto loop;if( number guess)cout number;if( number guess)cout number;6.35#include #include#includeusing namespace std;int main()int number;int guess;char answer;int i=0; cout I have a number between 1 and 1000. endl Can you guess my number?endl Please type your first guess. number;loop:while( nu

31、mber 1000 ) i=0;cout number;while( (number = 0 )&( number =1000 ) )if( number = guess )if( i 10 )cout Either you know the secret or you got luckyn;if( i= 10 )cout 10 )cout you should be abke to do better!n;cout Excellent ! You guessed the number! endl answer;if( answer=N |answer =n )break;if( answer=y |answer =Y )coutnumber;guess = 1+rand( ) %1000;goto loop;if( number guess)cout number;if( number guess)coutToo low,Try again: ;i+;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1