C语言程序设计:现代设计方法习题笔记《chapter3》

news2024/10/24 9:07:17

第一题

                   ​

代码示例:

 

#include<stdio.h>

int main()
{
	printf("Enter a date(mm/dd/yyyy): ");
	int day, month, year;
	scanf_s("%d/%d/%d", &month, &day, &year);
	printf("%04d%02d%02d", year, month, day);
	return 0;
}

 输出:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

如果输出格式这样设置:

printf("%4d%2d%2d", year, month, day);

输出将为:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

可见"d"前面的数字表示所占的位数,如果小于指定的位数,在前面加数字0,则会在高位补0,如果不加数字0,则为空,保留占位符。

第二题

        ​​​​​​​       

 示例代码:

#include<stdio.h>

int main()
{
	printf("Enter item number: ");
	int item;
	scanf_s("%d", &item);

	printf("Enter uint price: ");
	float price;
	scanf_s("%f", &price);

	printf("Enter purchase date: ");
	int month, day, year;
	scanf_s("%d/%d/%d", &month, &day, &year);

	printf("Item\t\tUint\t\tPurchase\n");
	printf("\t\tPrice\t\tDate\n");
	printf("%d\t\t$  %.2f\t%02d/%02d/%04d", item, price, month, day, year);
	return 0;
}

 输出:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

第三题

         

示例代码:

 

#include<stdio.h>

int main()
{
	printf("Enter ISBN: ");
	int prefix, identifier, code, digit;
	long number;
	scanf_s("%d-%d-%d-%ld-%d", &prefix, &identifier, &code, &number, &digit);

	printf("GS1 prefix: %d\n", prefix);
	printf("Group identifier: %d\n", identifier);
	printf("Publisher code: %d\n", code);
	printf("Item number: %ld\n", number);
	printf("Check digit: %d\n", digit);
	return 0;
}

输出:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        

第四题

         

示例代码: 

#include<stdio.h>
int main()
{
	printf("Enter phone number [(xxx) xxx-xxxx]: ");
	int a, b, c;
	scanf_s("(%d) %d-%d", &a, &b, &c);
	printf("You entered %d.%d.%d", a, b, c);
	return 0;
}

输出:

        ​​​​​​​        ​​​​​​​         

第五题

        

示例代码:

#include<stdio.h>

