文档章节

C Primer Plus 第4章 字符串和格式化输入/输出 编程练习及答案

idreamo
 idreamo
发布于 2016/05/17 05:32
字数 673
阅读 41
收藏 0
点赞 2
评论 0

1、编写一个程序,要求输入名字和姓氏,然后以“名字,姓氏”格式输出。

#include 
int main()
{ 
    char fname[40],lname[40];

    printf("Enter your firstname.\n");
    scanf("%s",fname);                   //注意lname与fname是数组,在scanf()时无需加&符号。
    printf("Enter your lastname.\n);
    scanf("%s",lname);
    printf("Welcome,%s, %s\n",lname,fname);
    
    return 0;
}

2、编写一个程序,要求输入名字,并执行以下操作:

    a.把名字引在双引号中打印出来;

    b.在宽度为20个字符的字段内打印名字,并且整个字段引在引号内;

    c. 在宽度为20个字符的字段的左端打印名字,并且整个字段引在引号内;

    d.在比名字宽3个字符的字段内打印它。

#include 
#include 
int main()
{ 
    char name[40];
    int width;
 
    printf("Enter you name.\n");
    scanf("%s",name);
 
    printf("A:\"%s\".\n",name);
    printf("B:\"%20s\".\n",name);
    printf("C:\"%-20s\".\n",name);
    width=strlen(name)+3;
    printf("D:\"%*s\".\n",width,name);  //*对应width
    
    return 0;
}

3、编写一个程序,读取一个浮点数,并且首先以小数点记数法,然后以指数记数法打印之。输出使用下列形式:

a.The input is 21.3 or 2.1e+001

b. The input is +21.290 or 2.129E+001

#include 
int main()
{
    float a;
    
    printf("Please input a float.\n");
    scanf("%f",&a);
    
    printf("a.The input is %1f or %1e\n",a,a);
    printf("a.The input is %+.3f or %.3e\n",a,a);
    
    return 0;
}

4、编写一个程序,要求输入身高(以英尺为单位)和名字,然后以如下形式显示:

Dabney,you are 6.208 feet tall.

使用float类型,使用/作除号。如果你愿意,可以要求以厘米为单位输入身高,并以米为单位进行显示。

#include 
int main()
{
    float h;
    char name[20];

    printf("Enter your name:");
    scanf("%s",name);
    printf("Enter your height by inches:");
    scanf("%f",&h);
    printf("%s,you are %f feet tall.\n",name,h/12);

    return 0;
}

5、编写一个程序,首先要求用户输入名字,然后要求用户输入姓氏。在一行打印输入的姓名,在下一行打印每个名字中字母的个数。把字母个数与相应名字的结尾对齐,如下所示

Melissa Honeybee

            7                 8

然后打印相同的信息,但是字母个数与相应单词的开始对齐。

/*用字符宽度的算法来对齐文本*/
#include 
#include 

int main ()
{
    char fname[20],surname[20];

    printf("Please input your firstname and surname:");
    scanf("%s",fname);
    scanf("%s",surname);

    printf("%s %s.\n",fname,surname);
    printf("%*d %*d\n",strlen(firstname),strlen(firstname),strlen(surname),strlen(surname));
    //*对应宽度变量
    printf("%s %s.\n",fname,surname);
    printf("%-*d %-*d\n",strlen(firstname),strlen(firstname),strlen(surname),strlen(surname));
    //*对应宽度变量
    return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
idreamo
粉丝 12
博文 139
码字总数 224743
作品 0
青岛
产品经理
C Primer Plus(5版)第8章编程题1_重定向实现

小伙伴们,对C语言编程有疑问的,可以加微信交流:poo_poo或者扫描我的头像,验证时请注明是“知友” 一、题目描述 本题是第8章编程题的第一道题,题目如下: 二、题目及思路分析 从题述来看...

石家的鱼 ⋅ 2017/07/11 ⋅ 0

C Primer Plus 第11章 11.13 编程练习答案

1、设计并测试一个函数,可以从输入读取n个字符(包括空格、制表符和换行符),把结果存储在一个数组中,这个数组的地址通过参数来传递。 2、修改并测试练习1中的函数,使得可以在n个字符后,...

idreamo ⋅ 2016/09/22 ⋅ 0

2014年值得学习的编程语言书

经过数据分析和研究 Jobs Tractor 的 45000 个开发人员招聘职位数据,我们得到了上图的结果: 自上一年,主要的变化如下: PHP和Java换了位置,但是仍旧是高居不下 Java的Android已经取代了S...

modernizr ⋅ 2014/05/22 ⋅ 16

关东升的《从零开始学Swift》第2版已经出版

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

tony关东升 ⋅ 2016/02/24 ⋅ 0

关东升的《从零开始学Swift》3月9日已经上架

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

tony关东升 ⋅ 2016/03/11 ⋅ 0

关东升的《从零开始学Swift》3月9日已经上架

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

智捷课堂 ⋅ 2016/03/11 ⋅ 0

C Primer Plus 第9章 函数 9.11 编程练习答案

1、设计函数min(x,y)返回两个double数值中较小的数值,同时用一个驱动程序测试该函数。 2、 设计函数chline(ch,i,j),实现指定字符在i列到j列的输出,同时用一个驱动程序测试该函数。 3、编写...

idreamo ⋅ 2016/07/19 ⋅ 0

关东升的《《从零开始学Swift》即将出版

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

智捷课堂 ⋅ 2015/08/17 ⋅ 0

九月十月百度,迅雷,华为,阿里巴巴最新校招笔试面试二十题(10.12)

九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试二十题 题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9、10月份陪伴了至少三届毕业生...

mickelfeng ⋅ 2013/10/12 ⋅ 0

[编程语言]C陷阱与缺陷

内容摘要 作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过...

21gprs ⋅ 2014/05/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Cube、Cuboid 和 Cube Segment

1.Cube (或Data Cube),即数据立方体,是一种常用于数据分析与索引的技术;它可以对原始数据建立多维度索引。通过 Cube 对数据进行分析,可以大大加快数据的查询效率 2.Cuboid 在 Kylin 中特...

无精疯 ⋅ 30分钟前 ⋅ 0

github太慢

1:用浏览器访问 IPAddress.com or http://tool.chinaz.com 使用 IP Lookup 工具获得github.com和github.global.ssl.fastly.net域名的ip地址 2:/etc/hosts文件中添加如下格式(IP最好自己查一...

whoisliang ⋅ 32分钟前 ⋅ 0

非阻塞同步之 CAS

为解决线程安全问题,互斥同步相当于以时间换空间。多线程情况下,只有一个线程可以访问同步代码。这种同步也叫阻塞同步(Blocking Synchronization). 这种同步属于一种悲观并发策略。认为只...

长安一梦 ⋅ 43分钟前 ⋅ 0

云计算的选择悖论如何对待?

人们都希望在工作和生活中有所选择。但心理学家的调查研究表明,在多种选项中进行选择并不一定会使人们更快乐,甚至不会产生更好的决策。心理学家Barry Schwartz称之为“选择悖论”。云计算为...

linux-tao ⋅ 45分钟前 ⋅ 0

我的第一篇个人博客

虽然这是个技术博客,但是,我总是想写一些自己的东西,所有就大胆的在这里写下了第一篇非技术博客。技术博客也很久没有更新,个人原因。 以后自己打算在这里写一些非技术博客,可能个人观点...

Mrs_CoCo ⋅ 46分钟前 ⋅ 0

Redis 注册为 Windows 服务

Redis 注册为 Windows 服务 redis 注册为 windows 服务相关命令 注册服务 redis-server.exe –service-install redis.windows.conf 删除服务 redis-server –service-uninstall 启动服务 re......

Os_yxguang ⋅ 46分钟前 ⋅ 0

世界那么大,语言那么多,为什么选择Micropython,它的优势在哪?

最近国内MicroPython风靡程序界,是什么原因导致它这么火呢?是因为他功能强大,遵循Mit协议开源么? 错!因为使用它真的是太舒服了!!! Micropython的由来,这得益于Damien George这位伟大...

bodasisiter ⋅ 50分钟前 ⋅ 0

docker 清理总结

杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器(docker rm没有加-f参数,运行中的容器不会删掉) docker rm $(docker ps -a -q) 删除所有未打 dangling 标...

vvx1024 ⋅ 今天 ⋅ 0

关于学习

以前学车的时候,教练说了这样的一句话:如果一个人坐在车上一直学,一直学,反而不如大家轮流着学。因为一个人一直学,就没有给自己留空间来反思和改进。而轮流着学的时候大家下来之后思考上...

mskk ⋅ 今天 ⋅ 0

压缩工具之gzip-bzip2-xz

win下常见压缩工具:rar zip 7z linux下常见压缩工具:zip gz bz2 xz tar.gz tar.bz2 tar.xz gzip 不支持目录压缩 gzip 1.txt #压缩。执行后1.txt消失,生成1.txt.gz压缩文件 gzip -d 1.txt....

ZHENG-JY ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部