c语言回文数指针,C语言回文数

//2013-7-21 10:54//功能:如何求一个回文数? (84 while用法举例)//知识点:c语言中除法(/)和求余(%)的用法 及while用法//技能: 求回文数的核心代码掌握 学会试数,像计算机一样去执行,别管为什么(看懂一个看不懂的程序的不二法门)

/*# include

int main()

{

int val; //val存放一个回文数

int sum = 0;

printf("please input one 回文数:\n");

scanf("%d" , &val);

while (val)

{

sum = sum * 10 + val % 10;

val /= 10;

}

if(val == sum)

{

printf("是回文数\n");

}

else

{

printf("不是回文数\n");

}

return 0;

} 运行结果均为: 不是回文数

原因: 用户键入的数字存放在val中,但程序最终的val已经改变,

所以原来键入数字逆序后的数字sum肯定不与已经改变后的val相等

改正:提供一个变量m, 将键入的数字val赋值给m ,让m 去执行程序最终生成sum,

而初次键入的数字扔存放在val里,不变

然后两者sum,val 进行大小比较*/# include

intmain()

{int val; //val存放一个回文数

int sum = 0;intm;

printf("please input one 回文数:\n");

scanf("%d" , &val);

m= val; //这里千万不能写成m == val ,问题同上

while(m)

{

sum= sum * 10 + m % 10;

m/= 10;

}if(val ==sum)

{

printf("是回文数\n");

}else{

printf("不是回文数\n");

}return 0;

}//练习

#include

intmain() {intval;int fin = 0;intn;

printf("请输入一个回文数:\n");

scanf("%d",&val);

n=val;while(n) {

fin= fin * 10 + n % 10;

n/= 10;

}if(val ==fin) {

printf(val+ "是回文数");

}else{

printf(val+ "不是回文数");

}return 0;

}//练习2

#include

voidmain() {intval;int fin = 0;intm;

printf("请输入一个回文数:\n");

scanf("%d", &val);

m=val;while(m) {

fin= fin * 10 + m % 10;]

m/= 10;

}if(val ==fin) {

printf(val+ "是一个回文数");

}else{

printf(val+ "不是一个回文数!");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值