NOIP2011题:数字反转
如:123————321
-38————-83
这题我的思路是先判断是否为负数,再把后面的数字反转,如果前面有零,就进位
但错误不少,请大神们指导
#include <iostream>
#include <cstring>
using namespace std;
//const int a = 11;
//char str[a]; //定义字符串
int main()
{
char str[111];
gets(str);
int n = strlen(str);
char str1[n+1];
for(int i=1;i<=n;++i)
{
int m=str[i-1];
str1[i]=m; //输入字符串
}
if(str[1]=='-')
{
str1[0]='-';
for(int s=1;s<=n;++s)
str1[s]=str1[s+1];
}
for(int e=1;e<=n/2;++e)
{
int t = str1[--n+1];
int y = str1[e];
str1[e] = t;
str1[--n+1] = y;
} //数组反转
int d=1, g=2;
while(str1[++d]==0&&str1[++g]!=0)
str1[d]=str1[g];
puts(str1);
return 0;
}
今天的文章NOIP2011_noip全国二等奖含金量分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/76120.html