数组‘
题目:把从键盘上键入的一串数字和正负号转换成等价的数字值,并打印出来.
程序:
main()
{
int i,sign;
char s[5];
long int n;
sign=1;
for(i=0;i<5;i++)
s=getcher( );
i=0;
if(s=='+'||s=='-')
sign=(s[i++]=='+')?1:-1;
for(n=0;s>='0'&&s<='9';i++)
n=10*n+s-'0';
n=n*sign;
printf("the value is %ld\n",n);
我所存在的问题:对:
if(s=='+'||s=='-')
sign=(s[i++]=='+')?1:-1;
for(n=0;s>='0'&&s<='9';i++)
n=10*n+s-'0';
n=n*sign;
理解不了.换言之就是还不理解它的算法.那位高手指点一二?谢谢了@
}
把从键盘上键入的一串数字和正负号转换成等价的数字值,并打印出来.
这个循环语句是将字符型的数字转成整型数字的,s-'0'这个就是得到的整型的数字,但是,由于可能不止有一位数字,所以,用循环,如果接收到的s>='0'&&s<='9'就说明接收到的是字符型的数字,就要转换,给你举个例子:字符串“12”先接到‘1’就将'1'-'0'得到的是整型的n=n*10+s-'0',n...
excel表中,如何把日期数转换成月份数呢?
1、打开电脑,找到需要修改的Excel表格,点击并进入。2、进入之后,选中需要修改的表格区域。3、选中之后,点击图示位置的“数据”,进入下一页面。4、进入之后,点击“分列”,进入下一页面。5、进入之后,选择“分隔符号”,点击“下一步”。6、进入下一页面之后,选择“日期”,点击“完成”即可。
关于汇编语言矩阵
; 功能:键盘输入一个指定位数(N)的十进制数字,将其转换成二进制数并保存在指定的内存单元。; 输足N位的,自动结束输入;不足N位的,回车结束输入。; 由于限定最大数据类型为字,所以,数字位数最多:5,最大无符号数:65536; 约定:直接回车,视为数字0; 入口:@@Digits=数字位数;di=保存输入的数字首地址; @@Typ...
请求DOS全套的命令符及解说
光标置位:与上面的光标定位转义序列等价。 ESC[PnA 光标上移:向上按指定的行数移动光标,所在列数不变.如果光标已在顶行,ANSI.SYS忽略该序列。 ESC[PnB 光标下移:按指定的行数向下移动光标数行,且保持所在列数不变.如果光标已在底行,ANSI.SYS忽略此序列。 ESC[PnC 光标前移:按指定的列数向前移动光标数列,且...
把从键盘上键入的一串数字和正负号转换成等价的数字值,并打印出来.
这个循环语句是将字符型的数字转成整型数字的,s-'0'这个就是得到的整型的数字,但是,由于可能不止有一位数字,所以,用循环,如果接收到的s>='0'&&s<='9'就说明接收到的是字符型的数字,就要转换,给你举个例子:字符串“12”先接到‘1’就将'1'-'0'得到的是整型的n=n*10+s-'0',n...