当前位置:首页 > 实用技巧 >

华为畅享7c手机能投屏吗(华为畅享7投屏电视)

来源:原点资讯(www.yd166.com)时间:2024-01-27 10:42:33作者:YD166手机阅读>>

学习工控知识,就来工控小新

农历十一月十一日 2024/1/ 9

往期推荐

2024年1月7日,每日花费一分钟练习C语言

2024年1月6日,每日花费一分钟练习C语言

华为畅享7c手机能投屏吗,华为畅享7投屏电视(1)

每日一练

/ Daily Exercises

整数转换英文表示

将非负整数 num 转换为其对应的英文表示。

示例 1:

输入:num =123

输出:“One Hundred Twenty Three

题目分析

首先,让我们分析一下题目的要求。给定一个非负整数num,我们需要将其转换为其对应的英文表示。例如,如果num=123,那么输出应该是“One Hundred Twenty Three”。我们可以发现,这个问题有以下特点:

- 输入的整数范围是0到2^31-1,也就是说,最大需要的计数单词是billion:1000000000,十亿。

- 输出的英文表示需要遵循一定的规则,比如每三位数字为一组,每组之间用相应的单位词连接,如thousand,million,billion等;每组内部,百位数字后面跟hundred,十位和个位数字根据不同的情况用不同的单词表示,如one,two,three,ten,eleven,twelve,twenty,Thirty等;每个单词之间用空格分隔,首尾不需要逗号或句号等标点符号。

- 输入的整数可能是0,这是一个特殊情况,需要单独处理,输出应该是“Zero”。

那么,如何用C语言实现这个功能呢?我们可以采用分治的思想,将一个大的数字分解为若干个小的数字,然后分别转换为英文表示,最后拼接在一起。具体的步骤如下:

- 定义一个函数,比如叫做numberToWords,它接受一个整数参数num,返回一个字符串指针,指向转换后的英文表示。

- 在函数中,首先判断num是否为0,如果是,直接返回“Zero”。

- 如果num不为0,那么我们可以将num分解为四个部分,分别表示billion,million,thousand和剩余的部分,用四个变量存储,比如billion=num/1000000000,million=(num-billion*1000000000)/1000000,thousand=(num-billion*1000000000-million*1000000)/1000,rest=num-billion*1000000000-million*1000000-thousand*1000。

- 对于每个部分,我们可以定义一个辅助函数,比如叫做convertThree,它接受一个小于1000的整数参数,返回一个字符串指针,指向该整数的英文表示。这个函数的实现可以参考以下的逻辑:

- 如果参数为0,返回空字符串。

- 如果参数大于0,小于20,返回对应的单词,比如1返回“One”,2返回“Two”,11返回“Eleven”等,这些单词可以用一个数组存储,方便查找。

- 如果参数大于等于20,小于100,返回对应的单词,比如20返回“Twenty”,30返回“Thirty”等,这些单词也可以用一个数组存储,方便查找。如果参数不是10的倍数,还需要在后面加上个位数的单词,比如21返回“Twenty One”,35返回“Thirty Five”等。

- 如果参数大于等于100,小于1000,返回对应的单词,比如100返回“One Hundred”,200返回“Two Hundred”等,这些单词可以用百位数的单词加上“Hundred”组成。如果参数不是100的倍数,还需要在后面加上十位和个位数的单词,比如123返回“One Hundred Twenty Three”,456返回“Four Hundred Fifty Six”等。

- 用一个字符串变量,比如叫做result,存储最终的英文表示。根据每个部分是否为0,决定是否将其转换后的英文表示加入到result中,以及是否加上相应的单位词,比如billion,million,thousand等。注意每个单词之间要加上空格,首尾不要加空格。

- 返回result。

程序展示

基于以上的分析,我们可以用C语言编写如下的程序:

