原题链接:紧急措施
解题思路:
注意事项:
参考代码:
#include"bits/stdc++.h" using namespace std; // 定义结构体aaa,包含三个字符数组a, b, c struct aaa{ char a[100]; char b[100]; char c[100]; }a[10000]; // 定义结构体数组a,大小为10000 int main(){ char b[100]; // 定义字符数组b,用于存储输入的字符串 int e, k = 0; // 定义整数e和k,k初始化为0 cin >> b; // 从标准输入读取一个字符串到b中 cin >> e; // 从标准输入读取一个整数到e中 for(int i = 0; i < e; i++){ // 循环读取e个结构体数据,分别存储到a[i].a, a[i].b, a[i].c中 cin >> a[i].a >> a[i].b >> a[i].c; } for(int i = 0; i < e; i++){ // 遍历结构体数组a,检查每个元素的c字段是否与输入的字符串b相等 if(strcmp(a[i].c, b) == 0){ char kkk[100] = {0}; // 定义并初始化字符数组kkk,用于存储转换后的字符串 strcpy(kkk, a[i].b); // 将a[i].b的内容复制到kkk中 for(int j = 0; j < strlen(kkk); j++){ // 遍历kkk中的每个字符,如果是小写字母则转换为大写,反之亦然 if(kkk[j] >= 'a' && kkk[j] <= 'z'){ kkk[j] -= 32; // 小写转大写 } else if(kkk[j] >= 'A' && kkk[j] <= 'Z'){ kkk[j] += 32; // 大写转小写 } } cout << a[i].a << " "; // 输出a[i].a的值 k++; // 计数器k加1 for(int j = 0; j < strlen(kkk); j++){ // 输出转换后的字符串kkk cout << kkk[j]; } cout << endl; // 换行 } } if(k == 0){ // 如果计数器k仍为0,表示没有找到匹配项,输出"empty" cout << "empty" << endl; } return 0; // 返回0,表示程序正常结束 }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复