7.编写一个函数,从标准输入中读取字符,直到遇到文件结尾。程序要报告每个字符是否是字母。如果是,还要报告该字母在字母表中的数值位置。例如,c和C在字母表中的位置都是3。合并一个函数,以一个字符作为参数,如果该字符是一个字母则返回一个数值位置,否则返回-1。

int char_is_letter(char ch)
{int pos = -1;if(ch >= 'a' && ch <= 'z')pos = ch - 'a' + 1;else if(ch >= 'A' && ch <= 'Z')pos = ch - 'A' + 1;return pos;
}
int main()
{system("chcp 65001");char ch;while ((ch = getchar()) != EOF){int pos = char_is_letter(ch);if (char_is_letter(ch) != -1){printf("输入的字母是:%c, 在字母表中的位置是%d\n", ch, pos);}else{char printChar[4] = { 0 };if(ch == '\n')sprintf_s(printChar, "\\n");else if(ch == '\r')sprintf_s(printChar, "\\r");else if(ch == '\t')sprintf_s(printChar, "\\t");else if(ch < 32)sprintf_s(printChar, "^%c", ch + 'A');elsesprintf_s(printChar, "%c", ch);printf("输入的%s不是字母!\n", printChar);}}return 0;
}


8.第6章的程序清单6.20中,power()函数返回一个double类型数的正整数次幂。改进该函数,使其能正确计算负幂。另外,函数要处理0的任何次幂都为0,任何数的0次幂都为1(函数应报告0的0次幂未定义,因此把该值处理为1)。要使用一个循环,并在程序中测试该函数。

double power(double x, int n)
{double pow = 1;if (n == 0){if (x == 0)printf("0的0次幂未定义\n");return 1;}else if (n < 0){if (x == 0)return 0;pow = power(1 / x, -n);}elsefor(int i = 0; i < n; i++)pow *= x;return pow;
}
int main()
{system("chcp 65001");printf("%f\n", power(0, 10));printf("%f\n", power(0, 0));printf("%f\n", power(0, -2));printf("%f\n", power(2, 10));printf("%f\n", power(2, -2));
}


9.使用递归函数重写编程练习8。

double power(double x, int n)
{double pow = 1;if (n == 1)return x;if (n == 0){if (x == 0)printf("0的0次幂未定义\n");return 1;}else if (n < 0){if (x == 0)return 0;pow = power(1 / x, -n);}elsepow = x * power(x, n - 1);return pow;
}
int main()
{system("chcp 65001");printf("%f\n", power(0, 10));printf("%f\n", power(0, 0));printf("%f\n", power(0, -2));printf("%f\n", power(2, 10));printf("%f\n", power(2, -2));
}


10.为了让程序清单9.8中的to_binary()函数更通用,编写一个to_base_n()函数接受两个参数,且第二个参数在2~10范围内,然后以第2个参数中指定的进制打印第1个参数的数值。例如,to_base_n(129,8)显示的结果为201,也就是129的八进制数。在一个完整的程序中测试该函数。

void to_base_n(int n, int base)
{int r;r = n % base;if (n >= base)to_base_n(n / base, base);printf("%x", r);
}
int main()
{to_base_n(123456789, 2);printf("\n");to_base_n(123456789, 8);printf("\n");to_base_n(123456789, 10);printf("\n");to_base_n(123456789, 16);printf("\n");
}


11.编写并测试Fibonacci()函数,该函数用循环代替递归计算斐波那契数。