#include <stdio.h> #include <stdlib.h> #include <string.h> // 定义一些常量,表示不同的单位和范围 #define BILLION 1000000000 #define MILLION 1000000 #define THOUSAND 1000 #define ZERO "Zero" #define SPACE " " // 定义一些数组,存储不同的单词 char *oneToNineteen[20] = {"One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"}; char *twentyToNinety[8] = {"Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"}; char *hundred = "Hundred"; char *billion = "Billion"; char *million = "Million"; char *thousand = "Thousand"; // 定义一个辅助函数,用来转换小于1000的整数为英文表示 char *convertThree(int num) { char *result = (char *)malloc(32 * sizeof(char)); // 分配一个足够大的空间,存储转换后的字符串 result[0] = '\0'; // 初始化为空字符串 if (num == 0) { // 如果是0,直接返回空字符串 return result; } if (num < 20) { // 如果小于20,直接返回对应的单词 strcpy(result, oneToNineteen[num - 1]); return result; } if (num < 100) { // 如果小于100,返回对应的单词,如果不是10的倍数,还要加上个位数的单词 strcpy(result, twentyToNinety[num / 10 - 2]); if (num % 10 != 0) { strcat(result, SPACE); strcat(result, oneToNineteen[num % 10 - 1]); } return result; } // 如果大于等于100,返回对应的单词,如果不是100的倍数,还要加上十位和个位数的单词 strcpy(result, oneToNineteen[num / 100 - 1]); strcat(result, SPACE); strcat(result, hundred); if (num % 100 != 0) { strcat(result, SPACE); strcat(result, convertThree(num % 100)); // 递归调用自身,处理十位和个位数 } return result; } // 定义一个主函数,用来转换任意非负整数为英文表示 char *numberToWords(int num) { if (num == 0) { // 如果是0,直接返回“Zero” return ZERO; } // 将num分解为四个部分,分别表示billion,million,thousand和剩余的部分 int billionPart = num / BILLION; int millionPart = (num - billionPart * BILLION) / MILLION; int thousandPart = (num - billionPart * BILLION - millionPart * MILLION) / THOUSAND; int restPart = num - billionPart * BILLION - millionPart * MILLION - thousandPart * THOUSAND; char *result = (char *)malloc(256 * sizeof(char)); // 分配一个足够大的空间,存储最终的英文表示 result[0] = '\0'; // 初始化为空字符串 // 根据每个部分是否为0,决定是否将其转换后的英文表示加入到result中,以及是否加上相应的单位词 if (billionPart != 0) { strcat(result, convertThree(billionPart)); strcat(result, SPACE); strcat(result, billion); } if (millionPart != 0) { if (strlen(result) != 0) { // 如果result不为空,说明前面已经有了一些单词,需要在后面加上空格 strcat(result, SPACE); } strcat(result, convertThree(millionPart)); strcat(result, SPACE); strcat(result, million); } if (thousandPart != 0) { if (strlen(result) != 0) { // 如果result不为空,说明前面已经有了一些单词,需要在后面加上空格 strcat(result, SPACE); } strcat(result, convertThree(thousandPart)); strcat(result, SPACE); strcat(result, thousand); } if (restPart != 0) { if (strlen(result) != 0) { // 如果result不为空,说明前面已经有了一些单词,需要在后面加上空格 strcat(result, SPACE); } strcat(result, convertThree(restPart)); } return result; } // 主函数,测试用例 // 主函数,测试用例 int main() { int num; // 声明一个整数变量num char *result; // 声明一个字符串指针变量result printf("请输入一个整数:"); // 提示用户输入 scanf("%d", &num); // 从键盘读取一个整数,并赋值给num result = numberToWords(num); // 调用numberToWords函数,将num转换为英文表示,并赋值给result printf("%d -> %s\n", num, result); // 输出num和result free(result); // 释放分配的空间 return 0; }

程序测试

这个程序是在VC6.0的环境下运行的,输出结果如下:

华为畅享7c手机能投屏吗,华为畅享7投屏电视(2)

当然,这个程序还可以进行一些优化和扩展,比如可以将分配的空间大小根据实际情况动态调整,而不是固定的值,增加程序的效率和稳定性;也可以将num作为用户输入,而不是固定的值,增加程序的灵活性和通用性。

源代码获取

#软件下载通道#

我用夸克网盘分享了「20240109」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。

链接:https://pan.quark.cn/s/ff7c9130f7fd

(链接和提取码建议复制粘贴,手动输入容易出现错误)

