文档章节

C Primer Plus 第5章 运算符、表达式和语句 编程练习及答案

idreamo
 idreamo
发布于 2016/05/25 06:40
字数 1199
阅读 159
收藏 2

1、编写一个程序,将用分钟表示的时间转换成以小时和分钟表示的时间。使用#define或const来创建一个代表60的符号常量。使用while循环来允许用户重复键入值,并且当键入一个小于等于0的时间终止循环。

#include 
#define HOUR 60

int main()
{
    int minutes;
    printf("Please enter the minutes:");
    scanf("%d",&minutes);
    while(minutes>0)
    {
        printf("%d hour,%d minutes.\n",minutes/HOUR,minutes%HOUR);
        printf("Please enter the minutes again:");
        scanf("%d",&minutes);
    }
    return 0;
} 

2、编写一个程序,此程序要求输入一个整数,然后打印从输入(包含)到比输入大10(包含)的所有整数值(也就说,如果输入是5,那么输出就从5到15)。要求在各个输出之间用空格、制表符或换行符分开。

#include 
int main(void)
{
    int num,i;
    i=0;
    printf("Please input the number.\n");
    scanf("%d",&num);
    while(i++<11)
    {
        printf("%d ",num++);     
    }
    return 0;
}

3、编写一个程序,该程序要求用户输入天数,然后将该值转换为周数和天数。例如,该程序将把18天转换为2周4天。用下面的格式显示结果:

18 days are 2 weeks,4 days.

#include 
#define DAYS_W 7

int main(void)
{
    int days;
    printf("Please input the days:\n");
    scanf("%d",&days);
    while(days>0)
    {
         printf("%d days are %d weeks,%d days.\n",days,days/DAYS_W,days%DAYS_W);
         printf("Please input the days:\n");
         scanf("%d",&days);
    }

    return 0;
}

4、编写一个程序,让用户按厘米输入高度值,然后程序按厘米和英尺英寸显示这个高度值。允许厘米和英尺英寸的值出现小数部分。程序允许用户输入,直到用户输入一个非正的数值。程序运行示例如下:

Enter a height in centemeters:182

182.0 cm = 5 feet,11.7 inches

Enter a height in centimeters  (<=0 to quit): 168

168.0 cm = 5 feet ,6.1 inches

Enter a height in centimeters  (<=0 to quit): 0

bye

#include 
#define INCH 2.54    //1 INCH = 2.54 CM

int main(void)
{
    float cm;
    printf("Enter a height in centimeters:");
    scanf("%f",&cm);
    while (cm>0)
    {
        printf("%.1f cm = %d feet,%.1f inches\n",cm,int(cm/INCH/12),cm/INCH-int(cm/INCH/12)*12);
        printf("Enter a height in centimeters(<=0 to quit):");
        scanf("%f",&cm);
    }
    printf("bye\n");
    return 0;
}

5、改写用来找到前20个整数之后的程序addemup.c(程序清单5.13)(如果你愿意,可以把addemup.c程序看作是一个计算如果您第一天得到$1,第二天得到$2,以此类推,您在20天内会赚多少钱的程序)。修改该程序,目的是您能交互地告诉程序,计算将进行到哪里。也就是说,有一个读入的变量来代替20.

