首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

编程题解决思路

2012-10-19 
编程题while(ch ! #)/* */{if(ch 0 && ch 9){/* */count ch-0+1/* */scanf(%c,&nch)

编程题
while(ch != '#')/* */
{
if(ch >= '0' && ch <= '9')
{
/* */
count = ch-'0'+1;/* */
scanf("%c",&nch);/* */
for(k=0;k<count;k++)/* */
printf("%c",nch);
}
else
printf("%c",ch);/* */
printf(" ");/* */
scanf("%c",&ch);/* */
}
printf("#\n");
这里面的count = ch-'0'+1;是什么意思 啊?最好全局都解释一下 啊

[解决办法]
去查查ascii码表
'0'==0x30
'1'==0x31
'2'==0x32
'3'==0x33
'4'==0x34
'5'==0x35
'6'==0x36
'7'==0x37
'8'==0x38
'9'==0x39
假设输入的是'4'
那么count=0x34-0x30+1=5
后面那个循环就循环5次。
[解决办法]
把char型转变为数值后+1.
‘0’-‘0’+1 = 1;
……
[解决办法]
count = ch - '0' + 1;的意思是将字符'0'-'9'转化为数字9,即数值是0~9.

热点排行
Bad Request.