《C Primer Plus》练习题2-12



以下为我做的《C Primer Plus》练习题2-12      

      1.编写一个程序,调用printf()函数在一行上输出您的名和姓,再调用一次printf()函数在两个单独的行上输出您的名和姓,然后调用一对printf()函数在一行上输出您的名和姓,输出应如下所示(当然里面要换成您的姓名):


Anton Bruckner         第一个输出语句

Anton                          第二个输出语句

Bruckner                    仍然是第二个输出语句

Anton Bruckner         第三个和第四个输出语句

解答如下:

C++代码
  1. #include <stdio.h>/*下面getchar函数将会调用*/    
  2. int main(void)    
  3. {         
  4. printf("Wilson Deng\n");//第一个输出语句        
  5. printf("Wilson\nDeng\n");//第二个输出语句        
  6. printf("Wilson");//第三个输出语句        
  7. printf(" Deng\n");//第四个输出语句        
  8. getchar();         
  9. return 0;    
  10. }  


2.编写一个程序输出你的姓名和地址。

解答如下:

C++代码
  1. #include <stdio.h>              /*下面getchar函数将会调用*/   
  2. int main(void)   
  3. {   
  4. printf("Name:Wilson Deng.\n");            //输出姓名并且换行   
  5. printf("Add:China HuBei XiangFan.\n");     //输出地址也换行   
  6. getchar();                          //调试的时候用于暂停   
  7. return 0;                           //结束程序返回0   
  8. }  


3.编写一个程序,把你的年龄转换成天数并显示二者的值。不用考虑平年和闰年问题。

解答:

C++代码
  1. #include <stdio.h>/*和下面getchar配合使用*/   
  2. int main(void)//函数声明   
  3. {   
  4.     int age,days,year;//定义变量   
  5.     age=25;           // 将年龄值赋给变量age   
  6.     year=365;         //将一年的天数赋给变量year   
  7.     days=year*age;    //将定义的天数与年龄进行运算赋值给days   
  8.  
  9.     printf("%d岁等于%d天\n",age,days);/*输出年龄并且回车输出换算成天数的值回车*/   
  10.     getchar();   
  11.     return 0;   
  12. }  

4.编写一个能够产生下面输出的程序:

For he's a jolly good fellow!

For he's a jolly good fellow!

For he's a jolly good fellow!

Which nobody can deny!

程序中除了main()函数之外,要使用两个用户定义的函数:一个用于把上面的夸奖消息输出一次;另一个用于把最后一行输出一次。

解答如下:

C++代码
  1. #include <stdio.h>/*下面getchar函数将会调用*/   
  2. void message1(void);/*声明C函数原型一*/  
  3. void message2(void);/*声明C函数原型二*/  
  4.   
  5. int main(void)//函数声明   
  6. {   
  7.     message1();/*调用第一个自定义函数*/  
  8.     message1();/*调用第一个自定义函数*/  
  9.     message1();/*调用第一个自定义函数*/  
  10.     message2();/*调用第二个自定义函数*/  
  11.     getchar();   
  12.     return 0;   
  13. }   
  14.   
  15. void message1(void)/*定义第一个函数原型*/  
  16. {   
  17.     printf("For he's a jolly good fellow!\n");/*调用输出函数输出第一句话后换行*/  
  18. }   
  19. void message2(void)/*定义第二个函数原型*/  
  20. {   
  21.     printf("Which nobody can deny!\n");/*调用输出函数输出最后一句话后换行*/  
  22. }  


5.编写一个程序,创建一个名为toes的整型变量。让程序把toes设置为10。再让程序计算两个toes的和以及toes的平方,程序应该输出所有的3个值,并分别标识它们。

解答如下:

C++代码
  1. #include <stdio.h>/*下面getchar函数将会调用*/   
  2. int main(void)//函数声明   
  3. {   
  4.     int toes;//定义toes为整型变量   
  5.     toes=10;//toes赋值10   
  6.   
  7.     printf("toes=%d\n",toes);//输出toes的值   
  8.     printf("两个toes的和=%d\n",2*toes);//输出两个toes的和   
  9.     printf("toes的平方=%d\n",toes*toes);//输出toes的平方   
  10.   
  11.     getchar();//调试的时候用于暂停   
  12.     return 0;//结束程序返回系统    
  13. }  


6.编写一个能够产生下列输出的程序:

Smile!Smile!Smile!

Smile!Smile!

Smile!

在程序中定义一个能够显示字符串Smile!一次的函数,并在需要时使用该函数。

解答如下:

C++代码
  1. #include <stdio.h>/*下面getchar函数将会调用*/   
  2. void funone(void);/*声明函数funone*/  
  3. int main(void)//函数声明   
  4. {   
  5.     funone();         /*输出第一行显示字符*/  
  6.     funone();   
  7.     printf("Smile!\n");   
  8.   
  9.     funone();         /*输出第二行显示字符*/  
  10.     printf("Smile!\n");   
  11.   
  12.     funone();         /*输出第三行显示字符,光标在这行最后*/  
  13.   
  14.     getchar();   
  15.     return 0;   
  16. }   
  17. void funone(void)/*自定义函数funone原型*/  
  18. {   
  19.     printf("Smile!");/*调用输出函数输出字符*/  
  20. }  


      7. 编写一个程序,程序中要调用名为one_three()的函数。该函数要在一行中显示单词"one",再调用two()函数,然后再在另一行中显示单词"three"。函数two()应该能在一行中显示单词"two"。main()函数应该在调用one_three()函数之前显示短语"starting now:",函数调用之后要显示"done!"。这样,最后的输出结果应如下所示:

---------------------
starting now:
one
two
three
done!

----------------------

解答如下:

C++代码
  1. #include <stdio.h>/*下面getchar函数将会调用*/   
  2. void one_three(void);/*声明函数one_three*/  
  3. void two(void);/*声明函数two*/  
  4. int main(void)  //函数声明   
  5. {   
  6.     printf("Starting Now!\n");/*输出第一行显示字符*/  
  7.     one_three();              /*输出第二三四行显示字符*/  
  8.     printf("Done\n");         /*输出第五行显示字符回车*/  
  9.        
  10.     getchar();   
  11.     return 0;   
  12. }   
  13. void one_three(void)         /*自定义函数one_three原型*/  
  14. {   
  15.     printf("One\n");         /*调用输出函数输出字符*/  
  16.     two();                   /*调用two函数输出字符two回车*/  
  17.     printf("Three\n");   
  18. }   
  19. void two(void)               /*自定义函数two原型*/  
  20. {   
  21.     printf("Two\n");         /*调用输出函数输出字符*/  
  22. }  

over



« 上一篇 | 下一篇 »

本文因为某种原因此时不允许访客进行评论