2021蓝桥杯真题大写 C语言/C++

题目描述
给定一个只包含大写字母和小写字母的字符串,请将其中所有的小写字母转换成大写字母后将字符串输出。

输入描述
输入一行包含一个字符串。

输出描述
输出转换成大写后的字符串。

输入输出样例
示例
输入

LanQiao
输出

LANQIAO
评测用例规模与约定
对于所有评测用例,字符串的长度不超过 100。

运行限制
最大运行时间:1s
最大运行内存: 256M

所需变量

char arr[100];//用于接收每个字符

int i = 0;//循环变量,初始化为0

思路:因为是字符数组,因此我们要知道判断终止条件

while(~scanf("%c",&arr[i])){
    if(arr[i] == '\n'){
      break;
    }

得到整个字符串后,我们的做法就是对于每个小写字母我们都将其变成大写字母!

if(arr[i]>='a'&&arr[i]<='z'){
      arr[i] -= 32;
    }

最后将每个输入的数都把小写字母都变成大写字母后,我们就将每个字符都输出出来就可以!
代码如下(编译器是dev,语言是C语言):
做法一(C语言):

#include <iostream>
using namespace std;
#include<string.h>
int main()
{
  char arr[100];
  int i = 0;
  while(~scanf("%c",&arr[i])){
    if(arr[i] == '\n'){
      break;
    }
    if(arr[i]>='a'&&arr[i]<='z'){
      arr[i] -= 32;
    }
    i++;
  }
  for(int j = 0;j<i;j++){
    printf("%c",arr[j]);
  }
  printf("\n");
  return 0;
}

2021蓝桥杯真题大写 C语言/C++_第1张图片

做法二(C++):

#include <iostream>
using namespace std;
#include<string.h>
int main()
{
  string a;
  cin>>a;
  for(int i = 0;i<a.length();i++){
    if(a[i]>='a'&&a[i]<='z'){
      a[i] -= 32;
    }
  }
  cout<<a<<endl;
  return 0;
}

2021蓝桥杯真题大写 C语言/C++_第2张图片

你可能感兴趣的:(蓝桥杯真题,c++,蓝桥杯,c语言)