发布网友 发布时间:2024-10-08 15:59
共5个回答
热心网友 时间:2024-10-31 12:32
你说的应该是printf函数吧:
通俗的说%m.n中m标示宽度,n标示小数点后显示几位。你的就是显示5个宽度,其中显示2位小数。
如果你想了解详细和根本的,看下面的(来自百度文库):
int printf(const char *format,[argument]);
format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type
2.flags 规定输出格式,取值和含义如下:
无 右对齐,左边填充0和空格
- 左对齐,右边填充空格
+ 在数字前增加符号 + 或 -
0 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)
空格 输出值为正时冠以空格,为负时冠以负号
# 当type=c,s,d,i,u时没有影响
type=o,x,X时,分别在数值前增加'0',"0x","0X"
type=e,E,f时,总是使用小数点
type=g,G时,除了数值为0外总是显示小数点
3.width 用于控制显示数值的宽度,取值和含义如下
n(n=1,2,3...) 宽度至少为n位,不够以空格填充
0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充
* 格式列表中,下一个参数还是width
4.prec 用于控制小数点后面的位数,取值和含义如下:
无 按缺省精度显示
0 当type=d,i,o,u,x时,没有影响
type=e,E,f时,不显示小数点
n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数
type=其他,表示显示的最大宽度
.* 格式列表中,下一个参数还是width
希望有用。
热心网友 时间:2024-10-31 12:32
‘2’是字符2
(c-'2‘)的意思是,当你在键盘录入 5, (c-'2') = 3, 当录入 9, (c-’2‘)=7
热心网友 时间:2024-10-31 12:33
‘2’ 对应的10进制是50
getchar有一个int型的返回值. 你把c来接受这个返回值
getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1
热心网友 时间:2024-10-31 12:33
代表一个字符,与ASCII对应,char a = '2';追问c=getchar()每次只读取一个字符吗?'2‘是为什么不是代表ASCII代码值中的050呢?关键是switch(c-'2')这里不懂
热心网友 时间:2024-10-31 12:34
2473,分别对应ascii“50,52,55,51”,你的swich语句写的不对,请修改成
#include<stdio.h>
main()
{int c;
while((c=getchar())!='\n')
{switch(c-'2')
{case 0:;break;
case 1:putchar(c+4);break;
case 2:putchar(c+4);break;
case 3:putchar(c+3);break;
default:putchar(c+2);break;
}
}
printf("\n");
}
如果把switch中的purtchar语句全部改成与printf("%d",c+i),i是你定义加几的数值,例如4就填4,
你输出2473后,就会出来56,59,55数值,与你要算出的结果一致。
热心网友 时间:2024-10-31 12:32
你说的应该是printf函数吧:
通俗的说%m.n中m标示宽度,n标示小数点后显示几位。你的就是显示5个宽度,其中显示2位小数。
如果你想了解详细和根本的,看下面的(来自百度文库):
int printf(const char *format,[argument]);
format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type
2.flags 规定输出格式,取值和含义如下:
无 右对齐,左边填充0和空格
- 左对齐,右边填充空格
+ 在数字前增加符号 + 或 -
0 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)
空格 输出值为正时冠以空格,为负时冠以负号
# 当type=c,s,d,i,u时没有影响
type=o,x,X时,分别在数值前增加'0',"0x","0X"
type=e,E,f时,总是使用小数点
type=g,G时,除了数值为0外总是显示小数点
3.width 用于控制显示数值的宽度,取值和含义如下
n(n=1,2,3...) 宽度至少为n位,不够以空格填充
0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充
* 格式列表中,下一个参数还是width
4.prec 用于控制小数点后面的位数,取值和含义如下:
无 按缺省精度显示
0 当type=d,i,o,u,x时,没有影响
type=e,E,f时,不显示小数点
n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数
type=其他,表示显示的最大宽度
.* 格式列表中,下一个参数还是width
希望有用。
热心网友 时间:2024-10-31 12:32
‘2’是字符2
(c-'2‘)的意思是,当你在键盘录入 5, (c-'2') = 3, 当录入 9, (c-’2‘)=7
热心网友 时间:2024-10-31 12:33
‘2’ 对应的10进制是50
getchar有一个int型的返回值. 你把c来接受这个返回值
getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1
热心网友 时间:2024-10-31 12:33
代表一个字符,与ASCII对应,char a = '2';追问c=getchar()每次只读取一个字符吗?'2‘是为什么不是代表ASCII代码值中的050呢?关键是switch(c-'2')这里不懂
热心网友 时间:2024-10-31 12:34
2473,分别对应ascii“50,52,55,51”,你的swich语句写的不对,请修改成
#include<stdio.h>
main()
{int c;
while((c=getchar())!='\n')
{switch(c-'2')
{case 0:;break;
case 1:putchar(c+4);break;
case 2:putchar(c+4);break;
case 3:putchar(c+3);break;
default:putchar(c+2);break;
}
}
printf("\n");
}
如果把switch中的purtchar语句全部改成与printf("%d",c+i),i是你定义加几的数值,例如4就填4,
你输出2473后,就会出来56,59,55数值,与你要算出的结果一致。
热心网友 时间:2024-10-31 12:32
你说的应该是printf函数吧:
通俗的说%m.n中m标示宽度,n标示小数点后显示几位。你的就是显示5个宽度,其中显示2位小数。
如果你想了解详细和根本的,看下面的(来自百度文库):
int printf(const char *format,[argument]);
format 参数输出的格式,定义格式为:%[flags][width][.perc][F|N|h|l]type
2.flags 规定输出格式,取值和含义如下:
无 右对齐,左边填充0和空格
- 左对齐,右边填充空格
+ 在数字前增加符号 + 或 -
0 将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)
空格 输出值为正时冠以空格,为负时冠以负号
# 当type=c,s,d,i,u时没有影响
type=o,x,X时,分别在数值前增加'0',"0x","0X"
type=e,E,f时,总是使用小数点
type=g,G时,除了数值为0外总是显示小数点
3.width 用于控制显示数值的宽度,取值和含义如下
n(n=1,2,3...) 宽度至少为n位,不够以空格填充
0n(n=1,2,3...) 宽度至少为n位,不够左边以0填充
* 格式列表中,下一个参数还是width
4.prec 用于控制小数点后面的位数,取值和含义如下:
无 按缺省精度显示
0 当type=d,i,o,u,x时,没有影响
type=e,E,f时,不显示小数点
n(n=1,2,3...) 当type=e,E,f时表示的最大小数位数
type=其他,表示显示的最大宽度
.* 格式列表中,下一个参数还是width
希望有用。
热心网友 时间:2024-10-31 12:32
‘2’是字符2
(c-'2‘)的意思是,当你在键盘录入 5, (c-'2') = 3, 当录入 9, (c-’2‘)=7
热心网友 时间:2024-10-31 12:33
‘2’ 对应的10进制是50
getchar有一个int型的返回值. 你把c来接受这个返回值
getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1
热心网友 时间:2024-10-31 12:33
代表一个字符,与ASCII对应,char a = '2';追问c=getchar()每次只读取一个字符吗?'2‘是为什么不是代表ASCII代码值中的050呢?关键是switch(c-'2')这里不懂
热心网友 时间:2024-10-31 12:34
2473,分别对应ascii“50,52,55,51”,你的swich语句写的不对,请修改成
#include<stdio.h>
main()
{int c;
while((c=getchar())!='\n')
{switch(c-'2')
{case 0:;break;
case 1:putchar(c+4);break;
case 2:putchar(c+4);break;
case 3:putchar(c+3);break;
default:putchar(c+2);break;
}
}
printf("\n");
}
如果把switch中的purtchar语句全部改成与printf("%d",c+i),i是你定义加几的数值,例如4就填4,
你输出2473后,就会出来56,59,55数值,与你要算出的结果一致。