以下程序功能是:将输入的正整数按逆序输出。例如,若输入135,则输出531,请填空
main()
{
int n,s;
printf(“Enter a number:”); scanf(“%d”,&n);
printf(“Output:”);
do
{ s=n%10;printf(“%d”,s);
_____________________
}while(n!=0);
printf(“\n”)
} 展开
#include<stdio.h>
int num, a[10], i, k=0;
printf("请输入一个正整数:");
scanf("%d", &num);
// 分离正整数的每一位,并存放到数组a中
while(num>0)
a[k++] = num%10; // 将正整数的最低位保存到数组a中
num /= 10; // 将正整数的次低位变为最低位
// 输出数组的每个元素,即实现逆序输出正整数
for(i=0; i<k; i++)
printf("%d", a[i]);
int n1,n2;
scanf("%d",&n2);
while((n2/1)!=0) //此处填写(n2/1)!=0 ,题bai目的原理在于对任意一整数比如n2=1234,
//n1=n2%10得到个位4输出,然后n2=n2/10,则得到123,反复应用此法
//直到n2变为个位数,此时n2的数值为输入时的最高位数值,n2/1仍然!=0
//输出该位后,n2=n2/10,得到的必然为0,因为n2为个位数。
扩展资料:
如果是运算符,则比较优先级。如果当前运算符的优先级大于等于栈顶运算符的优先级(当栈顶是括号时,直接入栈),则将运算符直接入栈;否则将栈顶运算符出栈并输出,直到当前运算符的优先级大于等于栈顶运算符的优先级(当栈顶是括号时,直接入栈),再将当前运算符入栈。
如果是括号,则根据括号的方向进行处理。如果是右括号,则直接入栈;否则,遇右括号前将所有的运算符全部出栈并输出,遇右括号后将左右的两括号一起删除。
参考资料来源:百度百科-前序表达式