#include<stdio.h>
int main(void)
{
int a;
scanf("%d",&a);
int m;
int sum = 0;
m = a;
while(m)
{
sum = sum*10 + m%10;
m /= 10; // m = m/10
}
if( sum == a)
printf("是回文数!\n");
else
printf("不是回文数\n");
return 0;
}
大神们给解释下这个程序,,流程能看懂,但是判断的思路不清楚。。
我看网上还有一些判断的程序,貌似比这个复杂些,能对比解释下更好了。
1、首先打开vc6.0,新建一个控制台项目,添加头文件。
2、然后我们根据图示代码添加main主函数。
3、然后我们根据图示代码定义6个long型变量。
4、然后我们根据图示代码使用scanf给input赋值。
5、然后我们根据图示代码分解个位、百位、千位、万位。
6、然后我们根据图示代码使用if判断。
7、然后我们根据图示代码运行程序,看看结果无误。
所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的。
首先,来判断一下一个数是否为回文数:
#include<;stdio.h>
void main(){
int num,s,y=0;
printf("Please input numbers:");
scanf("%d",&num);
s=num;
while(s>0){
y=y*10+s%10;
s=s/10;
}
if(y==num){
printf("%d是一个回文数!\n",num);
}else{
printf("%d不是一个回文数!\n",num);
}
}
判断一下一个字符串是否为回文数:
#include<stdio.h>
#include<string.h>//strlen函数的头文件
int main()
{
int j,i,n;
char a[999],b[999];
printf("Please input string:");
scanf("%s",a);//输入字符串
n=strlen(a);//用strlen函数读取字符串长度(长度到\0停止)
for(i=0,j=n-1;i<n;i++,j--)//循环将字符串a逆序赋值给b
b[j]=a<i>;
for(i=0;i<n;i++)
{
if(b<i>!=a<i>)
break;//判断是否回文
}
if(i==n)printf("是一个回文数!\n");//如果从第1位到n都相同则输出回文数
else printf("不是一个回文数!\n");
return 0;
}
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
本回答被网友采纳