首页 > 代码库 > C++与Java(模拟)
C++与Java(模拟)
C++与Java
Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluDescription
按照Java的命名规范,由一个多个单词构成的变量名的命名规则为:第一个单词的开头为小写字母,其余单词都以大写字母开头,单词与单词之间不加任何分隔符,除了单词的首字母之外的其他字母一律使用小写。例如:name、myName。而C++的命名则全部使用小写字母,在单词和单词之间使用“_”来作为分隔符。例如:name、my_name。
你的任务就是写一个程序把按照C++的命名方式命名的变量名转换为Java的命名方式。
Input
输入包含多组测试数据。
每组数据为一行字符串(字符串长度不超过100)。
Output
对于每组测试数据,输出转换后的字符串。注意:如果输入的字符串不符合C++的命名规范,则输出“Error”(不包含引号)。
Sample Input
my_namemyName
Sample Output
myNameError
#include<stdio.h>#include<string.h>#include<string.h>int main(){ char s[1000], t[1000]; int len, i, k, flag; while(gets(s)!=NULL) { k =0; flag = 0; memset(t, 0, sizeof(t)); len = strlen(s); for(i=0; i<len; i++)//判是否为合法C++命名 { if(s[i]<‘a‘ || s[i]>‘z‘) { if(s[i]==‘_‘) { if(s[0]==‘_‘ || s[len-1]==‘_‘ || s[i+1]==‘_‘) { printf("Error\n"); flag =1; break; } } else { printf("Error\n"); flag = 1; break; } } } if(flag) continue; for(i=0; i<len; i++)//如果合法改为Java命名形式 { if(s[i]==‘_‘) ; else if(s[i]>=‘a‘ && s[i]<=‘z‘) { if(s[i-1]==‘_‘) t[k++] = s[i]-32; else t[k++] = s[i]; } } printf("%s\n", t); } return 0;}
C++与Java(模拟)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。