70 日期
作者: 卢婷时间限制: 1S章节: 字符串
问题描述
输入星期日到星期六的英文缩写(Sun,Mon,Tue,Wed,Thu,Fri,Sat),输出其对应的完整单词。
输入说明
你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每行输入相关单词,在行首和行尾没有多余的空格。
输出说明
对每组测试数据,你的程序需要向标准输出设备(通常为启动该程序的文本终端,例如你在Windows中启动该程序所用的命令行终端)依次输出从标准输入设备中读入的每一组测试数据对应的结果。所有数据前后没有多余的空行,两组数据之间也没有多余的空行。每组输出数据由一行组成,该行为该英文单词的全称。
输入范例
Sun
Sat
输出范例
Sunday
Saturday
代码如下:
#include<stdio.h>
int main(){
int i;
char s[4];
char ch[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
while(scanf("%s",s)!=EOF){
for(i=0;i<10;i++){
if(s[0]==ch[i][0]&&s[1]==ch[i][1]){//KEY
printf("%s\n",ch[i]);
break;
}
}
}
}
运行状态:AC
学会了以下内容:
当scanf("%s",s)输入字符串s时,存储格式如下:
s | 0 | 1 | 2 | 3 |
---|---|---|---|---|
值 | S | u | n | \0 |
而在ch[][]中,存储格式如下:
ch[7][10] | 0 | 1 | 2 | 3 | s | 0 | 1 | 2 | 3 |
---|---|---|---|---|---|---|---|---|---|
ch[0][j] | S | u | n | d | a | y | |||
ch[1][j] | M | o | n | d | a | y | |||
ch[2][j] | T | u | e | s | d | a | y | ||
ch[3][j] | W | e | d | n | e | s | d | a | y |
ch[4][j] | T | h | u | r | s | d | a | y | |
ch[5][j] | F | r | i | d | a | y | |||
ch[6][j] | S | a | t | u | r | d | a | y |
所以当s[0]==ch[i][0]&&s[1]==ch[i][1]时,可以完成测试。