回文数c语言程序编写

一、回文数c语言程序编写函数

回文数是指一个数字从左右两边读都是一样的,比如121、333等等。编写一个判断回文数的函数非常简单,只需要将数值转换为字符串,然后比较第i位和第n-i-1(n是位数)位字符是否相同即可。

#include <stdio.h>
#include <string.h>

int isPalindrome(int num){
    char s[12];
    sprintf(s, "%d", num);
    int len = strlen(s);
    for (int i = 0; i < len / 2; i++){
        if (s[i] != s[len-i-1]) return 0;
    }
    return 1;
}

int main(){
    int num = 12321;
    printf("%d\n", isPalindrome(num)); // 输出 1
    return 0;
}

二、回文数c语言程序编写200到3000

下面是一个程序,用于输出200到3000之间的所有回文数字:

#include <stdio.h>

int isPalindrome(int num){
    // 略去 isPalindrome 函数代码
}

int main(){
    for (int i = 200; i <= 3000; i++){
        if (isPalindrome(i)) printf("%d ", i);
    }
    return 0;
}

三、回文数c语言程序编写思路

回文数的基本判断方法已经在第一部分介绍,这里介绍一下回文数的生成思路。由于回文数是从左往右和从右往左读是一样的,所以我们可以考虑生成回文数的一半,再将这一半数字翻转后拼接在一起。例如,我们要生成一个五位数的回文数。我们可以先生成前三位数字,然后将这三位数字翻转得到后三位数字,最后拼接在一起即可。

#include <stdio.h>

int main(){
    int n = 5;
    int half = n / 2;
    for (int i = 1; i < 10; i++){
        // 生成前一半数字
        int num = i;
        for (int j = 1; j < half; j++){
            num = num * 10 + i;
        }
        // 将前一半数字翻转
        int tmp = num;
        int reverse = 0;
        while (tmp){
            reverse = reverse * 10 + tmp % 10;
            tmp /= 10;
        }
        // 拼接成回文数
        if (n % 2 == 0){
            printf("%d%d ", num, reverse);
        } else{
            for (int k = 0; k < 10; k++){
                printf("%d%d%d ", num, k, reverse);
            }
        }
    }
    return 0;
}

四、五位回文数c语言程序编写

生成五位回文数的方法类似于上面介绍的生成N位回文数的方法,不同的是前一半数字的生成需要从10开始。

#include <stdio.h>

int main(){
    for (int i = 10; i < 100; i++){
        int num = i * 1000 + i / 10;
        if (num < 10000 && isPalindrome(num)) printf("%d ", num);
    }
    return 0;
}

五、判断回文数c语言程序

这是一个最简单的判断回文数的程序:

#include <stdio.h>

int main(){
    int num = 12321;
    int tmp = num;
    int reverse = 0;
    while (tmp){
        reverse = reverse * 10 + tmp % 10;
        tmp /= 10;
    }
    if (num == reverse) printf("Yes\n");
    else printf("No\n");
    return 0;
}

六、回文数c语言程序编写数组

可以使用数组存储多个回文数字:

#include <stdio.h>

int main(){
    int palindromes[] = {121, 232, 343, 454, 565, 676, 787, 898, 999};
    int len = sizeof(palindromes) / sizeof(palindromes[0]);
    for (int i = 0; i < len; i++){
        if (isPalindrome(palindromes[i])) printf("%d ", palindromes[i]);
    }
    return 0;
}

七、回文数c语言程序编写字符串

可以先将数字转化为字符串,再判断是否回文:

#include <stdio.h>
#include <string.h>

int main(){
    int num = 12321;
    char s[12];
    sprintf(s, "%d", num);
    int len = strlen(s);
    int isPalindromes = 1;
    for (int i = 0; i < len / 2; i++){
        if (s[i] != s[len-i-1]){
            isPalindromes = 0;
            break;
        }
    }
    if (isPalindromes) printf("Yes\n");
    else printf("No\n");
    return 0;
}

八、回文数c语言程序编写三位数

与五位回文数程序类似,生成三位回文数的规律是:回文数的百位和个位数字相同、十位数字任意。

#include <stdio.h>

int main(){
    for (int i = 1; i < 10; i++){
        int num = i * 101;
        if (isPalindrome(num)) printf("%d ", num);
    }
    return 0;
}

九、回文数c语言程序编写要用函数

上面的程序中已经多次使用了isPalindrome函数,下面是该函数的完整代码:

#include <stdio.h>
#include <string.h>

int isPalindrome(int num){
    char s[12];
    sprintf(s, "%d", num);
    int len = strlen(s);
    for (int i = 0; i < len / 2; i++){
        if (s[i] != s[len-i-1]) return 0;
    }
    return 1;
}

int main(){
    int num = 12321;
    if (isPalindrome(num)) printf("Yes\n");
    else printf("No\n");
    return 0;
}

十、回文数c语言程序编写while

这个程序使用while循环判断一组数值是否符合条件:

#include <stdio.h>
#include <string.h>

int isPalindrome(int num){
    // 略去 isPalindrome 函数代码
}

int main(){
    int num, sum = 0;
    while (scanf("%d", &num) != EOF){
        if (isPalindrome(num)) sum += num;
    }
    printf("%d\n", sum);
    return 0;
}

原创文章,作者:ECNFG,如若转载,请注明出处:https://www.506064.com/n/369721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
ECNFGECNFG
上一篇 2025-04-13 11:45
下一篇 2025-04-13 11:45

相关推荐

  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python程序文件的拓展

    Python是一门功能丰富、易于学习、可读性高的编程语言。Python程序文件通常以.py为文件拓展名,被广泛应用于各种领域,包括Web开发、机器学习、科学计算等。为了更好地发挥P…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python购物车程序

    Python购物车程序是一款基于Python编程语言开发的程序,可以实现购物车的相关功能,包括商品的添加、购买、删除、统计等。 一、添加商品 添加商品是购物车程序的基础功能之一,用…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • 爬虫是一种程序

    爬虫是一种程序,用于自动获取互联网上的信息。本文将从如下多个方面对爬虫的意义、运行方式、应用场景和技术要点等进行详细的阐述。 一、爬虫的意义 1、获取信息:爬虫可以自动获取互联网上…

    编程 2025-04-29
  • Vb运行程序的三种方法

    VB是一种非常实用的编程工具,它可以被用于开发各种不同的应用程序,从简单的计算器到更复杂的商业软件。在VB中,有许多不同的方法可以运行程序,包括编译器、发布程序以及命令行。在本文中…

    编程 2025-04-29
  • Python一元二次方程求解程序

    本文将详细阐述Python一元二次方程求解程序的相关知识,为读者提供全面的程序设计思路和操作方法。 一、方程求解 首先,我们需要了解一元二次方程的求解方法。一元二次方程可以写作: …

    编程 2025-04-29

发表回复

登录后才能评论