文档章节

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

idreamo
 idreamo
发布于 2016/05/17 05:32
字数 673
阅读 48
收藏 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
粉丝 16
博文 139
码字总数 224743
作品 0
青岛
产品经理
私信 提问
C Primer Plus 第11章 11.13 编程练习答案

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

idreamo
2016/09/22
388
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关东升
06/26
0
0
关东升的《《从零开始学Swift》即将出版

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

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

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

tony关东升
2016/02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 自定义你的空间

通过对你的空间进行界面的自定义能够让你的空间更加出类拔萃。 如果你具有空间管理员权限,你可以修改你空间的颜色配色,添加你自己的空间标识,选择是否在你空间中显示边栏。或者你可以进入...

honeymose
今天
1
0
Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
5
0
flutter 底部输入框 聊天输入框 Flexible

想在页面底部放个输入框,结果键盘一直遮住了,原来是布局问题 Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("评论"), ...

大灰狼wow
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部