c语言输出格式(printf后面怎么写)

c语言中printf后面怎么写?

int printf(const char *format,[argument]);

format 参数输出的格式,定义格式为:

%[flags][width][.perc] [F|N|h|l]type

规定数据输出方式,具体如下:

1.type 含义如下:

d 有符号10进制整数

i 有符号10进制整数

o 有符号8进制整数

u 无符号10进制整数

X/x 有符号16进制整数

F/f 浮点数

E/e 用科学表示格式的浮点数

g 使用%f和%e表示中的总的位数表示最短的来表示浮点数 G 同g格式,但表示为指数

c 单个字符

s 字符串

% 显示百分号本身

p 显示一个指针,near指针表示为:XXXX

far 指针表示为:XXXX:YYYY

n 相连参量应是一个指针,其中存放已写字符的个数

c语言printf输出格式问题

  • include stdio.hinclude stdlib.hint main() int n,m; scanf("%d",&n); m=(n%10)*100&x2B;(n10%10)*10&x2B;n100; printf("%03dn",m); return 0;输入120输出021但将printf("%03dn",m);改成printf("%0-3dn",m);后输入120为什么输出是21?这里的符号是什么作用?
  • -表示左对齐啊,总不能在右边补零吧

c语言求余数输出格式问题?

  • 记得有人说在输出余数时要多加%号,比如printf("x%%y=%d",z)而不是直接是printf("x%y=%d",z)?
  • 恩,确实要多加一个百分号,可以自己编写下程序实践一下。因为%是格式化输出字符,如果不多加一个,编译系统会将那个%当做格式化输出字符处理,而%后面如果不是一个正确的字符,如d,x,o等,可能会报错吧

C语言输出时间的格式问题

  • 要输入时间,但是用printf(“%d:%d”&92孩胆粉感莠啡疯拾弗浆;n",hour,min);的话,遇到23:03 就会变成23:3,这怎么办啊,要求的是必须是两位,如果用“%2d”,又成了空格3,应该怎么弄啊?
  • 当成字符输出

c语言格式输出补零的问题

  • 2:long y= -43456;printf ("%-08ldn",y)printf ("%08ldn",y)printf ("%&x2B;8ldn",y)-43456-43456-0043456 -43456请问1.为什么第一个行左对齐不需要补零呢2.为什么第二行输出补的零是在-和00之间, 3.一般补零的规则是什么呢求详解
  • C语言格式化输出默认为右对齐,&x2B;表示右对齐,-表示左对齐printf ("%-08ldn",y)默认在后面补两个 ,不可能补0,补0就改变了数值大小,所以和0没关系printf ("%08ldn",y)为右对其,前补0,结果都为-0043456printf ("%&x2B;8ldn",y)为右对齐,前补空格,结果为**-43456 注意:此处的星号表示空格!!(因为打空格怕你看不出来。。。)

C语言的输出格式printf中的m,n的用法

  • include stdio.hint main()float a; a=4444.6677;printf(&quot迹抚管幌攮呵归童害阔;%6.2fn",a);return 0;在这个问题中 输出的值为4444.67 但是听说小数点不是会占位的吗 那为什么得到的是这个值呢这个%(m,n)应该怎么用呢 希望可以举几个简单的例子
  • 比如,现在有个数:5。正常输出的时候就是:5如果我们需要宽度为 3,输出即为: 5前面多了两个空格,一共是三位。

在C语言中,如何利用格式控制串输出一个浮点数的符号? (不用if 和while语句)

  • 例如-123.456.则输出一个“-”谢大佬解答,我已经油尽灯枯想不出来了。。
  • 用sscanf确实可以实现,代码如下:include stdio.hint main() char *str="1.0 2.0 3.0 4.0 50.0" ; int i ; double d ; i=0; while( *str == ) str&x2B;&x2B; ; while( sscanf( str, "%lf" , &d )==1 ) while( *str != ) str&x2B;&x2B; ; 跳过已读过的数 i&x2B;&x2B;; printf( "d:%03d= %lfn" , i , d ); while( *str == ) str&x2B;&x2B; ; 跳过分格符:空格 printf( "there is(are) %d float num(s) in strn" , i ); return 0;当然,你也可以用strtok()函数过获取数据,细节可参看相应的函数介绍

c语言中,将浮点数以整数格式输出,结果离谱,高手能讲一下为什么吗?

  • include stdio.hinclude stdlib.hinclude "math.h"int main(笭怠蒂干郦妨垫施叮渐) printf("%d",2.7); return 0;编译环境是codeblocks&x2B;mingw
  • 浮点数除去整数,整数将在编译期转化为浮点数,然后再相除,结果也是浮点数

下面这段C语言代码的格式输出中,为什么要加-4?

  • -4是指对应输出的数据占4个位置,不足4个位置的左对齐

c语言问题:为什么把整数以%f格式输出是0.000?

  • includestdio.h void main() printf("%fn",1073741824);为什么输出是0.0000?
  • 输出格式:printf("%fn",变量名);对氦害份轿莓计逢袭抚陋于变量没有赋值的,显示随机值。一般情况下,都是显示0由于没有对浮点数的格式进行进一步规定,因此按浮点数所能输出的格式,输出0.000000(小数点后面6个0)其实,不管后面是什么数字(你写的是1073741824),程序都把它作为变量名,而不是数值。

C语言中输入格式、输出格式的组成包括哪些内容?

  • 希望被楼主~~!!printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf("格式化字符串", 参量表); 其中格式化字符串包括两部分内容:一部分是正常字符, 这些字符将按原样输出;另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。 参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。*******************************************************************printf的格式控制的完整格式:% &8211; 0 m.n l或h 格式字符下面对组成格式说明的各项加以说明:①%:表示格式说明的起始符号,不可缺少。②-:有-表示左对齐输出,如省略表示右对齐输出。③0:有0表示指定空位填0,如省略表示指定空位不填。④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。 n指精度,用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。格式:(1)最常用的格式是%d,含义是以10进制形式打印一个整数。如果输出的整数是负数,则输出的第一个字符就是-号。%d:按整型数据的实际长度输出。%md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。%ld:输出长整型数据。(2)%u格式与%d格式类似,只不过要求打印无符号10进制整数。以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用逗%mu地格式输出。(3)%o格式请求输出8进制整数,以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用逗%mo地格式输出。(4)%x和%X格式请求输出16进制整数。%x格式中用小写字母a,b,c,d,e,f来表示10到15之间的数,以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。%X格式中用大写字母A,B,C,D,E,F来表示10到15之间的数共同点:8进制和16进制整数总是作为无符号数处理的。(5)%s格式用于打印字符串,与之对应的参数应该是一个字符指针,待输出的字符始于该指针所指向的地址,直到出现一个空字符(0)才终止。%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右&8230;&8230;余下全文