文档章节

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

idreamo
 idreamo
发布于 2016/05/17 05:32
字数 673
阅读 278
收藏 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
粉丝 18
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
加载中

评论(0)

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

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

idreamo
2016/09/22
837
0
C Primer Plus(5版)第8章编程题1_重定向实现

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

石家的鱼
2017/07/11
0
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
113
0
关东升的《从零开始学Swift》第2版已经出版

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

tony关东升
2016/02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java学习记录---强引用、软引用、弱引用、虚引用

1.强引用( StrongReference ) 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题(无论何时都不会回收) pu...

爸爸受不了
24分钟前
34
0
手把手教你实现一个商品期货计划委托工具

在做商品期货交易时,并非都是全自动的交易策略,有很多半自动的程序化交易工具代替人工盯盘。这类工具虽然算不上完整的策略,但是也是基于使用者的交易意图,有条理的进行交易,也算是一种最...

发明者量化
29分钟前
29
0
Apache Maven 使用POM定义项目结构

官方文档:https://maven.apache.org/guides/introduction/introduction-to-the-pom.html POM简介 一个项目对象模型或POM是Maven中的基本工作单元。它是一个XML文件,包含Maven用于构建项目的...

哼_哼
29分钟前
49
0
低代码开发平台——jabdp简介(一)

jabdp是一款基于引擎模式的web快速开发平台,采用新颖的在线开发部署模式,配置式,低代码,使开发变得更加简单、纯粹,提高了开发的效率。 什么是JABDP? jabdp 全名是JAVA敏捷业务开发平台(...

jabdp
30分钟前
38
0
Docker run tomcat,挂载目录没权限

Docker run tomcat后,出现没权限的问题: java.io.FileNotFoundException: /usr/local/tomcat/logs/host-manager.log (Permission denied) 访问目录ls或ll,均出现: cannot open directory......

xiaoxin
37分钟前
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部