商城首页欢迎来到中国正版软件门户

您的位置:首页 > 软件教程 >如何将整数转换为千分位形式,不使用数组和函数

如何将整数转换为千分位形式,不使用数组和函数

  发布于2025-02-02 阅读(0)

扫一扫,手机访问

c语言如何不使用数组和函数输出一个整数的千分位形式如7654321为7

c语言如何不使用数组和函数输出一个整数的千分位形式如7654321为7

#include

main()

{

char n[100];

int i;

gets(n);

for(i=0;n[i]!='\0';i++)

{

if((i+1)%3==0)

printf(",");

printf("%c",n[i]);

}

}

不太理解千分位的意思 你自己调试吧。。

刚刚我漏看一个1

#include

#include

main()

{

char n[100];

int i,k,j,b;

gets(n);

k=strlen(n);

while(k>=3)

k-=3;

for(j=0;jprintf("%c",n[j]);

if(k)

printf(",");

for(i=k,j=0;n[i]!='\0';i++,j++)

{

if(j%3==0&j!=0)

printf(",");

printf("%c",n[i]);

}

}新程序

C语言逗号表达式的问题 x 6 y 7 z 8

首先说明原理:

1)逗号运算符也称顺序值运算符,即从左至右顺序执行,最后一个值会覆盖前面的值,所以使用逗号将几个表达式连接起来的带括号的表达式,最终整个逗号表达式的值为最后一个表达式的值。

2)自增和自减运算符有前置和后置之分,在混合运算中,前置是先自增或者自减,再进行取值;而后置恰好相反,即先取值进行运算,然后再自增或者自减。

在r=func((x--,y--,x+y),z--)这个函数调用中,第一个参数使用了原理1)和2),第二个参数使用了原理2)。

首先对于第一个参数(x--,y--,x+y),这是一个逗号运算符,从左至右运算:x--(先取x的值,然后x自减,其值变为x=5),同理(先取y的值,然后y自减,其值变为y=6),但由于这是一个逗号运算符,因此x+y的值为x+y=5+6=11,最终r=func((x--,y--,x+y),z--)=func(11,z--);

其次,z--同理,先取值z=8进行传参数,进行函数调用r=func((x--,y--,x+y),z--),然后z才执行自减(从而z=7)

补充:如果x--,y--换成r=func((--x,--y,x+y),z--)结果也是一样的,这是因为逗号运算符是从左至右进行运算的,先算完第一个逗号之前的表达式,在计算第二个逗号之前的表达式,依此类推,故,无论是前置还是后置,x的值都是在计算第二个逗号之前已经改变;但是逗号运算符中最后一个逗号除外(即前置才起作用,后置对逗号表达式的结果没影响)。。。

书写不易,人艰不拆,不喜勿喷,谢谢点赞!!!

本文转载于:https://www.docexcel.net/show/24_143219.html 如有侵犯,请联系admin@zhengruan.com删除

热门关注