int main()
{
	int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
	printf("Enter the numbers from 1 to 16 in any order: \n");
	scanf_s("%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f, &g, &h, &i, &j, &k, &l, &m, &n, &o, &p);
	printf("%d\t%d\t%d\t%d\n", a, b, c, d);
	printf("%d\t%d\t%d\t%d\n", e, f, g, h);
	printf("%d\t%d\t%d\t%d\n", i, j, k, l);
	printf("%d\t%d\t%d\t%d\n", m, n, o, p);

//row sum
	int rowSum1, rowSum2, rowSum3, rowSum4;
	int columnSum1, columnSum2, columnSum3, columnSum4;
	int diagSum1, diagSum2;
	rowSum1 = a + b + c + d;
	rowSum2 = h + e + f + g;
	rowSum3 = k + i + j + l;
	rowSum4 = m + n + o + p;

	//column sum
	columnSum1 = a + e + i + m;
	columnSum2 = b + f + j + n;
	columnSum3 = c + g + k + o;
	columnSum4 = d + h + l + p;

	//diag sum
	diagSum1 = a + f + k + p;
	diagSum2 = d + j + g + m;

	printf("Row sums: %d %d %d %d\n", rowSum1, rowSum2, rowSum3, rowSum4);
	printf("Column sums: %d %d %d %d\n", columnSum1, columnSum2, columnSum3, columnSum4);
	printf("Diagonal sums: %d %d\n", diagSum1, diagSum2);

	return 0;
}

输出:

        ​​​​​​​        ​​​​​​​         

上面代码输出是左对齐的,而书中给出的示例是右对齐,虽然没有明确要求,但是这里给出实现代码:

#include<stdio.h>

int main()
{
	int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
	printf("Enter the numbers from 1 to 16 in any order: \n");
	scanf_s("%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f, &g, &h, &i, &j, &k, &l, &m, &n, &o, &p);
	printf("%2d\t%2d\t%2d\t%2d\n", a, b, c, d);
	printf("%2d\t%2d\t%2d\t%2d\n", e, f, g, h);
	printf("%2d\t%2d\t%2d\t%2d\n", i, j, k, l);
	printf("%2d\t%2d\t%2d\t%2d\n", m, n, o, p);

//row sum
	int rowSum1, rowSum2, rowSum3, rowSum4;
	int columnSum1, columnSum2, columnSum3, columnSum4;
	int diagSum1, diagSum2;
	rowSum1 = a + b + c + d;
	rowSum2 = h + e + f + g;
	rowSum3 = k + i + j + l;
	rowSum4 = m + n + o + p;

	//column sum
	columnSum1 = a + e + i + m;
	columnSum2 = b + f + j + n;
	columnSum3 = c + g + k + o;
	columnSum4 = d + h + l + p;

	//diag sum
	diagSum1 = a + f + k + p;
	diagSum2 = d + j + g + m;

	printf("Row sums: %d %d %d %d\n", rowSum1, rowSum2, rowSum3, rowSum4);
	printf("Column sums: %d %d %d %d\n", columnSum1, columnSum2, columnSum3, columnSum4);
	printf("Diagonal sums: %d %d\n", diagSum1, diagSum2);

	return 0;
}

 输出:

        ​​​​​​​        

可以发现已经和书中一致。

第六题

        

         

示例代码:

#include<stdio.h>

int main()
{
	int num1, denom1, num2, denom2, result_num, result_denom;
	printf("Enter two fractions separated by a plus sign: ");
	scanf_s("%d/%d+%d/%d", &num1, &denom1, &num2, &denom2);
	result_denom = denom1 * denom2;
	result_num = num1 * denom2 + num2 * denom1;
	printf("\nThe sum is: %d/%d", result_num, result_denom);
	return 0;
}

 输出:

        ​​​​​​​        ​​​​​​​        

这些题都是体力活,主要是慢慢练手感,一起加油。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2222267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

stm32F103 实现呼吸灯效果

目录 硬件连接 软件实现步骤 初始化系统时钟。 配置 GPIO 引脚。 配置定时器以生成 PWM 信号。 在主循环中调整 PWM 占空比以实现呼吸效果。 示例代码 1. 初始化系统时钟 2. 配置 GPIO 引脚 3. 配置定时器以生成 PWM 信号 4. 在主循环中调整 PWM 占空比以实现呼吸效…

【读书笔记-《网络是怎样连接的》- 2】Chapter2_1-协议栈通信详细过程

第二章从协议栈这部分来看网络中的通信如何实现&#xff0c;准备从两部分来进行分解。本篇是第一部分&#xff1a;详细介绍TCP协议栈收发数据的过程。 首先来看下面的图。从应用程序到网卡需要经过如下几部分&#xff0c;上面的部分通过委托下面的部分来完成工作。首先是应用程…

URP学习(一)

URP是unity出的比较简单的可供改造引擎渲染管线的流程。能实现用较低的代价消耗实现较好的效果。 现记录学习&#xff1a; 一.如何设置URP关键 这步结束后材质会被替换 加package Create/Rendering/URP Universal Rendering Setting设置为urp 材质也需要urp目录下的 几种…

第23周Java主流框架入门-SpringMVC 3.拦截器

Spring MVC 拦截器 (Interceptor) 课程笔记 1. 什么是拦截器 (Interceptor) 拦截器 (Interceptor) 类似于我们之前学习过的 J2EE 过滤器 (Filter)。作用&#xff1a;对请求进行前置和后置的过滤处理。与 Filter 的区别&#xff1a; Interceptor 是 Spring MVC 的标准组件&…

mapbox没有token/token失效,地图闪烁后变空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.

目录 mapbox没有token/token失效&#xff0c;地图闪烁后空白&#xff0c;报错Error: A valid Mapbox access token is required to use Mapbox GL JS. 一、问题描述 二、mapbox去除token验证 1、找到mapbox-gl文件夹 2、找到mapbox-gl.js文件 3、找到对应位置并修改 4、清…

14_挂载子节点和元素的属性

目录 挂载子节点简单设置元素的属性区分 HTML Attributes 与 DOM Properties正确的设置元素属性class 的处理 挂载子节点 之前我们描述的 vnode 的 children 只是一个文本&#xff0c;children 是可以为一个数组的&#xff0c;而且大多数情况下&#xff0c;都是一个数组&#…

arm架构 ubuntu 部署docker

如果有旧版本需要卸载 sudo apt remove docker docker-engine docker-ce docker.io 安装依赖包 sudo apt update && apt install -y apt-transport-https ca-certificates curl software-properties-common 添加docker秘钥 阿里云 curl -fsSL http://mirrors.aliyu…

Java应用程序的测试覆盖率之设计与实现(二)-- jacoco agent

说在前面的话 要想获得测试覆盖率报告&#xff0c;第一步要做的是&#xff0c;采集覆盖率数据&#xff0c;并输入到tcp。 而本文便是介绍一种java应用程序部署下的推荐方式。 作为一种通用方案&#xff0c;首先不想对应用程序有所侵入&#xff0c;其次运维和管理方便。 正好…

OAK相机的RGB-D彩色相机去畸变做对齐

▌低畸变标准镜头的OAK相机RGB-D对齐的方法 OAK相机内置的RGB-D管道会自动将深度图和RGB图对齐。其思想是将深度图像中的每个像素与彩色图像中对应的相应像素对齐。产生的RGB-D图像可以用于OAK内置的图像识别模型将识别到的2D物体自动映射到三维空间中去&#xff0c;或者产生的…

openpnp - 底部相机视觉识别CvPipeLine的参数bug修正

文章目录 openpnp - 底部相机视觉识别的CvPipeLine的参数bug概述笔记openpnp的视觉识别参数的错误原因备注补充 - 如果要直接改默认的底部视觉要注意END openpnp - 底部相机视觉识别的CvPipeLine的参数bug 概述 底部相机抓起一个SOD323的元件&#xff0c;进行视觉识别。 识别…

实验:使用Oxygen发布大型手册到Word格式

此前&#xff0c;我曾发表过一篇文章《结构化文档发布的故事和性能调优》&#xff0c;文中讨论了在将大型DITA手册转换为PDF格式时可能遇到的性能挑战及相应的优化策略。 近日&#xff0c;有朋友咨询&#xff0c;若将同样的大型手册输出为MS Word格式&#xff0c;是否也会面临…

【华为HCIP实战课程十八】OSPF的外部路由类型,网络工程师

一、外部路由类型: 上节讲的外部路由类型,无关乎COST大小,OSPF外部路由类型1优先于外部路由类型2 二、转发地址实验拓扑 我们再SW3/R5/R6三台设备运行RIP,SW3即运行RIP又运行OSPF SW3配置rip [SW3-rip-1]ver 2 [SW3-rip-1]network 10.0.0.0 AR5去掉ospf配置和AR6配置rip…

甘特图基线-用起来了吗~

管理项目无疑是一项充满挑战的任务&#xff01;每个项目都伴随着严格的截止日期&#xff0c;因此&#xff0c;确保项目按时完成&#xff0c;并在推进过程中一一达成所有关键的里程碑&#xff0c;显得尤为重要。 为了更精准地掌握项目进展&#xff0c;利用甘特图的基线功能来捕捉…

企业数字化转型的最佳实践指南:微服务架构与物联网的深度融合

在瞬息万变的数字化时代&#xff0c;企业正面临着如何快速适应市场变化、优化业务流程以及利用技术创新来保持竞争力的挑战。数字化转型不仅是技术升级&#xff0c;更是企业从根本上重新定义运营模式和商业价值创造的过程。在这一过程中&#xff0c;微服务架构&#xff08;MSA&…

Linux - 动静态库

文章目录 一、静态库1、定义2、文件扩展名3、生成静态库4、使用静态库5、静态库的优缺点 二、动态库1、定义2、文件扩展名3、生成动态库4、使用动态库5、动态库的优缺点6、简单动态库加载 三、补充 一、静态库 1、定义 静态库是在编译时链接到最终的可执行文件中的库。这意味着…

ubuntu 22.04网线连接无ip、网络设置无有线网界面(netplan修复)

目前遇到过树莓派和其他设备安装 ubuntu22.04&#xff0c; 使用有线网络一段时间&#xff08;可能有其他软件安装导致&#xff09;造成有线网络未启动无ip分配的问题。 1、动态分配 通过命令行启动dhcpclient实现 网络eth0存在异常&#xff0c;网口灯电源和信号灯均点亮&am…

基于Fourier的两个人形机器人:从改进的3D扩散策略之iDP3到从单个RGB视频中模仿学习的OKAMI

前言 今天10.23日&#xff0c;明天1024则将作为长沙程序员代表&#xff0c;在CSDN和长沙相关部门举办的1024程序员节开幕式上发言&#xff0c;欢迎广大开发者来长工作 生活 考察 创业&#xff0c;​包括我司七月也一直在招聘大模型与机器人开发人员 后天&#xff0c;则将和相…

基于 Datawhale 开源的量化投资学习指南(7):量化择时策略

1. 引言 在量化投资中&#xff0c;择时策略是实现超额收益的关键之一。量化择时策略不同于传统的主观判断&#xff0c;它通过数学模型、技术分析以及大数据等手段&#xff0c;对市场进行客观分析&#xff0c;从而捕捉买卖时机。合理运用择时策略&#xff0c;能够帮助投资者在市…

vuex使用modules模块化

1、main.js引入 //引入vuex import store from ./store new Vue({el: #app,router,store,components: { App },template: <App/>,data:function(){return{wbWinList: [] // 定义的变量&#xff0c;全局参数}}, })2、index.js import Vue from vue; import Vuex from …

【LLM之Agent】《Tool Learning with Large Language Models: A Survey》论文阅读笔记

概述 背景信息 近年来&#xff0c;基于大型语言模型&#xff08;LLMs&#xff09;的工具学习成为增强LLMs应对复杂任务能力的有力范式。尽管这一领域快速发展&#xff0c;现有文献的碎片化以及缺乏系统组织&#xff0c;给新入门者带来了阻碍。因此&#xff0c;本论文旨在对现…