C语言编程:从键盘上输入任意整数,逆序输出其各位数字,同时求出其位数及各位数字之和。

如题所述

记录输入内容(scanf("%d",&n);)

n%10分解出最后一位数字记录(x = n%10)

n/10去掉最后一位(2个int型相除,结果没有小数位)

循环执行1、2步,加入输出(完成要求:逆序)、累和(完成要求:求和,实现:sum+=x)

直至分解出最后一位(n/10 = 0)。

扩展资料:

例如,(a+b)*(c+d)转换为*,+,a,b,+,c,d。它的优势在于只用两种简单的操作,入栈和出栈就可以解决任何中序表达式的运算。其运算方式为:如果当前字符(或字符串)为数字或变量,则压入栈内;如果是运算符,则将栈顶两个元素弹出栈外并作相应运算,再将结果压入栈内。当前序表达式扫描结束时,栈里的就是中序表达式运算的最终结果。

参考资料来源:百度百科-前序表达式

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15

记录输入内容(scanf("%d",&n);)


    n%10分解出最后一位数字 记录(x = n%10)

    n/10去掉最后一位(2个int型相除,结果没有小数位)


循环执行1、2步,加入输出(完成要求:逆序)、累和(完成要求:求和,实现:sum+=x)

直至分解出最后一位(n/10 = 0)。

本回答被网友采纳
第2个回答  2015-10-15
输入:1024
楼主希望输出什么?追问

我也不知道啊,这是选修作业,完全不懂啊。

追答

给你编写一个程序,你也不知道,是对、是错?

那么,输出:4201、4、7,可否?

相似回答