C Primer Plus 第六版---编程练习4

C语言学习-4 介绍输入和输出。与程序交互和使用字符串可以编写个性化的程序,详细介绍C语言的两个输入/输出函数:printf()和scanf()。学会使用这两个函数,不仅能与用户交互,还可根据个人喜好和任务要求格式化输出。最后,简要介绍一个重要的工具——C预处理指令,并学习如何定义、使用符号常量。 阅读详情

1.编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来。

/*
	输入名和姓
	打印“名,姓”
*/
#include<stdio.h>
#define LEN 20

int main()
{
	char ming[LEN];
	char xing[LEN];
	printf("请输入你的名和姓:");
	scanf("%s%s", &ming, &xing);
	printf("%s, %s", ming, xing);

	return 0;
}

2.编写一个程序,提示用户输入名和姓,并执行一下操作:

a.打印名和姓,包括双引号;

b.在宽度为20的字段右端打印名和姓,包括双引号;

c.在宽度为20的字段左端打印名和姓,包括双引号;

d.在比姓名宽度宽3的字段中打印名和姓。

/*
	读取名和姓
	打印名和姓,包括双引号;
	打印名和姓,宽度20右侧,包括双引号;
	打印名和姓,宽度20左侧,包括双引号;
	打印名和姓,宽度比其宽3;
*/
#include<stdio.h>
#include<string.h>
int main()
{
	char first_name[20];   //名
	char last_name[20];    //姓
	int fwidth, lwidth;     //字符宽度
	printf("请输入名:");
	scanf("%s", first_name);
	printf("请输入姓:");
	scanf("%s", last_name);
	fwidth = strlen(first_name) + 3;
	lwidth = strlen(last_name) + 3;

	printf("\"%s,%s\"\n", first_name, last_name);
	printf("\"%20s,%20s\"\n", first_name, last_name);
	printf("\"%-20s,%-20s\"\n", first_name, last_name);
	printf("%*s%*s\n", fwidth, first_name, lwidth, last_name);
	return 0;
}

3.编写一个程序,读取一个浮点数,首先以小数点记数法打印,然后以指数记数法打印。用下面的格式进行输出(系统不同,指数记数法显示的位数可能不同):

a.输入21.3或2.1e+001;

b.输入+21.290或2.129E+001;

/*
	读取浮点数
	以小数点和记数法打印
*/
#include<stdio.h>

int main()
{
	float f;
	printf("请输入一个浮点数:");
	scanf("%f", &f);
	printf("%.1f %.1e\n", f, f);
	printf("%.3f %.3e\n", f, f);

	return 0;
}

4.编写一个程序,提示用户输入身高(单位:英寸)和姓名,然后以下面的格式显示用户刚输入的信息:

Dabney, you are 6.208 feet tall

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

#include<stdio.h>

int main()
{
	char name[20];
	float height;
	printf("请输入你的姓名和身高(厘米):");
	scanf("%s %f", &name, &height);
	printf("%s,你的身高是:%.3f", name, height / 100);

	return 0;
}

5.编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。注意,这里1字节等于8位。使用float类型,并用/作为除号。该程序要以下面的格式打印 3 个变量的值(下载速度、文件大小和下载时间),显示小数点后面两位数字:

At 18.12 megabits per second, a file of 2.20 megabytes

downloads in 0.97 seconds.

#include<stdio.h>

int main()
{
	float download_speed;
	float file_size;
	float download_time;

	printf("请输入下载速度(Mb/s)和文件大小(MB):");
	scanf("%f %f", &download_speed, &file_size);
	download_time = file_size * 8 / download_speed;
	printf("在下载速度为:%f,文件大小为:%f\n", download_speed, file_size);
	printf("下载速度为:%.2f秒", download_time);

	return 0;
}

6.编写一个程序,先提示用户输入名,然后提示用户输入姓。在一行打印用户输入的名和姓,下一行分别打印名和姓的字母数。字母数要与相应名和姓的结尾对齐,如下所示:

Melissa Honeybee

7    8

