14291: 【原4291】凑数题
题目
题目描述
author: Guo Linsong 原OJ链接:https://acm.sjtu.edu.cn/OnlineJudge-old/problem/4291
Description
听说同学们学了指针,憨憨助教想借此机会考考大家,然而CPU大作业要写不完了,于是就有了这样一道凑数题...
写出以下代码中的两个函数$funA$和$funB$的声明与定义,使得$funA(p) = a$能实现通过指针$p$访问用户输入的字符串$a$,$funB$能将该字符串中的小写字母全部变成大写,并返回这个大写的字符串。
#include <iostream>
#include <cstring>
using namespace std;
// 写出两个函数的声明
int main() {
char a[100], b[100];
for(int i = 0; i < 3; ++i) {
char **p;
cin >> a;
funA(p) = a;
cout << funB(b, p);
}
return 0;
}
// 写出两个函数的定义
要求如下:
除了实现$funA$和$funB$外,不能修改包括main函数在内的其他代码,不能在全局定义新的变量、指针、数组和函数等,不能调用其他的库。
$funA$和$funB$内不能调用任何输入输出函数(包含但不限于cin,cout,scanf,prinf,getchar,putchar等等)。
不允许存在内存泄漏,由于OJ不能检测内存泄漏(同学们可以自行了解内存泄漏检测工具valgrind),助教将进行手动评测(以最后一次提交为准)。
用户输入的单个字符串长度不会超过$98$,而且只含有小写和大写字母。
Sample Input
zhiyuan
tryAtry
acisOK
Sample Output
ZHIYUAN
TRYATRY
ACISOK
Note
大家也可以顺便思考一下如果funB(b, *p)应该怎么做。
Oops! 本题目还没有解答!
助教老师们编题的速度,已经超过了解题的速度!
OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。
如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!