栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

PTA 《组织星期信息》题解

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PTA 《组织星期信息》题解

组织星期信息

题目描述:
        输入一个正整数repeat (0

        定义一个指针数组将下面的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。

        Sunday Monday Tuesday Wednesday Thursday Friday Saturday

输入格式:

       输入第一行给出一个正整数repeat (0

输出格式:

        每个字符串信息占一行,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。

输入样例  :
 

3
Tuesday
Wednesday
year


输出样例:
 

3
4
-1

代码:

#include
#include
int main()
{
    int repeat,index=0;
    const char *a[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
    char b[100];
    scanf("%d",&repeat);//输入次数
    for(int i=1;i<=repeat;i++)        
    {  
        scanf("%s",&b);//输入每个字符串信息
        for(int j=0;j<7;j++)//循环查找
            if(strcmp(b,a[j])==0) index=j+1;//利用strcmp函数将b和a[j]比对
            if(index!=0) printf("%dn", index);
            else printf("-1n");
            index=0;
    }
    return 0;
}

解析:

1.如果将“const char *a[7]”写成“char *a[7]”,将会得到以下报错
这个意思是:已弃用从字符串常量到‘char*’的转换,因为理论上,我们传给函数的字面常量是没法被修改的。

对比:

char *背后的含义是:给我个字符串,我要修改它。

const char *背后的含义是:给我个字符串,我只要读取它。

2.strcmp函数的使用方法:

一般形式:strcmp(字符串1s1,字符串2s2)  需要使用头文件#include

当s1>s2时,返回正数

当s1=s2时,返回值= 0

当s1

即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇''为止。

如:

1."A"<"B"   2."A"<"AB"   3."Apple"<"Banana"   4."A"<"a"   5."compare"<"computer" 

特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号