问答1 问答5 问答50 问答500 问答1000

使用C语言编程:从键盘输入一个5的正整数,判断它是不是回文数。_百度知...

提问网友 发布时间:2024-04-27 14:42
声明声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:1656858193@qq.com
4个回答
热心网友 回答时间:2024-04-28 10:22
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void check(int* Hui)//这个函数用来检测是否是5位数
{
int i;
int count=0;//计数变量
char lenth[10];
for(i=0;i<strlen(itoa(*Hui,lenth,10));i++){
count++;
}//这里for循环可以换成count=strlen(itoa(*Hui,lenth,10))
printf("这是%d位数",count);
if(count==5){
puts("go on..");
}
else{
puts("your input is error!");
exit(0);
}
}

int main()
{
int* Huiwenshu=NULL; //也可以用int Huiwenshu[6];,推荐前一种
int Last_digit;//末位数字
int First_digit;//首位数字
int Thou_digit;//千位数字
int Ten_digit;//十位数字

Huiwenshu=(int*)malloc(sizeof(int*));//申请int*大小的连续空间
puts("请输入一个5位数:");
scanf("%d",&*Huiwenshu);//获取5位数
check(Huiwenshu);//将5位数导入检查函数
/*将5位数分解,涉及"%"取余数的技巧*/
Last_digit=*Huiwenshu%10;//取末位
Ten_digit=((*Huiwenshu%100-(Last_digit))/10);//取十位
Thou_digit=((*Huiwenshu%10000-(*Huiwenshu%1000))/1000);//取千位
First_digit=((*Huiwenshu%100000-(*Huiwenshu%10000))/10000);//取首位

if(Last_digit==First_digit){ //判断回文数
if(Ten_digit==Thou_digit){
printf("%d是回文数!",*Huiwenshu);
}
else{
printf("%d不是回文数!",*Huiwenshu);
return 0;
}
}
else{

}
free(Huiwenshu);//释放内存

return 0;
}

代码里的注释很清晰,如果不懂再问噢。其实还有另一种方法,就是直接定义一个int型数组,然后通过取对应的位数进行比较,然后得出结果,不过这种方法通用性较低,但是也行。

热心网友 回答时间:2024-04-28 10:22
#include<stdio.h>
int main()
{
char str[51];
int i=0,j;
gets(str);
for(;str[i]!='\0';i++)
for(j=0;j<=i;j++)
if(str[j]!=str[i-j]) break;
if(j>=i) printf("yes");
else printf("no");
return 0;
}
热心网友 回答时间:2024-04-28 10:22
#include <stdio.h>
#define N 5
void main()
{
char num[N+1];
int i,j;
printf("输入一个五位数");
scanf("%s",num);
for(i=0,j=N-1;i<=j;i++,j--)
{
if(num[i]!=num[j])
break;
}
if(i<=j)
printf("不回文\n");
else
printf("回文\n");
}
热心网友 回答时间:2024-04-28 10:27
#include<stdio.h>
int main()
{
int i,j,k,l,x,y,num;
while(1)
{printf("输入一个五位数: ");<br/> scanf("%d",&num);<br/> if(num/10000!=0)<br/> break;<br/> }
i=num/10000;
j=(num-i*10000)/1000;
k=(num-i*10000-j*1000)/100;
if(i*10000+j*1000+k*100+j*10+i==num)
printf("这是一个回文数!");
else printf("这不是一个回文数!");
}

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

怎么强制修改? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 苹果手机怎样第二次更改 天兵天将都是些什么人天兵天将 手机号1 24 手机号24小时内绑定了两个被限制 请问什么时候才能重 ... 怎么强制修改? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 合格考对大学录取有影响吗? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 临海红花越剧团知名度高吗 越剧毕派的建立 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 一年内怎么改第二次? ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 一年内怎么改第二次? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 一年内怎么改第二次 长笛的升4音吹不出音 怎么强制修改第二次 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 如何强制二次修改 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 好易康牙膏好不好?对口腔溃疡效果怎么样?? 怎么改第二次苹果手机 2016国家公务员考试审计署驻兰州特派员办事处面试名单什么时候出... 一年内怎么修改第二次 修改一次,一年之内可以改第二次吗? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 一年内怎么改第二次 怎么强制修改第二次 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 特定行业下“厂中厂”的法律风险及应对措施——企业环保合规系列... 为什么我在镜子里看不到我眼珠在动,而在相机里面看的到它在? 怎么强制修改? 如何一年内强制二次修改?