将 1000 位数字与 10 位数字交换 (C)

2023-12-02

我正在尝试切换,例如:输入 54321.987,然后 4 和 2 应该切换,因此输出将为 52341.987。 54321.777 应变为 52341.777。如果是 2345.777,则应为 4325.777。除此之外的任何事情我都不关心。但如果像 888886543.777 那样,则只需从逗号之前最右边的部分切换第二个和第四个数字即可。所以它会变成888884563.777

因此,正如 LearningC 所建议的,我尝试仅将 1000 位数与 10 位数交换。

但无论我尝试什么,我都会遇到错误。我无法传递错误。我该怎么做?

到目前为止,我真正有效的只是这样:

   int main(int argc, char** argv) {
        double x;
        scanf("%lf", &x);

        double tens = ((int) (x / 10)) % 10;
        double thousands = ((int) (x / 1000)) % 10;

        printf("%09.3f", x += (tens - thousands) * 990.0);
        return 0;
    }

上面的代码现在可以工作了。


首先,您必须确定这些数字。

你可以这样做

double tens = ((int)(x / 10)) % 10;
double thousands = ((int)(x / 1000)) % 10;

这使您能够做到

x = x - (tens * 10.0) - (thousands * 1000.0) + (tens * 1000.0) + (thousands * 10.0);

它在原来的位置减去它们并以交换的方式重新添加它们。

您可以将其优化为

x = x + tens * (1000.0 - 10.0) - thousands * (1000.0 - 10.0);

再说一次,这是为了

x += (tens - thousands) * 990.0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 1000 位数字与 10 位数字交换 (C) 的相关文章

