星期查找 任意输入英文的星期几,通过查找如图所示的星期表,输出其对应的数字,若查到表尾,仍未找到,则输出错误提示信息。 输入格式: 字符串输入采用gets()函数 输出格式: 输入提示信息:"Please enter a string:\n" 找到了,输出:"%s is %d\n" 没找到,输出:"Not found!\n"
时间: 2023-07-05 17:06:11 浏览: 128
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char weekdays[7][10] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
int i, day = -1;
char input[10];
printf("Please enter a string:\n");
gets(input);
for (i = 0; i < 7; i++) {
if (strcmp(input, weekdays[i]) == 0) {
day = i + 1;
break;
}
}
if (day != -1) {
printf("%s is %d\n", input, day);
} else {
printf("Not found!\n");
}
return 0;
}
```
注:使用 gets() 函数存在安全问题,建议使用 fgets() 函数代替。
相关问题
任意输入英文的星期几,通过查找星期表,输出其对应的数字, 若查到表尾,仍未找到,则输出错误提示信息。
### 回答1:
可以使用Python编程实现这个功能。具体的代码如下:
```python
# 定义星期表
weekdays = {
'Monday': 1,
'Tuesday': 2,
'Wednesday': 3,
'Thursday': 4,
'Friday': 5,
'Saturday': 6,
'Sunday': 7
}
# 输入星期几
day = input('请输入星期几:')
# 查找星期表
if day in weekdays:
print('{}对应的数字是{}'.format(day, weekdays[day]))
else:
print('输入错误,请重新输入!')
```
运行程序后,会提示用户输入星期几,然后根据输入的内容在星期表中查找对应的数字,并输出结果。如果输入的内容不在星期表中,则会输出错误提示信息。
### 回答2:
这是一个简单的星期表查询程序,可以通过输入英文星期几,输出它对应的数字。如果输入的字符串不是合法的星期名,或者找不到对应的数字,程序会输出错误提示信息。
首先,我们需要定义一个星期表,将英文星期名和对应的数字保存起来。这个表可以用字典(Dictionary)来实现,代码如下:
```
week_dict = {
'Sunday': 0,
'Monday': 1,
'Tuesday': 2,
'Wednesday': 3,
'Thursday': 4,
'Friday': 5,
'Saturday': 6
}
```
然后,我们需要编写一个函数来实现查询操作。这个函数需要接收用户输入的字符串作为参数,然后在星期表中查找对应的数字。如果成功找到,函数会返回对应的数字;否则,函数会返回错误提示信息。
具体实现如下:
```
def query(week_str):
if week_str in week_dict:
return week_dict[week_str]
else:
return 'Error: invalid week string'
```
最后,我们可以编写一个简单的程序来测试这个查询函数。程序会循环读取用户输入的字符串,然后调用查询函数来输出对应的数字。如果用户输入的字符串是空字符串,程序会退出循环。
完整的程序代码如下:
```
week_dict = {
'Sunday': 0,
'Monday': 1,
'Tuesday': 2,
'Wednesday': 3,
'Thursday': 4,
'Friday': 5,
'Saturday': 6
}
def query(week_str):
if week_str in week_dict:
return week_dict[week_str]
else:
return 'Error: invalid week string'
while True:
week_str = input('Please enter a week string (or empty to quit): ')
if not week_str:
break
index = query(week_str)
print(index)
```
这个程序可以循环读取用户输入,并将输入的字符串作为参数调用查询函数来输出对应的数字。如果用户输入的字符串无效或者找不到对应的数字,程序会输出错误提示信息。如果用户输入的字符串为空,程序会退出循环。
### 回答3:
星期几和数字之间的对应关系是非常确定的,但是人类处理大量信息时容易出错,因此我们可以通过编程的方式来帮助我们查找星期对应的数字。
首先,需要定义一个星期表,将星期的英文名称与数字对应起来。可以使用字典(Python中的dict)来实现:
```python
week_dict = {'Monday':1, 'Tuesday':2, 'Wednesday':3, 'Thursday':4, 'Friday':5, 'Saturday':6, 'Sunday':7}
```
然后,需要输入一个星期的英文名称,可以使用input函数来实现:
```python
week_name = input("请输入星期几的英文名称:")
```
接着,需要查找输入的星期名称在星期表中对应的数字,可以使用字典的get方法来实现(如果字典中不存在对应的键,则返回指定的默认值,这里是错误提示信息):
```python
week_number = week_dict.get(week_name, "输入错误!请重新输入正确的星期几名称。")
```
最后,需要输出查找结果,可以使用print函数来实现:
```python
print("星期{}对应的数字是{}".format(week_name, week_number))
```
完整代码如下:
```python
week_dict = {'Monday':1, 'Tuesday':2, 'Wednesday':3, 'Thursday':4, 'Friday':5, 'Saturday':6, 'Sunday':7}
week_name = input("请输入星期几的英文名称:")
week_number = week_dict.get(week_name, "输入错误!请重新输入正确的星期几名称。")
print("星期{}对应的数字是{}".format(week_name, week_number))
```
通过这段代码,我们可以快速准确地找到任意输入英文的星期几对应的数字。
c语言任意输入英文的星期几,通过查找星期表,输出其对应的数字, 若查到表尾,仍未找到,则输出错误提示信息。
好的,这是一个比较简单的问题。以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char week[10];
int i;
char *week_list[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
//星期表,注意要与输入的字符串一一对应
printf("Please enter a week: ");
scanf("%s", week); //读入星期字符串
for (i = 0; i < 7; i++) {
if (strcmp(week, week_list[i]) == 0) { //比较字符串是否相等
printf("%d\n", i);
break;
}
}
if (i == 7) { //循环完毕,仍未找到
printf("Invalid input!\n");
}
return 0;
}
```
在这个程序中,我们首先定义了一个字符串数组 `week_list` 作为星期表,其中下标为 0 的元素对应的是 "Sunday",下标为 1 的元素对应的是 "Monday",以此类推。然后我们读入用户输入的星期字符串,并通过 `strcmp()` 函数依次比较输入的字符串和星期表中的每个元素是否相等。如果找到相等的元素,就输出其对应的下标;如果循环完毕仍未找到,则输出错误提示信息。
阅读全文