例3: 输入一个3位数的整数,要求求出它的各 位数值之和。 如: 输入:123,输出:1+2+3=6 input:256,0 utput:2+5+6=13 制作人:程艾芝 车角学
例3: • 输入一个3位数的整数,要求求出它的各 位数值之和。 • 如: • 输入:123,输出:1+2+3=6 • input:256,output:2+5+6=13
分析 ·首先:从x中分离出各位数 思路1:当数值输入,分别取出百位数,十位 数和个位数。 思路2:当字符输入,取出第一,第二,第三 位,再分别转换成数值型相加。 其次:求各位数之和h。 数据处理完毕,加上输入输出语句 制作人:程艾芝 车角学
分析 • 首先:从x中分离出各位数。 • 思路1:当数值输入,分别取出百位数,十位 数和个位数。 • 思路2:当字符输入,取出第一,第二,第三 位,再分别转换成数值型相加。 • 其次:求各位数之和h。 • 数据处理完毕,加上输入输出语句
分离各位:数学处理方法 取百位数:→x1 XI=int(x/100) 取十位数:→x2x=11000 X3=x-X1*100-X2*10 取个位数:→x3 开阔思路,还可以怎么计算? 制作人:程艾芝 车角学
分离各位:数学处理方法 • 取百位数:→x1 • 取十位数:→x2 • 取个位数:→x3 • 开阔思路,还可以怎么计算? X1=int(x/100) X2=int((x-x1*100)/10) X3=x-x1*100-x2*10
分离各位:字符串方法 若x是字符,取各位数用什么方法? 取左边一个字符:→x1 XI=left(x 取中间一个字符:→x2X=b减2 X3=-right(x, 1) 取右边一个字符:→x3 制作人:程艾芝 车角学
分离各位:字符串方法 • 若x是字符,取各位数用什么方法? • 取左边一个字符:→x1 • 取中间一个字符:→x2 • 取右边一个字符:→x3 X1=left(x,1) X2=subs(x,2,1) X3=right(x,1)
求各位之和 对于(1)>h-x1+x2+x3 对于(2)>h=x1+x2+x3得到什么结果? ·由于x1,x2,x3是字符,故字符串连接,又 还原为原来的值 对于(2)的正确处理方法:进行数据类型 转换(方法?) 制作人:程艾芝 车角学
求各位之和 • 对于(1)→h=x1+x2+x3 • 对于(2)→h=x1+x2+x3得到什么结果? • 由于x1,x2,x3是字符,故字符串连接,又 还原为原来的值。 • 对于(2)的正确处理方法:进行数据类型 转换(方法? )