#支持一下#

分享整理,测试发布不易 如果您方便的话可以帮忙点一下↓↓

谢谢大家!

下期题目

单词搜索

给定一个m x n二维字符网格 board 和一个字符串单词word。如果word存在于网格中,返回true;否则,返false。

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

点赞加关注,学习不迷路

微信公众号|工控小新

EPLAN电气绘图、TIA博图基础 、CAD、C语言教学、单片机基础、三菱PLC ... 每日持续更新中



,

栏目热文

华为7c设置里面怎么没有无线投屏(华为nova7怎么连接无线投屏器)

华为7c设置里面怎么没有无线投屏(华为nova7怎么连接无线投屏器)

原文作者: James Larson原文来源:Audioholics优点:一体式音响系统 减少了组件不错的,中性的响应坚...

2024-01-27 10:34:06查看全文 >>

微信头像显示设置失败(微信头像修改后显示不了怎么办)

微信头像显示设置失败(微信头像修改后显示不了怎么办)

昨天把微信的头像 被老婆不小心换掉了,因为我的微信头像一直是普京的图片,今天早晨我想把我原来的图片换上去,谁知道怎么也换...

2024-01-27 10:21:27查看全文 >>

如何设置自己微信头像不显示(怎样设置微信头像别人无法查看)

如何设置自己微信头像不显示(怎样设置微信头像别人无法查看)

微信是我们日常生活中经常使用的通讯工具之一,但是为了保护我们的隐私,我们需要设置微信的隐私选项。本文将为大家介绍如何设置...

2024-01-27 11:02:27查看全文 >>

微信头像如何不要显示(微信头像简约干净)

微信头像如何不要显示(微信头像简约干净)

. 打开"微信",进入主界面,点击"我";2. 打开"设置",然后点击&...

2024-01-27 10:54:52查看全文 >>

宝马5系内饰白色好还是米银好(宝马5系白色配什么内饰好看)

宝马5系内饰白色好还是米银好(宝马5系白色配什么内饰好看)

424779元入手了一辆宝马5系,这个价格很高吗?车主说了真实感受每个男人都有一个蓝天白云梦想(这话一定要写在前面,因为...

2024-01-27 11:07:38查看全文 >>

王者荣耀怎么在电脑上改地区(王者荣耀电脑怎么改地区位置教学)

王者荣耀怎么在电脑上改地区(王者荣耀电脑怎么改地区位置教学)

王者荣耀全国最低战力地区轻松查轻松修改,一篇文章教给你!王者荣耀的玩家们,你们是否曾为追求更高的荣耀而苦苦寻找最低战力地...

2024-01-27 10:51:42查看全文 >>

宝来车门外拉线怎么换(宝来车门不好开的解决办法)

宝来车门外拉线怎么换(宝来车门不好开的解决办法)

大众宝来外拉手调节方法。大众宝来外拉手不好开门,调节方法。宝来通病外拉手又紧又不好拉。准备一个小快速,4/1的六花,5分...

2024-01-27 10:57:05查看全文 >>

宝来锁块机构坏了怎样打开车门(宝来车门锁怎么操作)

宝来锁块机构坏了怎样打开车门(宝来车门锁怎么操作)

大众宝来车门锁易坏是通病吗?经朋友推荐,入手一台二手大众宝来车,开了不到两年,右侧后车门就打不开了,而且是里外都打不开那...

2024-01-27 10:44:42查看全文 >>

宝来车门胶条密封怎么解锁(大众宝来车门锁维修视频教程全集)

宝来车门胶条密封怎么解锁(大众宝来车门锁维修视频教程全集)

为什么车门会出现打不开的情况?有时甚至关不上?为什么行车过程中车门会发出异响声?如果你也曾遇到过这种情况那么下面这份紧急...

2024-01-27 10:43:36查看全文 >>

计算机发展的四个阶段及过程(计算机发展经历了哪几个阶段)

计算机发展的四个阶段及过程(计算机发展经历了哪几个阶段)

公认的第一台电子数字计算机ENIAC(electronic numerical integrator and compu...

2024-01-27 10:28:41查看全文 >>

文档排行