求大佬看看错哪了

P5705 【深基2.例7】数字反转

qinyue_dad @ 2024-10-04 21:01:47

#include<stdio.h>
int main(){
    double p;
    scanf("%lf",&p);
    int a,b,c,d;
    a=(int)(p/100);
    b=(int)((p-a*100)/10);
    c=(int)(p-a*100-b*10);
    d=(int)((p-a*100-b*10-c)*10);
    printf("%d.%d%d%d",d,c,b,a);
    return 0;   
}

by kkksc_tbh @ 2024-10-04 21:13:19

#include<bits/stdc++.h>
using namespace std;
string a;
int main(){
    cin>>a;
    int len=a.size();
    for(int i=len-1;i>=0;i--){
        cout<<a[i];
    }
    return 0;
}

这题最好用字符串,简单一点。

你这个代码的问题好像在c变量。 你可以把浮点数改成整数,在数字反转,最后点上小数点。


by zqw1234 @ 2024-10-04 21:25:01

#include<bits/stdc++.h>
using namespace std;
string s;
stack<char>st;  //栈
int main(){
  cin>>s;
  for(int i = 0; i < s.size(); i++) st.push(s[i]);  //压栈
  while(!st.empty() && st.top() == '0')st.pop() //删除栈顶元素
  while(!s.empty){
   cout<<s.top()
   s.pop()
  }
  return 0;
}

by zqw1234 @ 2024-10-04 21:25:43

用栈比较适合


|