写一次作业,但是思路不是很顺,
所以就用了超麻烦的思路结果写了半个多小时
奇迹的是,成了
哈哈哈哈哈,比较兴奋,同时又感到好有趣,因为我代码太烂了
特别的冗长
题目
代码如下:
#include <stdio.h>
#include <math.h>
int weishu(int i);
int main()
{
int i = 0;
int a = 0;
scanf("%d", &i);
a = weishu(i);
if (a % 2 == 0)
{
while (i != 0)
{
if (i / (int)pow(10, a - 1) == i % 10)
{
i = i - (int)pow(10, a - 1)*(i / (int)pow(10, a - 1));
i = i / 10;
a = a - 2;
if (a == 0)
{
printf("yes");
}
}
else
{
printf("no");
break;
}
}
}
else
{
while (i != 0)
{
if (i / (int)pow(10, a - 1) == i % 10)
{
i = i - (int)pow(10, a - 1) * (i / (int)pow(10, a - 1));
i = i / 10;
a = a - 2;
if (a == 1)
{
printf("yes");
break;
}
}
else
{
printf("no");
break;
}
}
}
}
int weishu(int i)
{
int a = 0;
while (i != 0)
{
i = i / 10;
a++;
}
return a;
}
写的特别的离谱,总感觉还有其他的比较巧妙地方法,个人感觉用数组应该更方便,但是不太熟练所以就直接用一点点调试出来的方法写出来了,没想到直接通过了,哈哈哈哈,离谱
听了课以后,确实代码写的太拉垮了,其实就反转一下子就好了,代码如下:
#include <stdio.h>
int main()
{
int n = 0;
int a = 0;
scanf("%d", &n);
int n1 = n;
while (n != 0)
{
a = a*10 + n % 10;
n = n / 10;
}
if (a == n1)
{
printf("yes");
}
else
{
printf("no");
}
}