C Primer Plus 第五章 编程练习

简介: C Primer Plus 第五章 编程练习

第五章(编程练习)

5.1

/************************************************************************/
/***题    目:编写一个程序,把用分钟的时间转换用小时和分钟表示的时间。***/
/***          使用#define或者const创建一个表示60的符号常量或const变量 ***/
/***          通过while循环让用户重复输入值,直到用户输入小于或者等于0***/
/***          的值才停止循环。                                        ***/
/***完成时间:2020.2.2                                                ***/
/***作    者:林夕                                                    ***/
/************************************************************************/
#include<stdio.h>
#define VALUE 60
int main(void)
{
  int minute = 0,time = 0,hour=0;
  //minute-分 time-输入的值 hour-时
  printf("请输入需要转化分钟的时间(直到输入小于0的数字停止):\n");
  scanf_s("%d", &time,1);
  while (time > 0)
  {
    hour = time / VALUE;
    minute = time % VALUE;
    printf("%d的分钟可以转化为%d小时%d分钟\n", time, hour, minute);
    scanf_s("%d", &time, 1);
  }
  return 0;
}


运行结果

5.2

/**************************************************************************/
/***题    目:编写一个程序,提示用户输入一个整数,然后打印从该数到比该数***/
/***          大10的所有整数(例如,用户输入5,则打印5-15的所有整数), ***/
/***          要求打印的各值直接用一个空格、制表符或换行符分开。        ***/
/***完成时间:2020.2.2                                                  ***/
/***作    者:林夕                                                      ***/
/**************************************************************************/
#include<stdio.h>
int main(void)
{
  int num = 0,number=0;
  printf("请输入一个整数:\n");
  scanf_s("%d", &num);
  number = num + 10;
  while (num <= number)
  {
    printf("%d ", num++);
  }
  return 0;
}


运行结果

5.3

/**************************************************************************/
/***题    目:编写一个程序,提示用户输入天数,然后将其转换成周天和天数。***/
/***          例如,用户输入18,则转换为2周4天,以下面的格式显示结果:  ***/
/***          18 days are 2 weeks, 4 days                                ***/
/***完成时间:202.2.2                                                   ***/
/***作者:林夕                                                          ***/
/**************************************************************************/
#include<stdio.h>
#define VALVE 7
int main(void)
{
  int number = 0, day = 0, week = 0;
  printf("请输入天数:\n");
  scanf_s("%d", &number);
  week = number / VALVE;
  day = number % VALVE;
  printf("%d days are %d weeks, %d days\n",number,week,day);
  return 0;
}


运行结果

5.4

/******************************************************************************/
/***题    目:编写一个程序,提示用户输入一个身高(单位:厘米),并分别以厘米***/
/***          和英寸为单位显示该值,允许有小数部分。程序应该能够让用户重复输***/
/***          入身高,直到用户输入一个非正数,其输出示例如下:              ***/
/***          Enter a height in centers:182                                 ***/
/***          182.0cm = 5 feet, 11.7 inches                                 ***/
/***          Enter a height in centimers (<=0 to quit): 168.7              ***/
/***          168.7cm = 5 feet, 6.4 inches                                  ***/
/***          Enter a height in centimers (<=0 to quit): 0                  ***/
/***          bye                                                           ***/
/***完成时间:2020.2.2                                                      ***/
/***作    者:林夕                                                          ***/
/******************************************************************************/
#include<stdio.h>
#define VALUE1 30.48
#define VALUE2 2.54
int main(void)
{
  float height = 0.0,  inches = 0.0;
  int  feet = 0;
  printf("Enter a height in centers:");
  scanf_s("%f", &height);
  while (height > 0)
  {
    feet = height / VALUE1;
    inches = (height- feet*VALUE1)/VALUE2;
    printf("%.1fcm = %d feet, %.1f inches \n",height,feet,inches);
    printf("Enter a height in centimers (<=0 to quit):");
    scanf_s("%f", &height);
  }
  printf("bye");
  return 0;
}


运行结果

5.5

/**************************************************************************/
/***题    目:修改程序5.13,你可以认为那个程序时计算20天里赚多少钱的程序***/
/***          (假设第一天赚51、第二天赚52、第三天赚53,以此类推)。修改***/
/***          程序,使其可以与用户交互,根据用户输入的数进行计算(即,用***/
/***          读入的一个变量来代替20)。                                ***/
/***完成时间:2020.2.2                                                  ***/
/***作    者:林夕                                                      ***/
/**************************************************************************/
#include<stdio.h>
int main(void)
{
  int count, sum, number;
  count = 0;
  sum = 0;
  number = 0;
  printf("请输入初始数字:\n");
  scanf_s("%d", &number);
  while (count++<number)
  {
    sum = sum + count;
  }
  printf("sum=%d\n", sum);
  return 0;
}


运行结果

5.6

/******************************************************************************/
/***题    目:修改程序练习5的程序,使其能计算整数的平方和(可以认为第一天$1,***/
/***          第二天$4,第三天$9,依次类推,这看起来很不错)。C没有平方函数, ***/
/***          但是可以用n*n来表示n的平方。                                  ***/
/***完成时间:2020.2.2                                                      ***/
/***作    者:林夕                                                          ***/
/******************************************************************************/
#include<stdio.h>
int main(void)
{
  int count, sum, number;
  count = 0;
  sum = 0;
  number = 0;
  printf("请输入天数:\n");
  scanf_s("%d", &number);
  while (count++ < number)
  {
    sum = sum + count*count;
  }
  printf("sum=%d\n", sum);
  return 0;
}


运行结果

5.7