接下来,再打印相同的信息,但是字母个数与相应名和姓的开头对齐,如下所示:

Melissa Honeybee

7    8

#include<stdio.h>
#include<string.h>
int main()
{
	char name1[20];
	char name2[20];
	int len1;
	int len2;

	printf("请输入您的名:");
	scanf("%s", &name1);
	printf("请输入您的姓:");
	scanf("%s", &name2);
	len1 = strlen(name1);
	len2 = strlen(name2);

	printf("%s %s\n", name1, name2);
	printf("%*d %*d\n", len1, len1, len2, len2);

	return 0;
}
C PRIMER PLUS(第六版编程练习)8.11编程练习_4题 /*编写一个程序,在遇到EOF之前,把输入作为字符流读取。该程序要报告平均每个单词的字母数。 不要把空白统计为单词的字母。实际上,标点符号也不应该统计, 但是现在暂时不同考虑这么多(如果你比较在意这点,考虑使用ctype.h系列中的ispunct()函数)。 */ //要求标准输入 #include<stdio.h> #include<ctype.h> int main(void) { char ch; int count1 = 0; int count2 = 0; wh 阅读详情

相关推荐

C PRIMER PLUS(第六版编程练习)12.9编程练习_4题

/* 在一个循环中编写并测试一个函数,该函数返回它被调用的次数。 */ #include<stdio.h> int output_ct(void); int ct = 0; int main(void) { int i; for (i = 0; i < 4; i++) output_ct(); printf("%d", output_ct()); return 0; } int output_ct(void) { return ct++; } ...

tianyabaiwei的博客 763

[C语言编程练习][03]打印浮点数的各种形式

题目:编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,再打印成p记数法( 即十六进制记数法)。按以下格式输出( 实际显示的指数位数因系统而异): Enter a floating-point value: 64.25 fixed-point notation: 64.250000 exponential notation: 6.425000e+01 p notation: 0x1.01p+6 /*...

A707684133的博客 3654

C PRIMER PLUS(第六版编程练习)6.16编程练习_4题

/*使用嵌套循环,按照下面的格式打印字母: A BC DEF GHIJ KLMNO PQRSTU */ #include<stdio.h> int main() { int i; int k = 'A'; for (i = 1; i <= 6; i++) { int j; for (j=1; j <= i; j++) { printf("%c", k); k++; } printf("\n"); } return 0; } // 还

tianyabaiwei的博客 424

C Primer Plus(第6版) 编程练习第4章答案

#include <stdio.h> int main(void) { char n, m; char p[20], q[20]; int i; float j; printf("0123456789\n"); scanf(" %c , %c",&n,&m); scanf("s%",p); scanf("s%",q); scanf("d%f%",&am...

rre55555的博客 1261

C PRIMER PLUS(第六版编程练习)9.11编程练习_4题

/*两数的调和平均数这样计算:先得到两数的倒数,然后计算两个倒数的平均值, 最后取计算结果的倒数。编写一个函数,接受两个double类型的参数,返回这两个参数的调和平均数。 */ #include<stdio.h> double har_mean(double m, double n); int main(void) { double x, y; printf("请输入2个数:"); scanf("%lf %lf", &x, &y); printf("%lf与%lf的调和

tianyabaiwei的博客 590

JDK8升级JDK17过程中遇到的那些坑

JDK8虽然非常好,但是JDK版本已经发布到JDK20了,且JDK8后的版本升级了很多新的特性,如模块化、ZGC以及虚拟线程、结构性并发等,也是非常有吸引力的,所以决定将基于JDK8的项目升级到最近的LTS版本JDK17。

BASK2312的博客 6685

C prime plus 第六版 课后编程练习 第4章

使用编译器 vs 2013 。 4.8.1 编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打 印出来。 // 4.8.1 姓名打印.cpp 。 #include "stdafx.h" //vs中头文件stdafx.h包括#include <stdio.h>和#include <tchar.h> #include <string.h> int _tmain() { char ft_name[20]; char lt_name[20]; printf(

