
打了好久都没有思路,各位帮忙看看这个
zjsjhshsudjsnwbe
#include <stdio.h>
int main()
{
int x, count;
count = 1;
scanf("%d", &x);
int n = x;
int i = 0;
int number[10] = {0};
while (x / 10 > 0)
{
number[i++] = x % 10;
x = x / 10;
if (x >= 0)
{
count++;
}
}
number[i++] = x % 10;
printf("%d\n", count);
for (i = count - 1; i >= 0; i--)
{
printf("%d", number[i]);
if(i != 0)
{
printf(" ");
}
}
printf("\n");
for (i = 0; i < count; i++)
{
printf("%d", number[i]);
}
printf("\n");
return 0;
}
#include <iostream>
#include <stack>
using namespace std;
int main()
{
stack<int> temp;//存放栈
int ans = 54321;
int t = 0;//临时变量
int result = 0;//逆顺序结果
int count = 0;//计数器
while (ans % 10)
{
t = ans % 10;
ans = ans / 10;
temp.push(t);
result = result * 10 + t;
count++;
}
cout << "数量:" << count << endl;
cout << "逐一打印:";
while (!temp.empty())
{
cout << temp.top() <<" ";
temp.pop();
}
cout << endl;
cout << "逆顺序:"<< result;
return 0;
}