210712 规范药名

题目描述

医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将 ASPIRIN aspirin 整理成 Aspirin

输入格式

第一行一个数字 n,表示有 n 个药品名要整理,n 不超过 100

接下来 n 行,每行一个单词,长度不超过 20 ,表示医生手书的药品名。药品名由字母、数字和 - 组成。

输出格式

n 行,每行一个单词,对应输入的药品名的规范写法

样例

样例输入

4
AspiRin
cisapride
2-PENICILLIN
Cefradine-6
样例输出

Aspirin
Cisapride
2-penicillin
Cefradine-6
数据范围与提示 分类标签

[字符串] [字符数组]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

string a[10];
int b;
int d;
string c;


// The main procedure
int main() {
  cin>>b;
  d = ((int)'a'-(int)'A');
  for (int i = 0; i < b; i++) {
    cin>>c;
    if ((c[0] >= 'a') && (c[0] <= 'z')) {
      c[0] = (char)((int)c[0]-d);
    }
    for (int j = 1; j < c.size(); j++) {
      if ((c[j] >= 'A') && (c[j] <= 'Z')) {
        c[j] = (char)((int)c[j]+d);
      }
    }
    a[i] = c;
  }
  for (int k = 0; k < b; k++) {
    if (k > 0) {
      cout<<'\n';
    }
    cout<<a[k];
  }
  return 0;
}

Blockly题解代码图片