gouqi426的博客 881

BIM模型导入SuperMap

目录 一、超图 BIM插件安装 1.1 插件下载 1.2 安装 二、BIM模型导出 2.1 Revit插件导出 2.2 SuperMap导入工具 三、SuperMap BIM数据处理与服务发布 四、SuperMap三维数据处理中关于模型高程修改方法 一、超图 BIM插件安装 1.1 插件下载 下载链接:http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?tt=ProductAAS&id=134 1..

爱晒太阳的风 3597

C Primer Plus第六版第三章编程题目与参考答案⭐

1.通过试验(即编写带有此类问题的程序观察系统如何处理整数上溢、浮点数上溢和浮点数下溢的情况。 #include <stdio.h> int main() { int a = 2147483647; float b = 3.4E38 * 100.0f; float c = (3.4E-38) / (100.0E100); printf("%d %d %d\n", a, a+1, a+2); //整数上溢 printf("%e\n", b);

ningqingzy的博客 653

Carsim与AVL CRUISE联合仿真:从零搭建整车模型的实战指南

本文详细介绍了如何从零开始搭建Carsim与AVL CRUISE联合仿真整车模型,涵盖软件环境配置、接口设置、模型连接及调试技巧。通过联合仿真,可充分发挥Carsim在车辆动力学和AVL CRUISE在动力系统仿真方面的优势,为电动车和混合动力汽车的研发提供精准的整车模型分析。

weixin_29067143的博客 938

CZT与FFT频谱分析方法对比:从任意频带重采样到高精度频谱分析

M = 85 % 输出点数f0 = 70 Hz % 起始频率DELF = 0.4 Hz % 频率步长频率分辨率提高到0.4 Hz分析带宽聚焦在[70, 103.6]Hz更清晰地分辨出78Hz和82Hz的频率分量。

2403_88098319的博客 1859

C primer plus (第六版)第六章 编程练习第4题

【代码】C primer plus (第六版)第六章 编程练习第4题。

BRUCE201902的博客 150

mmdetection 实战:基于Mask R-CNN与自定义COCO数据集的目标检测全流程解析

本文详细解析了如何使用mmdetection框架和Mask R-CNN模型,基于自定义COCO数据集完成目标检测任务的全流程。内容涵盖环境搭建、数据格式转换、配置文件定制化、模型训练与评估等核心步骤,并提供了针对工业缺陷检测场景的实用调优思路与避坑指南,帮助开发者高效构建高性能检测模型。

weixin_29046611的博客 136

C Primer Plus 第六版 第14章 编程练习第4题

a. 第 1 个成员是社会保险号,第 2 个成员是一个有 3 个成员的结构,第 1 个成员代表名,第 2 个成员代表中间名,第 3 个成员表示姓。创建并初始化一个内含 5 个该类型结构的数组。如果有中间名,只打印它的第 1 个字母,后面加一个点(.);如果没有中间名,则不用打印点。编写一个程序进行打印,把结构数组传递给这个函数。b. 修改 a 部分,传递结构的值而不是结构的地址。

qq_40860686的博客 37

ros入门(八)---TF坐标转换

TF(TransForm),就是坐标转换,包括了位置和姿态两个方面的变换。

weixin_51157015的博客 3388

ESD防护设计宝典(十):RE(辐射发射)超标问题排查与解决

RE测试是EMC认证的“头号杀手”。当屏幕上出现一根根超标频谱线时,如何快速定位元凶并有效整改?本讲将带你化身电磁侦探,完成一次完美的RE问题“缉凶”。

m0_56451176的博客 394

C PRIMER PLUS(第六版编程练习)11.13编程练习_4题

/* 3.设计并测试一个函数,从一行输入中把一个单词读入一个数组中,并丢弃输入行中的其余字符。 该函数应该跳过第1个非空白字符前面的所有空白。将一个单词定义为没有空白、制表符或换行符的字符序列。 4.设计并测试一个函数,它类似编程练习3的描述,只不过它接受第2个参数指明可读取的最大字符数。 #include<stdio.h> #define SIZE 40 void in_word(char str[]); int main(void) { char store[SIZE]; in_wor

tianyabaiwei的博客 277

一篇把 Transport 做到可复制的实战指南:从 CTS 底层表到 LSMW、Variant、Layout、TABU、Query、SAPscript 全对象搬运

本文深入解析SAP系统中的Transport机制,将其视为可审计、可追溯的变更流水线。文章从CTS/Transport Organizer通用方法论和具体对象搬运手法两个层面展开,详细介绍了LSMW项目、程序Variant、屏幕/ALV Layout、表数据、ABAP Query、SAPscript和SO10标准文本等对象的传输策略。通过真实案例说明,代码对象往往能被正确传输,但"运行体验"和"业务配置"却常被遗漏,导致QAS测试正常而PRD环境异常。文章提供了一套可

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 172

C Primer Plus(第六版)第4章 编程练习答案

4-1 4-2 4-3 4-4 4-5 4-9

正经程序圆 的博客 291

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

C Primer Plus (第六版) 中文版 4.8编程练习 答案

#学习历程记录#/*********************************************C Primer Plus 第四章 编程练习***********************************************/1.编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来//编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来 #includ...

在所不辞的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

C Primer Plus第六版编程练习5.4

新手欢迎指正 5.4 #include <stdio.h> #define FEET 2.54 #define INCH 30.48 int main(void) { float h=0,inch=0; int feet=0; printf(“Please enter a height in centimeters(<=0 to quit):\n”); scanf("%f",&a...

qq_44832043的博客 239

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C Primer Plus(第六版)中文版 第4章 编程练习及答案

文章目录1、编写一个程序,要求输入名字和姓氏,然后以“名字,姓氏”格式输出。2、编写一个程序,要求输入名字,并执行以下操作:3、编写一个程序,读取一个浮点数,并且首先以小数点记数法,然后以指数记数法打印之。输出使用下列形式:4、编写一个程序,要求输入身高(以英尺为单位)和名字,然后以如下形式显示:5、编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。注意,这里1字节等于8位。使用float类型,并用/作除号。该程序要以下面的格..

吾在学习路的博客 1451

C Primer Plus 第六版 第4章编程练习第6题

/* 提示输入姓,名,然后在一行打印,在第二行显示如下格式 Melissa Honeybee           7                8 接下来显示如下格式 Melissa Honeybee 7           8 */ #include #include int main(void) { char first_name[20]; cha

sinat_39128941的博客 315

C Primer Plus(第六版编程练习)8.11 编程练习 第4题

/* 4.编写一个程序,在遇到EOF之前,把输入作为字符流读取。该程序要 报告平均每个单词的字母数。不要把空白统计为单词的字母。实际上,标点 符号也不应该统计,但是现在暂时不同考虑这么多(如果你比较在意这点, 考虑使用ctype.h系列中的ispunct()函数)。 */ #include<stdio.h> #include<ctype.h> #include<stdbool.h> int cnt(void); int main(void) { char ch;

weixin_49859755的博客 706

C Primer Plus [第六版]第4章编程练习题答案

2.#include &lt;stdio.h&gt; int main(void) { char name[40]; printf("请输入你的姓名: "); scanf("%s", name); printf("\"%s\"\n", name); printf("\"%20s\"\n", name); printf("\"%

神秘人的博客 1192

C PRIMER PLUS(第六版编程练习)10.13编程练习_4题

/*编写一个函数,返回存储在double类型数组中最大值的下标,并在一个简单的程序中测试该函数。 */ //有BUG问题在哪没找出来 #include<stdio.h> double max_ar(const double * p, int n); int count(const double arr[], int n,double max); int main(void) { double arr[5] = {3.1, 2.1,6.1,4.1,5.1}; printf("%lf\n",

tianyabaiwei的博客 242
上一篇: C Primer Plus 第六版---编程练习3
下一篇: C Primer Plus 第六版---编程练习5
fangshuo_light
博客等级 码龄5年 93粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值