Advertisement

汇编程序生成10000的所有回文数(Palindrome number)

阅读量:

程序需求:回文数指的是正向与反向读取时内容完全一致的数值或字符串,例如11、121、12321等。请编写一个程序,找出0至10000范围内所有的回文数并进行输出,要求每行显示10个数值。
编程思路:在汇编语言中,esi寄存器的功能类似于C语言中的i变量,eax寄存器则对应于tmp变量,ecx寄存器用于存储result变量,而count变量则用于记录回文数的数量。

开发环境

Windows 10操作系统搭配Visual Studio 2017开发环境

C语言代码实现如下:

复制代码
 #include <stdio.h>

    
 int main()
    
 {
    
 	int count = 0;
    
 	for (int i = 0; i < 10000; i++)
    
 	{
    
 		int tmp = i;
    
 		int result = 0;
    
 		while (tmp != 0)
    
 		{
    
 			result = result * 10 + tmp % 10;
    
 			tmp = tmp / 10;
    
 		}
    
 		if (result == i)
    
 		{
    
 			printf("%d\t", result);

全部评论 (0)

还没有任何评论哟~