1楼:匿名用户
int t=0 , i;
int a=;
for(i=0;i<7;i++)
//其实就是用一个变量表示出现的非零数字的个数,不是零就说明出现了非零数字,就可以开始输出了;而且楼上最佳答案的**有一个漏洞,之和为0不代表全都是0,如果数组是3,0,-3,-1,1,那就会输出3,-1。这个显然是不对的。
2楼:匿名用户
#include
mian()}
3楼:匿名用户
#include
//先跳过'0'字符,再输出剩下的字符
//注意特判下0的情况
voidoutput(chars)
intmain()
4楼:veket的小号
字符数组
的#include
int main()
}printf("%s\n", &s[i]);
return 0;}
5楼:匿名用户
#include
int main()
return 0;}
c语言中字符串输出如何去掉最前面的未知个数个0?
6楼:匿名用户
#include "stdio.h"
int main()
7楼:匿名用户
char j = 0;
int number = 0;
while('\n' != (j = getchar()) )printf("%d\n",number);
ok~满意的话望采纳哈~
8楼:匿名用户
int(0000009376)
9楼:咸鱼汉
int c=0;
for(i=0;i这样就好了
10楼:敖玉兰红君
i为4,*p=s+3;p++;
p-i,*p=s
printf("%s\n",p-i);是输出一个字符串,这个字符串从数组s开始,直到这个数组结束完,数据的结束标志和字符串是一样的,故可到数组最后一个最就不打下面的字符了。
在c语言中定义整型输入整数前有0,怎样使输出结果前的0不去掉
11楼:乐跑小子
1、使用printf函数
的格式化输出即可实现在数字前补0。
2、例如:
printf("a=%06d\n", a);
//输出6位十进制整数 左边补0,显示 a=001234;
这里%06d的0就是指在前面补0占位,6代表位宽。一般这两个要一起用。
12楼:匿名用户
一般情况你是做不到的,因为数据前面有0没0是输入输出的问题,不是数据存储的问题,在程序运行过程中,变量中的数据是不带前面的0的。
解决办法
一、输入宽度与输出所定义的宽度相同
printf("%05d" , x ) ; //输出前面补0,不管你输入的数据前面有没有0
二、按字符串输入数据,而不是按整型数据来输入char x[100];
scanf("%s" , x );
printf("%s" , x ); //输入是什么,输出就是什么运算时,再将x转换成相应的整数,采用atoi(x) ;
13楼:匿名用户
只能用字符数组记录输入输出。
在c语言中定义整型输入整数前有0,怎样使输出结果前的0不去掉?
14楼:乐跑小子
1、使用printf函数的格式化输出即可实现在数字前补0。
2、例如:
printf("a=%06d\n", a);
//输出6位十进制整数 左边补0,显示 a=001234;
这里%06d的0就是指在前面补0占位,6代表位宽。一般这两个要一起用。
c语言中如何在数字前放上0
15楼:匿名用户
1、使用printf函数的格式化输出即可实现在数字前补0。
2、例如:
printf("a=%06d\n", a);
//输出6位十进制整数 左边补0,显示 a=001234;
这里%06d的0就是指在前面补0占位,6代表位宽。一般这两个要一起用。
16楼:
#include"stdio.h"
void main()
你需要输出n位,就‘%0nd’,这样可以在前边补零达到n位。
17楼:debug一辈子
格式化输入,
int n = 2;
printf("%03d",n);
注意%03d,这个表示输入3位整数,如果不足3位前面补0;
18楼:匿名用户
其实就是将十进制数转化成二进制数。主函数写主题输入一个数字,调用子函数,将十进制转化为二进制。
19楼:匿名用户
判断位数
不足位数则在前面补0
用c语言如何在数字前自动补0
20楼:会飞的小兔子
#include
usingnamespacestd;
voidmain()
;sprintf(achour,"%02d",hour);
cout<}
扩展资料
c语言基本语法
在c程序中,分号是语句终止符,也就是说,每个单独的语句必须以分号结束。它表示一个逻辑实体的结束。以下是两个不同的陈述printf("hello,world!\n");return0;
注释就像帮助c程序中的文本一样,编译器会忽略它们。它们以/*开头并以字符*/结尾,如下所示/*myfirstprograminc*/,不能在注释中添加注释,也不会在字符串或字符文字中出现。
21楼:匿名用户
printf("a=%06d\n",a);
//输出6位十进制整数左边补0,显示a=001234
比如这个%06d的0就是指在前面补0占位,6代表位宽。一般这两个要一起用。
22楼:匿名用户
printf("%02d: %02d: %02d",a,b,c);
%02d代表输出2位,不足补0
23楼:
c语言中的自动补零,可以使用printf函数,方法如下:
#include
#include
intmain()
输出结果:002
24楼:匿名用户
printf("%02d:%02d:%02d\n",a,b,c)
25楼:k寂寞的小炮
printf("%2d : %2d : %2d", a, b, c);
更多信息参考百度文库:
http://wenku.baidu.
***/link?url=u18b_2pl7qsid_dxoxcump8qchmfkjmv7jroh**gimsy_jl74vukcjndlz0obr2qkjam0vp-fmndhpn1yxmzghw7baq0lt_s0mzjgpzdnvw
26楼:匿名用户
printf("0%d: 0%d: %d",a,b,c);望采纳
c语言中怎么在输出时在个位数前+0?例如1显示成01;5显示成05 10
27楼:幻翼高达
需要准备的材料分别有:电脑、c语言编译器。
1、首先,打开c语言编译器,新建一个初始.cpp文件,例如:test.cpp。
2、在test.cpp文件中,输入c语言**:printf("%02d", 5);。
3、编译器运行test.cpp文件,此时输出5成功输出成了05。
28楼:匿名用户
可以通过
格式化输出函数printf来进行输出,同时通过控制格式化字符来实现效果。
以输出整型数值为例,要输出整型数字占m位,不足部分补0,可以写作printf("%0md", var);
其中m为正整数。
当输出的实际位数超过m时,会按照实际位数输出,否则左边补0,凑齐m位输出。
如printf("%04d", 20); 会输出0020;
printf("%08d",123); 会输出00000123;
而printf("%03d",1234);会按照本身的长度输出,即1234。这时的03控制无效。
29楼:o梦影风铃
01 printf("%02d", 1);
001 printf("%03d", 1);
0001 printf("%04d", 1);
30楼:rhino泉
int n = 4;
printf("0%d\n",n);
31楼:匿名用户
insert(0,“0”);
c语言念整数,我编的程序怎么去除前面输出的0.程序如下.(dve c++ 5.6.1)
32楼:匿名用户
可以设置一个标志:只有输出了非零数据以后再遇到0才输出"ling"。具体做法:
前面加语句:
int f=0;
switch语句之前加语句:
if(n!=0)
f=1;
后面的case 0分支改为:
case 0 :
if(f==1)
printf("ling ");
break;
33楼:栖凤婷
if(z==0)
boolbtruedata=false;
for(i=10000;i>0;i=i/10)if(!btruedata)
switch(n)}
34楼:德昂当
加个标志,当有位数为非零时
,置此标志,才会输出
int ***=0;
for(i=10000;i>0;i=i/10){n=z/i;
z=z%i;
if(n||i==1) ***=1; //只有当第一个 n为非零时,或者最后一位时 ***才被置为1
if(***)
switch(n){
35楼:葱头格拉汉姆
//加个控制变量吧
boolt(true);//进入for前if(!n=z/i&&t)continue;//替换n=z/i;
t=false;//加在switch语句后面(不是里面!)
c语言 求阶乘从右往左第一个非零的数字。 或者数学上分析也行。
36楼:匿名用户
//求阶乘最后非零位,复杂度o(nlogn)
//返回该位,n以字符串方式传入
#include
#define maxn 10000
int lastdigit(char* buf);
int len=strlen(buf),a[maxn],i,c,ret=1;
if (len==1)
return mod[buf[0]- '0 '];
for (i=0;i =0;i--)
c=c*10+a[i],a[i]=c/5,c%=5;
} return ret+ret%2*5;
} 首先我们可以知道,
n!中因子5的数目为
k(n)=[n/5]+[n/25]+[n/125]+...
如果记f(n)为所求的n!去掉0后最后一位数字
g(n)为1*2*3*4*6*7*8*9*11*...*n最后一位数字
也就是g(n)是n!中去掉5的所有倍数后乘积的最后一位数
所以我们可以知道
f(n)*2^k(n)=g(n)*f([n/5]) (mod 10)
左边要乘上2^k(n)是因为右边去掉k(n)个5,所以左边需要添加k(n)个2(2*5=10)来达到平衡
容易知道g(n)(n>=2)是个以10为周期的函数
式子f(n)*2^k(n)=g(n)*f([n/5]) (mod 10)
可以得出
f(n)*2^k(n)=g(n)*f([n/5]) (mod 5)
或者f(n) = g(n)*3^k(n) *f([n/5]) (mod 5)
记g(n) = g(n)*3^[n/5] (mod 10)
那么我们得到
f(n) = g(n)*g([n/5])*g([n/25])*...
其中g(n)是周期为20的函数(n>=2)
上面程序中用到数组就是g(n)
37楼:匿名用户
http://blog.sina.***.**/s/blog_5e2497580100ebry.html