int Fibonacci(int n)
{if (n == 0)return 0;if (n == 1)return 1;return Fibonacci(n -1) + Fibonacci(n-2);
}
unsigned int Fibonacci(unsigned int n)
{if (n == 0)return 0;if (n == 1)return 1;unsigned int a = 0, b = 1;for (unsigned int i = 0; i < n; i++){int temp = a;a = b;b = temp + b;}return a;
}
int main()
{for (unsigned int i = 0; i <= 10; i++){printf("Fibonacci(%d) is %d\n", i, Fibonacci(i));}return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用文思助手改好一篇烂材料

在日常工作中&#xff0c;我们常常会遇到这样的问题&#xff1a;因为工作要使用到之前写的文章再看发现内容杂乱无章、或者收到的一些返稿内容质量差&#xff0c;不修改无法使用。但其实它们可能只是缺少了系统性的梳理与打磨。今天我们就来聊一聊&#xff0c;如何对一些不满意…

VSCODE常规设置

摘要&#xff1a;用于新下载的vscode设置一些个人化的操作在 "Files: Auto Save" 下拉菜单中&#xff0c;选择你想要的自动保存模式。常见的选项包括&#xff1a;"off"&#xff1a;禁用自动保存。 "afterDelay"&#xff1a;在你停止编辑一段时间…

2025秋招突围战:AI智能监考如何重构远程笔试公平防线?

2025秋招季即将来临&#xff0c;企业校招规模预计突破百万量级&#xff0c;远程笔试成为主流筛选方式。然而&#xff0c;传统监考模式暴露出作弊行为难追溯、人力成本过高、数据维度单一等痛点&#xff0c;让HR陷入“效率与公平”的两难困境。牛客AI智能监考系统&#xff0c;通…

Python 基础语法与数据类型(十三) - 实例方法、类方法、静态方法

文章目录1. 实例方法 (Instance Methods)1.1 特点与语法1.2 实例方法示例2. 类方法 (Class Methods)2.1 特点与语法2.2 类方法示例3. 静态方法 (Static Methods)3.1 特点与语法3.2 静态方法示例4. 三种方法的对比总结总结练习题练习题答案创作不易&#xff0c;请各位看官顺手点…

Wireshark的安装和基本使用

文章目录一、Wireshark介绍二、Wireshark安装三、Wireshark讲解1.界面介绍&#xff08;1&#xff09;分组列表&#xff08;2&#xff09;分组详情&#xff08;3&#xff09;分组字节流一、Wireshark介绍 Wireshark 是一款开源的网络协议分析工具&#xff0c;能够捕获、过滤和分…

[yotroy.cool] Git 历史迁移笔记:将 Git 项目嵌入另一个仓库子目录中(保留提交记录)

个人博客https://www.yotroy.cool/&#xff0c;感谢关注&#xff5e; 图片资源可能显示不全&#xff0c;请前往博客查看哦&#xff01; 说来惭愧&#xff0c;这篇是AI帮助我解决实际问题后&#xff0c;又生成的一篇博客&#xff0c;效率特别高。 在开发中&#xff0c;我们常会…

91套商业策划创业融资计划书PPT模版

创业融资计划书PPT模版&#xff0c;商业项目技术书PPT模版&#xff0c;商业创业计划书&#xff0c;商业融资企业宣传PPT模版&#xff0c;活动策划方案书PPT模版&#xff0c;IOS风格商业计划书PPT模版 91套商业策划创业融资计划书PPT模版&#xff1a;https://pan.quark.cn/s/739…

探秘阿里云通义九子:解锁AI无限可能

通义九子初印象在当今人工智能飞速发展的时代&#xff0c;阿里云通义九子宛如一颗璀璨的明星&#xff0c;闪耀在 AI 的浩瀚天空中。作为阿里云推出的一系列强大的人工智能模型&#xff0c;通义九子在自然语言处理、图像生成、智能客服等多个领域展现出了卓越的能力&#xff0c;…

Python网络爬虫之requests库

目录 一.网络爬虫的介绍 1.网络爬虫库 2.robot.txt规则 二.requests库 1.requests库的安装 2.get()函数 3.Response对象 Response的属性 设置编码 返回网页内容 text() content() 三.提交信息到网页 post()函数 四.会话与代理服务器 一.网络爬虫的介绍 1.网络爬虫…

区块链技术详解:从原理到应用

引言 区块链作为一项颠覆性技术&#xff0c;已从加密货币的基石演变为重塑多个行业的创新引擎。本文旨在深入解析其核心原理、关键特性、技术架构、主流应用及未来挑战。一、 区块链核心概念&#xff1a;超越加密货币的分布式账本 本质定义&#xff1a; 区块链是一个去中心化、…

用Finalshell连接服务器后出现文件目录不显示,且刷新报错空指针问题记录

修改SSH配置‌编辑sshd_config‌使用管理员权限编辑/etc/ssh/sshd_config文件&#xff0c;找到Subsystem相关配置。原配置为Subsystem sftp /usr/libexec/openssh/sftp-server使用“i”编辑文件将修改为Subsystem sftp internal-sftp修改完成后使用Esc命令&#xff0c;退出编辑…

C语言:游戏代码分享

小游戏分享 目录 小游戏分享 1.井字棋游戏 2.简单计算器游戏 3.猜单词 4.石头剪刀布游戏 5.猜数字游戏 1.井字棋游戏 「33 棋盘上的思维博弈&#xff01;与好友轮流落子&#xff0c;抢占先机&#xff0c;连成一线即可获胜。简单规则蕴含无限策略&#xff0c;展现你的战术…

深度学习入门-卷积神经网络(CNN)(下)

1-4、 深度学习入门-卷积神经网络&#xff08;CNN&#xff09;&#xff08;上&#xff09;-CSDN博客 5、 卷积神经网络&#xff08;CNN&#xff09;的实现 简单网络的构成是“Convolution - ReLU - Pooling - Affine - ReLU - Affine - Softmax”&#xff1a; 相关代码&#…

Java 大视界 -- Java 大数据在智能交通智能公交站台乘客流量预测与服务优化中的应用(349)

Java 大视界 -- Java 大数据在智能交通智能公交站台乘客流量预测与服务优化中的应用&#xff08;349&#xff09;引言&#xff1a;正文&#xff1a;一、Java 全场景韧性调度系统&#xff08;新增极端天气 车型适配&#xff09;1.1 极端天气&#xff1a;暴雪 / 台风的分钟级响应…

数论内容主要包括哪些

数论&#xff08;Number Theory&#xff09;是数学中研究整数的性质及其相互关系的一个分支&#xff0c;被誉为“数学中的皇后”。它历史悠久&#xff0c;内容丰富&#xff0c;既包含许多初等、直观的问题&#xff0c;也涉及高深、抽象的理论。数论的主要内容包括以下几个方面&…

springboot打包二次压缩Excel导致损坏

springboot打包二次压缩Excel导致损坏开发时&#xff0c;将Excel文件放到resources下&#xff0c;通过类加载器流读取&#xff0c;返回api用于下载该Excel文件。我发现这样下载的Excel被损坏了&#xff0c;无法打开&#xff0c;推测是springboot打包插件默认对resources下的所有…

huggingface笔记

1. huggingface的下载目录 ~/.cache/huggingface 2. 如何修改hugging face的模型默认下载地址 huggingface的默认下载路径在~/.cache/huggingface/hub/&#xff0c;但模型数据占用空间往往很大&#xff0c;可以用以下方法修改默认下载路径。 方法一&#xff1a;在linux中指定环…

Redis3:Redis数据结构与命令全解析

目录 1、redis数据结构介绍 1.1命令学习方式 1.1.1命令行查询 2、redis的通用命令 2.1查找常见的通用命令 2.2常见的通用命令&#xff1a; 3、String类型 3.1String类型的常见命令 3.2Key的层级格式 3.2.1Key的结构 4、Hash类型 4.1Hash类型 4.2Hash类型常见命令 …

WebSocket 重连与心跳机制:打造坚如磐石的实时连接

在现代 Web 应用中&#xff0c;WebSocket 是实现实时通信的核心技术。但网络环境复杂多变&#xff0c;如何确保连接稳定成为关键挑战。本文将深入剖析 WebSocket 的重连与心跳机制&#xff0c;提供一套经过生产环境验证的解决方案。 一、WebSocket 基础封装 首先我们实现一个具…

【代码】Matlab鸟瞰图函数

用matlab把图像转化为鸟瞰图 代码 clc clear close all I imread(road.png); figure(1) imshow(I) bevSensor load(birdsEyeConfig); birdsEyeImage transformImage(bevSensor.birdsEyeConfig,I); figure(2) imshow(birdsEyeImage)效果