c语言测试题,求大神

 我来答
自我编程
2019-04-15 · 科技优质答主
自我编程
采纳数:1481 获赞数:4279

向TA提问 私信TA
展开全部

模糊,我看到,题目要输入5位数,判断是否是回文字。
题目是要输入int型数字还是直接输入char型。
我两种都写了,你参考吧。

#include <stdio.h>
#include <malloc.h>
#include <string.h>
#define SIZE 5//数最大位数
int isHW(char *str);//判断一个SIZE位数的字符串型数字是否是回文字,是返回0,否返回1
char *int2Str(int n);//将一个int型SIZE位整数转换成字符串型SIZE位数(超出SIZE位数的数字只取最后SIZE位)
int main()
{
    char str[SIZE+1];
    int num,n;
    n=2;
    while(n--)
    {
        printf("请输入一个数字(int型,不超过%d位):",SIZE);
        scanf("%d",&num);
        printf("%s\n",isHW(int2Str(num))?"是回文数":"不是回文数");
    }
    n=2;
    while(n--)
    {
        printf("请输入一个数字(字符型,不超过%d位):",SIZE);
        scanf("%s",str);
        printf("%s\n",isHW(str)?"是回文数":"不是回文数");
    }

    return 0;
}
int isHW(char *str)//判断一个SIZE位数的字符串型数字是否是回文字,是返回0,否返回1
{
    int len=strlen(str);
    char *p0=str,*p1=&str[len-1];
    while(p0<p1)
    {
        if(*p0!=*p1)
            return 0;
        p0++;
        p1--;
    }
    return 1;
}
char *int2Str(int n)//将一个int型SIZE位整数转换成字符串型SIZE位数(超出SIZE位数的数字只取最后SIZE位)
{
    int i,j,p10=1;
    char *str=(char *)malloc(sizeof(char)*(SIZE+1));
    for(i=0;i<SIZE;i++)
    {
        if(n/p10==0)
            break;
        p10=1;
        for(j=SIZE-i;j>1;j--)
            p10*=10;
        str[i]=n/p10%10+'0';
    }
    str[i]=0;
    return str;
}
xuzhouliuying
高粉答主

2019-04-15 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:5.4万
采纳率:86%
帮助的人:2.4亿
展开全部
#include <stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n/10000==n%10&&n/1000%10==n%100/10)
printf("T");
else printf("F");
return 0;
}

//运行示例:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小山竹君
2019-04-15 · 知道合伙人IT服务行家
小小山竹君
知道合伙人IT服务行家
采纳数:0 获赞数:1
中科院电子所传感技术联合国家重点实验室工程师

向TA提问 私信TA
展开全部
还是先把图标照清楚点吧,根本就看不清
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式