7-2 组织星期信息 (10 分)

7-2 组织星期信息 (10 分)

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

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

Sunday Monday Tuesday Wednesday Thursday Friday Saturday

输入输出示例:括号内为说明,无需输入输出

输入样例 (repeat=3) :
3
Tuesday
Wednesday
year
输出样例:
3
4
-1

7-2 组织星期信息 (10 分)

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
	char *p[] ={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
	int repeat;		//输入几个数
	int i,j;		//用于循环和数组下标
	//int flag = 0;	//判断是否有输出那句话
	char tmp[50];	//输入的字符串
	scanf("%d",&repeat);
	getchar();
	for(i=0;i<repeat;i++)
	{
		gets(tmp);
		for(j=0;j<7;j++)
		{
			if(strcmp(tmp,p[j])==0)
			{	printf("%d\n",j+1);	break;	}
			else if(j==6)
				printf("-1\n");
		}
	}
	return 0;
}
  • 23
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: 下面是一个示例代码: ``` #include <iostream> #include <string> using namespace std; int main() { int repeat; string week[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; cin >> repeat; for (int i = 0; i < repeat; i++) { string input; cin >> input; int flag = -1; for (int j = 0; j < 7; j++) { if (input == week[j]) { flag = j; break; } } cout << flag << endl; } return 0; } ``` 这段代码读入一个整数repeat,表示需要重复的次数。接下来,代码定义了一个字符串数组week,存储了一周内的每天的信息。对于每一次操作,代码读入一个字符串,并在week数组中查找该字符串是否存在。若存在,则输出该字符串在数组中的下标;否则输出-1。 ### 回答2: 根据题目要求,我们需要定义一个指针数组将星期信息组织起来,并进行后续操作。下面是一个满足要求的示例代码: ```c++ #include <iostream> #include <string> using namespace std; int main() { // 定义星期信息的指针数组 string week[7] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; int repeat; cout << "请输入重复次数:"; cin >> repeat; for (int i = 0; i < repeat; i++) { string input; cout << "请输入一个字符串:"; cin >> input; // 在指针数组中查找输入的字符串 bool found = false; int index = -1; for (int j = 0; j < 7; j++) { if (input == week[j]) { found = true; index = j; break; } } // 输出结果 if (found) { cout << "字符串 " << input << " 在表中的序号为:" << index << endl; } else { cout << "字符串 " << input << " 不在表中,序号为 -1" << endl; } } return 0; } ``` 以上代码中,首先定义了一个包含了星期信息的指针数组week,然后根据输入的重复次数repeat,进行repeat次的操作。在每次操作中,接收一个字符串作为输入,并在指针数组week中查找该字符串。如果找到了对应的字符串,就输出该字符串在表中的序号;如果没有找到,则输出-1。 ### 回答3: 首先,我们需要先将星期信息组织起来,并且定义一个指针数组来存储这些信息。我们可以使用一个字符串数组来表示星期信息,数组中的每个元素表示一个星期,例如:week_arr = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]。 然后,我们可以使用一个循环,重复执行以下操作repeat次数: 1. 输入一个字符串,我们将其赋值给变量str。 2. 定义一个变量index,并初始化为-1,用来记录该字符串在表中的序号。 3. 使用一个循环遍历指针数组week_arr中的每个元素: - 如果当前元素与输入字符串str相等,将index的值设为当前遍历到的元素的索引号,并跳出循环。 4. 输出index的值。 以下是伪代码的实现: ``` repeat = 输入一个正整数(0<repeat<10) week_arr = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] for i in range(repeat): str = 输入一个字符串 index = -1 for j in range(len(week_arr)): if str == week_arr[j]: index = j break 输出 index ``` 这样,当我们运行以上代码时,就可以重复执行指定次数的查找操作,输出每个字符串在表中的序号,如果不存在则输出-1。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王睿丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值