如何删除最后一个数字中的逗号?

     2023-04-14     158

关键词:

【中文标题】如何删除最后一个数字中的逗号?【英文标题】:How to remove the comma in the last number? 【发布时间】:2021-12-30 15:31:42 【问题描述】:

列表必须显示“1,2,3,4”,但在这段代码中显示为“1,,2,,,3,,,4” 这段代码有什么问题?

for (i = 1; i <= num1; ++i) 
    if(num1 % i == 0)
        printf("%d",i);
    if(i<num1)
        printf(",");

【问题讨论】:

【参考方案1】:

只有在打印数字时才需要打印逗号,所以把它放在同一个if中。

for(i = 1; i <= num1; ++i) 
      if(num1 % i == 0)
          printf("%d",i);
          if(i<num1)
            printf(",");
      

【讨论】:

成功了。非常感谢!! 请不要只写代码答案。解释问题的原因以及应该如何解决。我们不是调试服务。【参考方案2】:

问题是您正在打印,,即使是未通过检查的数字

固定:

for (i = 1; i <= num1; ++i) 
    if (num1 % i == 0) 
        printf("%d", i);
        if (i < num1)
            printf(",");
    


printf("\n");

以上依赖于通过检查的最后一个元素。因为是这样,所以可以简化为:

for (i = 1; i < num1; ++i) 
    if (num1 % i == 0) 
       printf("%d,", i);
    


printf("%d\n", num1);

但是,一般来说,您不能依赖最后一个通过检查的数字。以下是一种更通用的方法,不依赖于通过检查的最后一个数字:

const char *prefix = "";
for (i = 1; i <= num1; ++i) 
    if (num1 % i == 0) 
       printf("%s%d", prefix, i);
       prefix = ",";
    


printf("\n");

【讨论】:

【参考方案3】:

或者比上面更有效:

for (i = 1; i < num1; ++i) 
    if (num1 % i == 0) 
        printf("%d,",i);
    

printf("%d",num1);

换句话说:

    无需在每次迭代时检查i &lt; num1 上次迭代时无需检查num1 % i == 0

【讨论】:

【参考方案4】:

为了避免 if 或条件运算符 (?:),我通常只打印循环外的第一项

printf("1");                       // 1
for (i = 2; i <= num1; ++i)                              // note: start at 2
    if (num1 % i == 0) 
        printf(", %d", i);         // , 2, 3, 4, ..., n
    

printf("\n");                      // newline

【讨论】:

【参考方案5】:

这是一个非常简短的版本,使用三元运算符:

#include <stdio.h>

int main(void) 
    int num1=24;
    
    for (int i = 1; i <= num1; ++i)
        printf((num1%i)? "": "%d%s", i, (i<num1)? "," : "");
    
    return 0;

输出:

Success #stdin #stdout 0s 5660KB
1,2,3,4,6,8,12,24

【讨论】:

致破坏我答案的人,称其为条件运算符。不,它被称为三元运算符 (syntaxdb.com/ref/c/…) alternate 名称是“三元条件”运算符。 “条件运算符”是它的简写俚语。 就像你不可靠的来源一样,你错了。它被称为conditional operator。它是a三元运算符,是C语言的only三元运算符,但它被称为条件运算符。将其称为三元运算符就像将加法称为二元运算符。 无论如何,编辑的目的是使代码更具可读性,因为您必须滚动才能看到它。我刚刚解决了这个问题,因为我已经解决了你的答案的问题。否则我不会更改它,因为它被广泛称为三元运算符,即使这不是它的名字。但修复错误不会造成破坏。 抱歉,该链接是针对 C++ 的。 Correct link。和from the actual C spec。 (好吧,它的草稿很晚。)

如何删除for循环中的最后一个逗号

