其他分享
首页 > 其他分享> > 信息学奥赛一本通(1139:整理药名)

信息学奥赛一本通(1139:整理药名)

作者:互联网

1139:整理药名


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 23347     通过数: 11538

【题目描述】

医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将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 <stdio.h>
#include <ctype.h>
#define N 110
char s[N];
int main()
{
    int i,n;
    scanf("%d",&n);
    while(n--)
    {
    	scanf("%s",s);
    	if(islower(s[0]))
    		s[0]=toupper(s[0]);
    	for(i=1;s[i]!='\0';i++)
    	{
    		if(isupper(s[i]))
    			s[i]=tolower(s[i]);
		}
		printf("%s\n",s);
	}
	return 0;
}

C++代码:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string s;
    int n;
    
    cin >> n;
    while(n--)
    {
    	cin >> s;
    	if(s[0]>='a' && s[0]<='z')
    		s[0]-=32;
    	for(int i=1;i<s.size();i++)
    	{
    		if(s[i]>='A' && s[i]<='Z')
    			s[i]+=32;
		}
		cout << s << endl;
	}
	return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=1139

 

标签:1139,int,字母,药名,药品,奥赛,整理,include
来源: https://blog.csdn.net/lvcheng0309/article/details/117357022