C语言实现:【问题描述】查找星期:定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。试编写相应程序。提示:参考ppt77页,指针数组 字符串的比较可以使用strcmp函数。表项起始从1开始。【样例输入】 Tuesday 【样例输出】 3 【样例输入】 Muesday 【样例输出】 -1
时间: 2023-12-20 19:04:19 浏览: 106
以下是C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char *weekdays[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
char str[10];
int i;
printf("Enter a weekday: ");
scanf("%s", str);
for (i = 0; i < 7; i++) {
if (strcmp(str, weekdays[i]) == 0) {
printf("%d\n", i + 1);
return 0;
}
}
printf("-1\n");
return 0;
}
```
首先定义了一个指针数组`weekdays`,存储了星期的信息。然后输入一个字符串,使用`strcmp`函数逐个比较字符串并查找是否存在于指针数组中,若存在则输出其序号,否则输出-1。需要注意的是,表项从1开始,因此输出时需要将序号加1。
相关问题
C语言 查找星期 【问题描述】查找星期:定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1。试编写相应程序。提示:参考ppt77页,指针数组 字符串的比较可以使用strcmp函数。表项起始从1开始。 image.png 【输入形式】 【输出形式】 【样例输入】 Tuesday 【样例输出】 3
以下是实现题目要求的C代码:
```c
#include <stdio.h>
#include <string.h>
int main(void)
{
char *weekdays[] = {"", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
char input[20];
int i, found = 0;
printf("Please enter a weekday: ");
scanf("%s", input);
for (i = 1; i <= 7; i++) {
if (strcmp(input, weekdays[i]) == 0) {
printf("%d\n", i);
found = 1;
break;
}
}
if (!found) {
printf("-1\n");
}
return 0;
}
```
程序中定义了一个指针数组 `weekdays`,数组中存储了一周的星期信息,其中下标为0的元素为空串,下标为1~7的元素分别对应周日到周六。接收用户输入的字符串,通过循环遍历 `weekdays` 数组,通过 `strcmp` 函数比较字符串是否相等,如果相等则输出该字符串在数组中的下标,否则继续遍历。如果遍历结束后仍未找到,则输出-1。
需要注意的是,在使用 `strcmp` 函数时,需要使用 `#include <string.h>` 头文件。
C语言编程,请给出具体代码,定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若存在,输出该字符串在表中的序号,否则输出-1 表: Sunday Monday Tuesday Wednesday Thursday Friday Saturday 【输入形式】Tuesday 【输出形式】3
好的,以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
// 定义星期字符串数组
char *weekdays[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
// 获取输入的字符串
char input[20];
printf("请输入一个星期字符串:");
scanf("%s", input);
// 查找星期字符串在数组中的位置
int i, index = -1;
for (i = 0; i < 7; i++) {
if (strcmp(input, weekdays[i]) == 0) {
index = i + 1;
break;
}
}
// 输出结果
if (index == -1) {
printf("-1\n");
} else {
printf("%d\n", index);
}
return 0;
}
```
输出结果:
```
请输入一个星期字符串:Tuesday
3
```
希望能够帮到你!
阅读全文