C Primer Plus NO.5
2022/11/14 8:23,刚坐到电脑前,先把昨天的历史遗留问题解决一下,看一下看不懂的程序
遗留1:
解答:在scanf函数中,把*放到放在%与转换字符中间会使得scanf跳过相应的输入项。
拓展:在printf函数中,如果希望程序指定字符的宽度,则用*修饰符代替字符宽度。
示例:
#include <stdio.h>
int main()
{int width, precision;int a = 256;float b = 2225.38;printf("输入一个字符长度:");scanf("%d", &width);printf("\nnumber是%*d", width, a);printf("\n输入b的长度以及小数的位数:");scanf("%d %d", &width, &precision);printf(" % *.*f\n", width,precision,b);printf("Done!");return 0;
}
运行结果:
这叼玩意儿类似将width与precision的值赋值给*(自己的理解)
遗留问题2:在比姓名宽度长3的字段中打字:
解:
#include <stdio.h>
#include <string.h>
int main()
{char name[40];int width;printf("输入你的名字:");scanf("%s", name);width = strlen(name);printf("%*s",(width+3),name);return 0;
}
昨晚没做出来纯纯是因为没明白*的用法
注意:用了数组就要用%s!,然后是为啥width+3要加括号,不懂(后来试了以下,不加括号也能运行0.0)(又试了一下,中文也可以运行的诶0.0)
遗留问题解决,开始坐今天的牢!
4.8编程练习(p87)
题目3:编写一个程序,读取一个浮点数,首先以小数点计数法打印。用下面的格式进行输出:
a:The input is 21.3 or .1e+001.
b:The input is +21.290 or 2.129E+001.
解:
#include <stdio.h>
int main()
{float a;printf("输入一个数字\n");scanf("%f", &a);printf("The input is %.3f or %.3e", a, a);return 0;
}
跟答案大差不差,送走下一位
题目4:编写一个程序,提醒用户输入身高和姓名,然后以下面的格式显示用户刚输入的信息:
Dabney,you are 6.208 feet tall
使用float类型,并用/作为除号,要求用户以厘米为单位输入,以米为单位输出:
#include <stdio.h>
#define M_CM 100
int main()
{char name[40];float a;printf("输入你的名字以及身高(以m为单位):");scanf("%s %f",name,&a);a = a * 100;printf("\n%s,you are %f cm tall", name, a);return 0;
}
用的厘米和米,可以把最后两行代码改成这样的形式:
printf("\n%s,you are %f cm tall", name, a*100);
题目五:编写一个程序,提醒用户输入以兆每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。注意,这里1字节等于8位。使用float类型,并用/作为除号。该程序要以下面的格式打印3个变量的值(下载速度,文件大小和下载时间),显示小数点后面两位数字。
AT 18.12 megabits per second,a file of 2.20 megabytes
downloads in 0.97 second.
解:
#include <stdio.h>
int main()
{float sd, dx;printf("输入下载速度(以MB/s为单位):");scanf("%f", &sd);printf("你文件有多大(以MB为单位) :");scanf("%f",&dx);printf("AT %.2f megabits per second, a file of %.2f megabytes", sd, dx);printf("\ndowloads in %.2f second", 8*dx/sd);return 0;
}
跟答案大差不差,但是最后一行代码的结尾不是很懂,主要是不太懂换算的关系。
19:34,刚打完球吃完饭,下午做了五百个俯卧撑,麻了,不知道明天还有没有精神坐牢。
题目6:编写一个程序,先提示用户输入名,再提示用户输入姓。在一行打印用户输入的名和姓,下一行分别打印名和姓的字母数。字母书要与相应名和姓结尾对其:
Melissa Honeybee
7 8
解:明早做,撤了
C Primer Plus NO.5相关推荐
- 《C++primer》第一章--开始
之前开始读<C++primer>,想着读书不动笔不如不读书,于是就想做一个读书笔记的内容,于是就想起了写一个<C++primer读思录>的一个专栏.一是为了给自己平时读书做 ...
- C++ Primer 读书笔记 (1)
我的<C++ Primer>扉页记着购书的日期和地点:C++ Primer 2009.11.28购于西区求索.那时对于这本厚书一直心怀敬畏,仿佛是眼前的一座大山.那时,虽然已经大四,但是对 ...
- C++ Primer(第4版)(评注版)
<C++ Primer(第4版)(评注版)> 基本信息 原书名: C++ Primer (4th Edition) 原出版社: Addison-Wesley Professional; 4 ...
- C++ Primer英文版(第5版)
<C++ Primer英文版(第5版)> 基本信息 作者: (美)李普曼(Lippman,S.B.) (美)拉乔伊(Lajoie,J.) (美)默Moo,B.E.) 出版社:电子工业出版社 ...
- C++ Primer 学习笔记(第四章:表达式)
2019独角兽企业重金招聘Python工程师标准>>> ##C++ Primer 学习笔记(第四章:表达式) [TOC] ###4.1 基础 左值和右值: 当一个对象被用作右值的时候 ...
- C++ Primer 第三版 读书笔记
1.如果一个变量是在全局定义的,系统会保证给它提供初始化值0.如果变量是局部定义的,或是通过new表达式动态分配的,则系统不会向它提供初始值0 2.一般定义指针最好写成:" string * ...
- c++ primer,友元函数上的一个例子(By Sybase)
本文试图解释c++ primer Screen 和 Window_Mgr的例子,为什么将两个类放在两个文件中无法编译? 将两个类写在同一个文件中,通过三个例子解释问题: 第一种写法问题: 编译到Scr ...
- 《C Primer Plus(第6版)中文版》一第1章 初识C语言1.1 C语言的起源
本节书摘来自异步社区<C Primer Plus(第6版)中文版>一书中的第1章,第1.1节,作者 傅道坤,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第1章 ...
- C++ primer学习方法
C++ primer学习: 第一次可以跳着看.关键是要尽快用起来,在使用中熟练,而不是在细节中迷失. 以C++ Primer第五版为例,第一遍读的时候: Part1也就是前七章,除了6.6,6.7节, ...
- 程序清单3.3_bases.c程序_《C Primer Plus》P37
/* bases.c -- 以十进制.八进制.十六进制形式输出 100 */// bases.cpp : 定义控制台应用程序的入口点. // /*时间:2018年06月03日 23:23:06代码:程 ...
最新文章
- R语言基础练习与入门实践
- 设置普通用户加入域配额
- python安装第三方库
- 在Linux中安装R语言包,遇到无法验证下列签名的错误
- leetcode--5. 最长回文子串
- oauth2 token为空拦截_feign之间传递oauth2-token的问题和解决
- Android Listview 性能优化
- 深入react技术栈(8):事件系统
- Linux Select
- python计算最大回撤_Python做量化投资评价策略风险 如何计算最大回撤?
- java随机姓名_Java随机产生中文昵称
- 编译wxWidgets
- 【DL-CV】神经网络的补充
- 【体系结构】Oracle体系结构的独特理解
- 笔记本电脑性价比排行2019_笔记本电脑性价比排行2020榜单介绍
- 计算机硬件 系统安装维护教程 04系统安装-Win-02:使用Dism++对系统进行初始化前配置
- photoshop的抠图小结
- mysql数据库用户名修改密码_如何修改mysql数据库中的用户名和密码
- es2015学习笔记经典入门教程
- 记事本html写代码运行挠脚心,tk挠脚心
热门文章
- 微博sdk android,GitHub - jiangbophd/weibo_android_sdk: 新浪微博 Android SDK
- WRF模式的移植、运行、后处理及在多领域的应用
- 港股第四家“造车新势力“,零跑汽车通过IPO聆讯
- 【Groovy】MOP 元对象协议与元编程 ( 方法注入 | 分析使用 MetaClass 进行方法注入前后 mateClass 类型变化 )
- 企业怎么样通过媒体传播来做品牌推广?星媒志分析媒体传播关键点
- 高通骁龙SDM450平台功能介绍
- 个人创业如何赚钱?现在做什么生意赚钱?
- 苹果系统Mac能安装office吗
- 宝塔多开redis端口
- 三分钟让你看懂共模电感如何选型?