#include
int main(void)
{
    int count,sam,max;
    count=0;
    sam=0;
    printf("Input the max:\n");
    scanf("%d",&max);
    while(count++

6、现在修改编程练习5中的程序,使它能够计算整数平方的和。C没有平方函数,但是您可以利用n的平方是n*n的事实。


#include
int main(void)
{
    int count,sam,max;
    count=0;
    sam=0;
    printf("Input the max:\n");
    scanf("%d",&max);
    while(count++

 7、编写一个程序,该程序要求输入一个float型值,并打印该值的立方数。使用您自己设计的函数来计算该值的立方数并将其立方数打印出来。main()函数把输入的值传递给该函数。

#include<stdio.h>
float cube(float n);
int main(void)
{
    float num;
    printf("Input a float:\n");
    scanf("%f",&num);
    printf("The cube of %f is %f.\n ",num,cube(num));
    return 0;
}
float cube(float n)
{
    return(n*n*n);
}

8、编写一个程序,该程序要求用户输入一个华氏温度。程序以double类型读取温度值,并将它作为一个参数传递给用户提供的函数Temperatures()。该函数将计算相应的摄氏温度和绝对温度,并以小数点右边有两位数字的精度显示这三种温度。它应该用每个值所代表的温度刻度来标识这3个值。下面是将华氏温度转换成摄氏温度的方程:

Celsius = 1.8*Fahrenheit + 32.0;

通常用在科学上的绝对温度的刻度是0代表绝对零,是可能温度的下界。下面是将摄氏温度转换为绝对温度的方程:

kelvin = Celsius + 273.16

Temperatures()函数使用const来创建代表该转换里的3个常量的符号。main()函数将使用一个循环来允许用户重复的输入温度,当用户输入Q或其他非数字值时,循环结束。

#include<stdio.h>
void Temperatures(double);

int main(void)
{
    double fahrenheit;
    printf("Please input a fahrenheit:\n");
    while(scanf("%lf",&fahrenheit)==1)
    {
        Temperatures(fahrenheit);
        printf("Please input a fahrenheit:\n");
    }
    printf("End.\n");
    return 0;
}
void Temperatures(double num)
{
     const double a=1.8,b=32.0,c=273.16;
     printf("Fahrenheit = %lf\t",num);
     printf("Celsius = %lf\t",a * num + b);
     printf("Kelvin = %lf\n",a * num + b + c);

}

 

© 著作权归作者所有

idreamo
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部...

tony关东升
2018/06/26
0
0
关东升的《《从零开始学Swift》即将出版

大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》《从零开始学Swift》将在《Swift开发指南》第1版的基础上添加Swift2.0的...

智捷课堂
2015/08/17
110
0
关东升的《从零开始学Swift》第2版已经出版

关东升的《从零开始学Swift》第2版已经出版 大家好: 苹果2015WWDC大会发布了Swift2.0,它较之前的版本Swift1.x有很大的变化,所以我即将出版《从零开始学Swift》 《从零开始学Swift》将在《...

tony关东升
2016/02/24
0
0
关东升的《从零开始学Swift》3月9日已经上架

大家一直期盼的《从零开始学Swift》于3月9日已经上架,它是关东升老师历时8个月的呕心沥血所编著,全书600多页,此本书基于Swift 2.x,通过大量案例全面介绍苹果平台的应用开发。全书共分5 部...

智捷课堂
2016/03/11
46
0
C Primer Plus 第6章 C控制语句:循环 6.3 关系运算符和表达式

关系运算符 运算符 含义 < 小于 <= 小于等于 == 等于 >= 大于等于 > 大于 != 不等于 注意:关系表达式也可以用于字符的比较。例:ch!='$';进行比较时使用的是机器的字符代码(我们假定为ASC...

idreamo
2016/05/27
59
0

没有更多内容

加载失败,请刷新页面

加载更多

一起来学Java8(三)——方法引用

在一起来学Java8(一)——函数式编程中有一个简单的函数式编程的例子: import java.util.function.Consumer;class Person { public static void sayHello(String name) { S...

猿敲月下码
24分钟前
13
0
读书笔记:深入理解ES6(十一)

第十一章 Promise与异步编程   Promise可以实现其他语言中类似Future和Deferred一样的功能,是另一种异步编程的选择,它既可以像事件和回调函数一样指定稍后执行的代码,也可以明确指示代码...

张森ZS
47分钟前
19
0
面试官,Java8 JVM内存结构变了,永久代到元空间

在文章《JVM之内存结构详解》中我们描述了Java7以前的JVM内存结构,但在Java8和以后版本中JVM的内存结构慢慢发生了变化。作为面试官如果你还不知道,那么面试过程中是不是有些露怯?作为面试...

程序新视界
55分钟前
28
0
Elasticsearch 实战(一) - 简介

官腔 Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 基本等于没说,咱们慢慢看 1 概述 百度:我们比如说想找寻任何的信息的时候,就会上百度去搜索一下,比如说找一部自己喜...

JavaEdge
今天
23
0
【jQuery基础学习】11 jQuery性能简单优化

本文转载于:专业的前端网站➦【jQuery基础学习】11 jQuery性能简单优化 关于性能优化 合适的选择器 $("#id")会直接调用底层方法,所以这是最快的。如果这样不能直接找到,也可以用find方法继...

前端老手
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部