zzy20131010 @ 2024-02-02 23:03:04
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N;
int i;
int f;
char h[100];
bool flat=false;
cin>>N;
i=1;
if(N<0)
{
flat=true;
N=0-N;
cout<<"-";
}
//主要程序
while(N!=0)
{
f=1;
i=N%10;
N=N/10;
if(i==0&&f==1)
{
continue;
}
if(i=='-'&&f==1)
{
continue;
}
cout<<i;
f++;
}
}
by Lin_Ziluo @ 2024-02-07 11:59:54
你的i是int类型,怎么可能等于‘-’,第二个if判断相当于没有用处,下面的continue也不会执行,肯定会错
by Lin_Ziluo @ 2024-02-07 17:38:38
还有,字符数组h没用啊,整个程序下来除了定义的时候我就没见过它了!
by Lin_Ziluo @ 2024-02-08 22:30:32
AC代码(仅供参考)
#include <bits/stdc++.h>
using namespace std;
int main(){ //以上不解释
int N;
cin >> N;
for (int i = 1;i <= 9;i++){
if (N % 10 == 0) N /= 10;
else break; //把0(末尾)去掉
}
if (N == 0){
cout << 0;
return 0; //N为0的情况特殊处理
}
if (N < 0){
N = 0 - N;
cout << '-'; //负数的情况特殊处理
}
while (N > 0){
cout << N % 10;
N /= 10; //从个位开始倒序输出
}
return 0;
}