】如何删除for循环中的最后一个逗号【英文标题】:Howtoremovethelastcommainforloop【发布时间】:2017-12-0503:10:12【问题描述】:`<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><m 查看详情

如何删除 D3 轴刻度中的逗号并删除最后一个刻度?

】如何删除D3轴刻度中的逗号并删除最后一个刻度?【英文标题】:HowtoremovethecommainD3axisticksandremovethelasttick?【发布时间】:2017-02-1522:39:44【问题描述】:我正在使用D3创建条形图。如何使用tickFormat()从每个刻度线中删除1982年的\'... 查看详情

如何删除数组中的最后一个逗号和空格? Java [重复]

】如何删除数组中的最后一个逗号和空格?Java[重复]【英文标题】:Howtoremovelastcommaandspaceinarray?Java[duplicate]【发布时间】:2017-09-0821:20:51【问题描述】:伙计们,我想知道如何从数组中删除多余的逗号和空格?当我运行程序时,... 查看详情

如何删除最后一个逗号?[重复](代码片段)

这个问题在这里已有答案: HowcanIremovethelastcommafromaloopinC++inasimpleway?6个答案 Removingacommafromac++output2回答 程序显示数字列表。例如:1,3,5,3,4,3,我需要像这样:1,3,5,3,4,3我尝试了if/else声明,但它没有好处。s.p 查看详情

如何删除最后一个字符(从数组创建字符串时的逗号)? [复制]

】如何删除最后一个字符(从数组创建字符串时的逗号)?[复制]【英文标题】:Howtoremovelastcharacter(commawhencreatingastringfromanarray)?[duplicate]【发布时间】:2015-11-0103:25:29【问题描述】:我正在尝试删除此代码输出中的最后一个字符... 查看详情

如何删除javascript数组的最后一个逗号

】如何删除javascript数组的最后一个逗号【英文标题】:Howtoremovelastcommaofajavascriptarray【发布时间】:2016-09-2616:47:51【问题描述】:我已经找到了很多关于如何删除javascript字符串的最后一个逗号等的答案,但我无处可找到解决以... 查看详情

如何删除字符串中的逗号

】如何删除字符串中的逗号【英文标题】:howtoremoveacommainastring【发布时间】:2012-08-1608:13:50【问题描述】:我有一个字符串,它显示带有逗号分隔符的数字,如下所示:DecimalFormatformatter=newDecimalFormat("#,###.000000");StringtoDouble=forma... 查看详情

php删除字符串中的最后一个逗号(代码片段)

查看详情

如何从输出中删除最后一个逗号

】如何从输出中删除最后一个逗号【英文标题】:HowdoIremovethelastcommafromtheoutput【发布时间】:2021-10-0105:30:46【问题描述】:n=3result=[[1,2,3],[4,5,6],[7,8,9]]foriinrange(n):forjinrange(n):print(result[i][j],end=\',\')print()输出:1,2,3,4,5,6,7,8,9,我得到... 查看详情

如何删除最后出现的逗号,逗号本身可能不是sql中string的最后一个字符(代码片段)

表结构如下:-mysql>select*fromformjson;+----+---------------------------------------------------------+|id|jsonData|+----+---------------------------------------------------------+|1|"721005":"NO","7209 查看详情

jQuery从数组中删除最后一个逗号

...但我希望最后一个重复的项目被去掉逗号。有人可以建议如何从最后一个重复的项目中删除逗号。提前非常感谢!<scripttype="text/javascript">$("#gal 查看详情

删除foreach最后一个逗号PHP [重复]

...aPHP[duplicate]【发布时间】:2016-06-0819:24:33【问题描述】:如何从foreach()循环的输出中删除最后一个逗号?谁能帮我修改这段代码。$sth=$dbh->query(\'SELECT*FROM`stage5`ORDERBY`stage5`.`lenght`DESC\');$sth->se 查看详情

在 JavaScript 中删除最后一个逗号之前的文本

...过自动完成附加的。我当然希望\'bun\'被兔子取代。那么如何删除最后一个逗号之前的文本但保留其他所有内容?所以字符串会是“cats,dogs,bu 查看详情

如何在 array.map 中的每个元素之后添加逗号,除了 React JSX 中的最后一个元素

】如何在array.map中的每个元素之后添加逗号,除了ReactJSX中的最后一个元素【英文标题】:Howtoaddacommainarray.mapaftereveryelementexceptlastelementinReactJSX【发布时间】:2018-06-0113:57:00【问题描述】:如何在数组的每个元素之后添加一个尾... 查看详情

如何从 .t​​pl 文件中动态出现的数字中删除逗号

】如何从.t​​pl文件中动态出现的数字中删除逗号【英文标题】:Howtoremovecommafromnumberwhichcomesdynamicallyin.tplfile【发布时间】:2012-09-2405:18:48【问题描述】:我想从.tpl文件中的数字中删除逗号(例如将1,125更改为1125)。该值像$var... 查看详情

如何使用php用“and”替换字符串中的最后一个逗号?

】如何使用php用“and”替换字符串中的最后一个逗号?【英文标题】:Howtoreplacelastcommainstringwith"and"usingphp?【发布时间】:2017-06-0509:35:25【问题描述】:我正在尝试使用strrchr()和str_replace()将文本中最后出现的逗号替换为... 查看详情

使用javascript删除字符串中最后出现的逗号

...它测试,文本,123没有最后一个逗号(123后没有逗号)。如何使用javasctipt实现这一点?【问题讨论】:【参考方案1】:str.replace(/,(?=[^ 查看详情

十进制逗号删除并将逗号添加到javascript中的大数字

】十进制逗号删除并将逗号添加到javascript中的大数字【英文标题】:decimalcommaremoveandaddcommatobignumberinjavascript【发布时间】:2020-09-1106:42:59【问题描述】:我想删除结果值中的小数逗号,并以逗号作为千位分隔符打印数字。这是... 查看详情