文档章节

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

idreamo
 idreamo
发布于 2016/05/17 05:32
字数 673
阅读 42
收藏 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
粉丝 14
博文 139
码字总数 224743
作品 0
青岛
产品经理
C Primer Plus(5版)第8章编程题1_重定向实现

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

石家的鱼
2017/07/11
0
0
C Primer Plus 第11章 11.13 编程练习答案

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

idreamo
2016/09/22
388
0
关东升的《从零开始学Swift》3月9日已经上架

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

tony关东升
06/26
0
0
2014年值得学习的编程语言书

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

modernizr
2014/05/22
15.4K
16
关东升的《《从零开始学Swift》即将出版

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

智捷课堂
2015/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

angular指令监听ng-repeat渲染完成后执行自定义事件方法

今天工作中遇到需要用到ng-repeat遍历渲染完后执行某个操作,angular本身并没有提供监听ng-repeat渲染完成的指令,所以需要自己创建自定义指令。 在ng-repeat模板实例内部会暴露出一些特殊属...

孟飞阳
38分钟前
1
0
URLEncoder和URLDecoder

public static void main(String[] args) { String str1 = "https://test1-life.pingan.com/ilifecore/productMall/loading.html?productId=8000000241&channelCode=XCX00001&productCode=00......

鬼才王
47分钟前
2
0
对象及变量的并发访问-第一篇

方法内部的变量为线程安全变量 “非线程安全”问题存在于“共享变量”中,如果是方法内部的私有变量,则不存在“非线程安全”问题,所得结果也就是“线程安全”的。 package chaprer3;/**...

简心
48分钟前
1
0
程序媛眼中的程序猿原来是这样子的!

一直都想写一篇关于描述程序员的文章,但是一直没能开头,一来因为文笔不好,更主要的原因是貌似对程序员既熟悉又不熟悉,很怕写出来的是以偏概全,给大家造成对程序员的既定印象,不过,管他...

Java小铺
今天
1
0
bean标签

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 bean标签 bean标签中的init-method属性,该属性...

凯哥学堂
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部