总结1

来源:互联网 发布:角度弧度转换器软件 编辑:程序博客网 时间:2024/05/29 17:19

                                                                                                              总结

                这个大周我遇到了一道题,就是输入一个数,输出它的逆序数。一开始我想拆开放到数组中,再合并在一起。代码打到一半,猛地发现了一个更简单的打法,只要拆开后把数组里面的数字一个一个地输出就好了(我是从末尾开始拆的,所以只要正着输出就可以了)代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
long long i,x,x1,s;
int sw[20];
cin>>x;
x1=x; i=0; sw[0]=0;
while (x1>0)
{
i=i+1;
sw[i]=x1%10;
x1=x1/10;
}
for (int k=1;k<=i;k++)
cout<<sw[k];
return 0;
但是我忘记考虑了一种情况:当输入的数是像200,20,200,550这种数字后几位是0的情况,因此只有八十分。想起来真的有点小伤心呢。
 我马上想起这种情况,立刻快马加鞭地把题目赶了出来,但是有点着急,所以存在一些小错误。代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long i,x,x1,s;
int sw[20];
cin>>x;
x1=x; i=0; sw[0]=0;
while (x1>0)
{
i=i+1;
sw[i]=x1%10;
x1=x1/10;
}
for (int k=1;k<=i;k++)
{
for(int j=0;j<=k-1;j++)
if (sw[j]!=0) s=1;
if (s==1) cout<<sw[k];
}
return 0;
}
今天想起来真的有点难为情呢!
当时因为已经下课了,老师也在催了。只能把文件存在U盘里带走
下次打了。

第二天
  我打开U盘一看,我去,文件没了,被清空了。问了老师,老实说可能U盘有病毒。看来得买个好U盘了。
 重打了一遍,理了理思绪。就AC了。 有时候实在不知道为什么错了,就重打,重打就可以抛开那些拘束,让思路变得清晰。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main()
{
     long long i,x,x1,s;
int sw[20];
cin>>x;
x1=x; i=0; s=0; sw[0]=0;
while (x1>0)
{
i=i+1;
sw[i]=x1%10;
x1=x1/10;
}
     for (int k=1;k<=i;k++)
     {
      if (sw[k]==0)
{
        for (int j=0;j<k;j++)
if (sw[j]!=0) s=1;
      }
         else cout<<sw[k];
        if (s==1) cout<<sw[k];
        s=0;
}
return 0;
}




 

                               

原创粉丝点击