Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14967
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-22 15:44
个人简介

Be better

文章分类

全部博文(17)

文章存档

2016年(12)

2015年(5)

我的朋友

分类: C/C++

2016-03-05 08:27:19

#include
#include
#include
#define SIZE 10


void main()
{
int num, i, res = 0;
scanf_s("%d", &num);
printf("%d有", num);


for (i = 0; i < SIZE; i++)
{
if (num / pow(10, i) >= 1 && num / pow(10, i + 1) < 1)
{
printf("%d位\n", i + 1);
break;
}
}


for (int j = i; i >= 0; i--)
{
res = res + pow(10, j - i)*((int)(num / pow(10, i)) % 10);


}
printf("%d-->%d\n", num, res);


system("pause");


}
/************************************************************************/
 /*                           分块方法                                      
/************************************************************************/
int wei5(int num)//do while实现
{
int wei = 0;
do 
{
num /= 10;
wei++;


} while (num);
return wei;


}




int wei4(int num)//while实现
{
int wei = 0;
while (num)
{
num /= 10;
wei++;
}
return wei;
}


int wei3(int num)//for循环实现
{
int wei = 0;
for (; num > 0;)
{
num /= 10;
wei++;

}
return wei;
}




int wei2(int num) //goto实现
{
int wei=0;
AAA: if (num)
{
num /= 10;
wei++;
goto AAA;
}
return wei;
}




int wei1(int num)//递归实现
{
if (num < 10)
{
return 1;
}
else
{
return 1 + wei1(num / 10);

}
}


int rock(int num)
{
int wei = wei5(num);
int res = 0;
for (int j = wei-1; wei >= 0;wei--)
{
res = res + pow(10, j - wei)*((int)(num / pow(10, wei)) % 10);


}
return res;


}




void main()
{
int num, i, res = 0;
scanf_s("%d", &num);


printf("%d\n",rock(num));


system("pause");
}
阅读(261) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~