#include stdio.h
在庆云等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站制作、成都网站设计 网站设计制作按需网站建设,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,外贸营销网站建设,庆云网站建设费用合理。
int main()
{
int n,m=0;
scanf("%d",n);
while(n)
{m=m*10+n%10;n/=10;}
printf("%d",m);
return 0;
}
运行示例:
请自行对照。
思路是先转成字符串再操作 返回值为计算出的逆序数 int f(int num) { char an[15]; int i, len, t, neg = 0; if(num 0) { num = -num; neg = 1; } sprintf(an, "%d", num); len = strlen(an); for(i=0; ilen/2; i++) { t = an[i]; an[i] = an[len - 1 -i]; an[len - 1 -i] = t; } num = atoi(an); return (neg?-num:num); } 刚才没看到你还没学到字符串,再给你个简单点的 int f(int num) { int a=0,b; while (num != 0) { b=num%10; a=a*10+b; num=num/10; } return a; }
因为这个数字很长,而且开头允许以零开始,所以有必要使用字符串来保存这个数字。然后用两个变量分别指向它的第一个数字和最后一个数字,在使用一个循环判断这两个数字是否相同,如果相同,就把前面的标加一,并且把后面的下标减去一,直到前面的下标大于后面的下标,或者两个下标所指的数字不相同。只要退出的时候两个下标的数字不相同,原来的数字就不是幸运数字,否则他就是一个幸运数字。
参考代码:
//******************************************************************************
//
逆序输出
//******************************************************************************
#includestdio.h
#include
math.h
int
main()
{
long
x,
a,
b,
i=0;
double
c=0;
//pow的用法:
double
pow(
double
base,
double
exp
);
//
clrscr();
//
i
=
0;
//
c
=
0;
printf("please
input
a
score!\n");
scanf("%ld",
x);
a
=
x;
b
=
x;
do
{
a
=
a
/
10;
i++;
}
while(a
!=
0);
printf("the
wei
of
the
number
is\t%ld\n",
i);
i--;
//因为用pow,i需减一
do
{
a=
b
%
10;
//用a来保存求余
c
+=
a
*
pow(10,
i);
b
=
b
/
10;
i--;
}
while(i
=0);
printf("the
answer
is
%.0lf\n",
c);
}
//******************************************************************************
//因为只是倒序输出,所以不必转换,直接求余输出即可,代码如下
//******************************************************************************
#includestdio.h
int
main()
{
int
n;
while(scanf("%d",n)!=EOF)
//多项测试
Ctrl
+
Z
结束输入
{
while(n)
{
printf("%d",n%10);
n/=10;
}
printf("\n");
}
}
//******************************************************************************
//逆序输出
再来个比较简洁的
//******************************************************************************
#includestdio.h
int
main()
{
int
n;
//要求n为正整数
for(scanf("%d",
n);
n
printf("%d",
n
%
10);
n
/=
10);
}
#includestdio.h
int reverse(int n)
{
int i,sum=0;
while(n)
{i=n%10;br n/=10;br sum=10*sum+i;br }
return sum;}
void main()
{
int n;
printf("请输入一个整数:");
scanf("%d",n);
printf("%d的逆序数为:%d\n",n,reverse(n));
}不懂得可以hi我
#includestdio.h
void main(){
int x, n;
printf("请输入一个数:");
scanf("%d",n);
printf("逆序输出如下:\n");
while(n0){
x=n%10;
printf("%d ",x);
n=n/10;
}
printf("\n");
}
结果如下: