编程c语言程序,输入一个五位数,判断是否为对称说,如:12321,20202都是对称数

编程c语言程序,输入一个五位数,判断是否为对称说,如:12321,20202都是对称数,第1张

判断数据/10000是否等于数据%10,并且(数据%10000)/1000是否等于 (数据%100)/10如果这两个条件都满足,则是对称数,否则不是。

#include "stdio.h"//

void main(void){

int nDec

printf("请输入一个十进制五位整数...\nnDec=")

for(){

zhiscanf("%d",&nDec)

if(nDec>9999 &&nDec<100000) break

printf("错了!请输入10000~99999间的整数...\nnDec=")

}

printf("%d",nDec)

if((nDec%10000)/1000!=(nDec%100)/10 || nDec/10000!=nDec%10) printf("不")

printf("是对称数!\n")

}

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

参考资料来源:百度百科-c语言

大致的思路是把这是数最低位变成最高位最高位变成最低位

就这样变换

变形后的数字和原来的数相等就是对称数了。

例子:判断252是不是对称数

#include <stdio.h>

int main(void)

{  

int n1 = 252 

int n = n1

int an = 0

int i

while(n){

    i = n % 10

    n = n - i

    n /= 10

    an *= 10

    an += i

    

}

if(an == n1){

printf("%d是对称数字", n1)

}else{

printf("%d不是对称数字", n1)

}

}

这个问题是算法有点绕了。 了解这个问题的算法 和程序的执行顺序用的你大脑运行一遍这个程序你就会明白了。   这个方法对00012321 这样的前面有0的数字组合不适用


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8165807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存