/**************************************************************************/
/***题    目:编写一个程序,提示用户输入一个double类型的数,并打印该数的***/
/***          立方值。自己设计一个函数计算并打印立方值。main()函数要把用***/
/***          户输入的值传递给该函数。                                  ***/
/***完成时间:2020.2.2                                                  ***/
/***作    者:林夕                                                      ***/
/**************************************************************************/
#include<stdio.h>
#include<math.h>
double IC(void);
int main(void)
{
  double  num = 0.0;
  printf("请输入一个double类型的数:\n");
  num = pow(IC(), 3);
  printf("立方为%lf", num);
  return 0;
}
double IC(void)
{
  double number = 0.0;
  scanf_s("%lf", &number);
  return number;
}


运行结果

5.8

/******************************************************************************/
/***题    目:编写一个程序,显示求模运算符的结果。把用户输入的第一个整数作为***/
/***          求模运算符的第二个运算对象,该数在运算过程中保持不变,用户后面***/
/***          输入的数是第一个运算对象。当用户输入一个非正数时,程序结束。其***/
/***          输出示例如下:                                                ***/
/***          This program computes modulo.                                 ***/
/***          Enter an integer to serve as the second opeand:256            ***/
/***          Now enter the first operand: 438                              ***/
/***          438 % 256 is 182                                              ***/
/***          Enter next number for first operand (<= 0 to quit):1234567    ***/
/***          1234567 % 256 is 135                                          ***/
/***          Enter next number for first operand (<= 0 to quit):0          ***/
/***          Done                                                          ***/
/***完成时间:2020.2.2                                                      ***/
/***作    者:林夕                                                          ***/
/******************************************************************************/
#include<stdio.h>
int main(void)
{
  int number1 = 0, number2 = 0;
  printf("This program computes modulo.\n");
  printf("Enter an integer to serve as the second opeand:");
  scanf_s("%d", &number2);
  printf(" Now enter the first operand: ");
  scanf_s("%d", &number1);
  while (number1 > 0)
  {
    printf("%d %% %d is %d\n", number1, number2,( number1 % number2));
    //打印%要用%%
    printf("Enter next number for first operand (<= 0 to quit):");
    scanf_s("%d", &number1);
  }
  printf("Done\n");
  return 0;
}


运行结果

5.9

/****************************************************************************/
/***题    目:编写一个程序,要求用户输入一个华氏温度。程序应读取double类型***/
/***          的值作为温度值,并把该值作为参数传递给一个用户自定义的函数  ***/
/***          Temperatures()。该函数计算摄氏温度和开氏温度,并以小数点后俩***/
/***          位数字的精度显示3种温度。要使用不同的温标来表示这3个温度值。***/
/***          下面是华氏温度转摄氏温度的公式:                            ***/
/***          摄氏温度 = 5.0/9.0*(华氏温度 - 32.0)                      ***/
/***          开氏温标常用于科学研究,0表示绝对零,代表最低温度。下面是摄 ***/
/***          氏温度转开氏温度的公式:                                    ***/
/***          开氏温度 = 摄氏温度 + 273.16                                ***/
/***          Temperatures()函数中用const创建温度转换中使用的变量。在main()***/
/***          函数中使用一个循环让用户重复输入温度,当用户输入q或其他非数字***/
/***          时,循环结束。scanf()函数返回读入数据的数量,所以如果读取数字***/
/***          返回1,如果读取q则不返回1.可以使用==运算符将scanf()的返回值和***/
/***          1作比较,测试俩值是否相等。                                  ***/
/***完成时间:2020.2.2                                                     ***/
/***作    者:林夕                                                         ***/
/*****************************************************************************/
#include<stdio.h>
void Temperatures(double n);
int main(void)
{
  double degree_Fahrenheit = 0.0;
  printf("请输入一个华氏温度:\n");
  while (scanf_s("%lf", &degree_Fahrenheit)==1)
  {
    Temperatures(degree_Fahrenheit);
    printf("请输入一个华氏温度:\n");
  }
  printf("程序结束\n");
  return 0;
}
void Temperatures(double n)
{
  double centigrade_degree = 0.0, degree_kelvin = 0.0;
  const double num1 = 273.16, num2 = 32.0;
  centigrade_degree = 5.0 / 9.0 * (n - num2);
  degree_kelvin = n + num1;
  printf("华氏温度:%.2lf\n",n);
  printf("摄氏温度:%.2lf\n",centigrade_degree); 
  printf("开氏温度:%.2lf\n",degree_kelvin);
}


运行结果

以上均为小编写,有错误之处请留言下方;

武汉加油!!!

目录
相关文章
C++ Primer Plus 第二章编程练习
C++ Primer Plus 第二章编程练习
|
存储 编译器 程序员
C++ Primer Plus 第6版 读书笔记(10) 第十章 类与对象
C++ Primer Plus 第6版 读书笔记(10) 第十章 类与对象
71 0
|
编译器 C++
【C++ Primer Plus】基础知识 1
【C++ Primer Plus】基础知识
124 0
【C++ Primer Plus】基础知识 1
C Primer Plus 第四章编程练习
C Primer Plus 第四章编程练习
109 0
C Primer Plus 第四章编程练习
|
存储 编译器 C++
【C++ Primer Plus】基础知识 2
【C++ Primer Plus】基础知识
90 0
|
小程序 C++
C++ Primer Plus 第三章编程练习
C++ Primer Plus 第三章编程练习
C Primer Plus 第六章编程练习
C Primer Plus 第六章编程练习
72 0
C Primer Plus 第三章编程练习
C Primer Plus 第三章编程练习
63 0
C Primer Plus 第二章编程练习
C Primer Plus 第二章编程练习
77 0
C Primer Plus 第一章编程练习
C Primer Plus 第一章编程练习
92 0