随机推荐

  • 在匹配中返回 Result>

    我有一组实现给定特征的类型 我想从字符串名称中获取具体类型对象 奇怪的是 当我的match回报Box
  • 目标 c 中 didload 方法启动时的 LandscapeOrientation

    我做了一个iPad应用程序 当我第一次以纵向模式加载应用程序时 它工作正常 但是当我第一次以横向模式加载应用程序时 它仅采用纵向模式的坐标 因为在我的内部didLoad方法我只给出纵向模式的坐标 现在需要给出我的横向模式的坐标didLoad
  • Docker 无法启动 Rails

    我正在尝试使用 Rails 启动我的 Rails 应用程序 它依赖于redis 它似乎可以工作 但是当rails服务器启动时它会失败Cannot assign requested address connect 2 for 1 6379 E
  • GetFileVersionInfo() 返回错误的文件版本信息

    我有一个应用程序需要检查各种系统 EXE 和 DLL 的版本以确定它们是否容易受到攻击 这是一个本机 C 应用程序 在其清单中不提供任何特定的 WinSxS 链接 在 Windows 7 上 当我在绝对路径 例如 c windows sys
  • 编写函数将某些列更改为小写

    我正在尝试编写一个函数 该函数允许我将数据框中某些字段的大小写更改为小写 我试图通过使用 function for 和 tolower 命令来做到这一点 但我没有任何运气 我对 R 还很陌生 所以我可能会遗漏一些明显的东西 我将不胜感激任何
  • 将具有动态高度的 div 移出其父容器

    我正在尝试将高度动态变化的 div 移出其父 div 并返回 问题是动态高度 否则我可以轻松地将负高度设置为底部值 现在我只是将一个很大的负数像素设置为底部值 但这不是很好 也不能正确解决问题 从逻辑上讲 这种情况发生在少数人身上 fidd
  • 这个计算每个元音出现次数的 C 程序有什么问题?

    PROBLEM 编写一个 C 程序 提示用户输入一串以 ENTER 键结尾的字符 即 n 然后统计该字符串中每个元音出现的总数 您的程序应遵循以下准则 你的程序应该声明一个由5个整型计数器组成的数组 即counter 使用循环 您的程序应将
  • 编写一个 c 函数,在给定特定范围的情况下生成一个随机数、一对随机数或一组随机数

    我必须为 3 种不同的情况生成随机数 我 1 个骰子 二 一对骰子 三 3 个骰子 我的问题 1 请建议我为所有 3 种情况生成随机数的良好逻辑 2 当我考虑2个骰子而不是1个骰子的cses时 逻辑会改变吗 3 我们生成随机数的范围对随机函
  • 如何在社交媒体应用中阻止 Firebase 上的用户?适用于 iOS

    在此输入图像描述我的应用程序完成度约为 90 并已准备好发布它 以便可以发布它进行测试 我被苹果拒绝了 因为我没有一个非常重要的功能 一种让用户阻止滥用用户的机制 我已经有了一个可以关注其他用户的功 能 但我一直困惑于如何阻止访问 这样当一
  • 如何在ELB后面的tomcat上重定向到https

    我在 AWS 上有以下设置 ELB 终止 SSL gt nginx 在 80 上接收 http 并转发到 gt 8080 上的 tomcat 但是当我在 servlet 中执行 response sendRedirect somepath
  • 使用正则表达式从 html 中提取电子邮件

    我正在尝试使用正则表达式从中提取任何 jabber 帐户 电子邮件 这一页 我尝试过使用正则表达式 w w w w w 但它没有产生预期的结果 这可能有效 s lt gt s lt gt s lt gt p re compile ur s
  • 分解(转置?)Spark SQL 表中的多列

    我正在使用 Spark SQL 我提到它在 Spark 中 以防影响 SQL 语法 我还不够熟悉 无法确定 并且我有一个正在尝试重新构造的表 但我尝试同时转置多列时遇到困难 基本上我的数据看起来像 userId someString var
  • 如何修复 Google OAuth API - (403) 您的 API 密钥上配置了按 IP 或按引用者限制

    我最近将一个项目转移到另一台服务器 域名是一样的 只是指向了新服务器 网址完全相同 然而 自从移动项目以来 当应用程序尝试连接到 google OAuth api 时 我收到此错误 name Error calling GET https
  • CSS 自定义光标在 FF/Chrome 中不起作用

    我正在尝试使用下图创建自定义光标 http anuary com dev hp pad3 public images hand cursor png 必须保留图像大小 我试过简单地使用body cursor url http anuary
  • Ansible 列表列表 - 扁平化

    我在剧本中使用 set fact 来使用 regex findall 收集数据 我用正则表达式取出两个组 最终结果变成一个列表列表 set fact nestedList myOutput stdout 0 regex findall n
  • 找出构成四边形的点的顺序

    给予的同时一个答案 to 给定四个坐标检查它是否形成正方形 我碰到这个答案 它检查平行四边形 然后检查直角 这有效 但前提是输入的点按一定顺序排列 即 P1 和 P3 必须彼此 相对 而不是相邻 那么 问题来了 如果输入的四个点可以按任何顺
  • 位置“/”处的匹配叶路由没有元素

    位置 处的匹配叶路由没有元素 这意味着默认情况下它将呈现一个空值 从而导致 空 页面 App js File import BrowserRouter as Router Routes Route from react router dom
  • 如何使用 Silverlight 4.0 且不使用 EF 设置 RIA 服务

    作为 Silverlight 新手 我发现设置 RIA Web 服务非常困难 网络上提供的示例几乎总是将实体框架称为 ORM 但我们使用 NHibernate 作为 ORM 我知道 Brad Abrams 的教程 他使用 NHibernat
  • Django ManyToManyField 引用其他应用程序返回“app.model.None”

    我试图从另一个应用程序获取模型 ManyToManyField 并创建一个列表 但在尝试在模板中调用它时它返回 app1 Model None app1 models class Illness models Model title mod
  • 将 1000 位数字与 10 位数字交换 (C)

    我正在尝试切换 例如 输入 54321 987 然后 4 和 2 应该切换 因此输出将为 52341 987 54321 777 应变为 52341 777 如果是 2345 777 则应为 4325 777 除此之外的任何事情我都不关心