3 条题解
-
5
C++ 14解法新鲜出炉:🎉️ 【撒花】
大致参考了下楼上的程序。也不是特别 ♂,主要还是含空格输入函数
getline()
的使用方法(特别强调:getline()
会从输入的第一行开始读入,因此程序中需要加入 “if(!i) continue;
” 对第一行输入n进行跳过)。#include<iostream> #include<cstdio> #include<cstring> using namespace std; char outs(char c) { if(c>='A' && c<='Z') return c; else if(c>='a' && c<='z') return c+'A'-'a'; else ; return c; } int main(){ int n; scanf("%d", &n); for(int i=0; i<=n; i++){ string str; getline(cin, str); if(!i) continue; if((str[0]>='a'&&str[0]<='z') || (str[0]>='A'&&str[0]<='Z')) printf("%c", outs(str[0])); for(int j=1; j<str.length(); j++){ if(str[j-1]==' ' && ((str[j]>='a'&&str[j]<='z') || (str[j]>='A'&&str[j]<='Z'))) printf("%c", outs(str[j])); } printf("\n"); } return 0; }
-
3
注:因其不安全性,gets函数于C11标准中被正式删除,同时引进了新函数gets_s代替之。届时请使用新函数。用法:
gets_s(char* Buffer,int Size)
代码如下:
#include<cstdio> #include<cstring> using namespace std; char ch[200]; void outs(char c) { if (c >= 'A' && c <= 'Z') printf("%c", c); else if (c >= 'a' && c <= 'z') printf("%c", c + 'A' - 'a'); return; } int main() { int x; scanf("%d", &x); getchar(); while (x--) { gets(ch); outs(ch[0]); for (int i = 1; i < strlen(ch); i++) { if (ch[i] == ' ') outs(ch[i + 1]); } printf("\n"); } return 0; }
-
1
C :
#include<stdio.h> int main() { int n,i,k; char a[200],b,c; #ifndef ONLINE_JUDGE freopen("in.txt","r",stdin); #endif scanf("%d\n",&n); while(n--) { i=0;k=0; gets(a); for(i=0;a[i]!='\0';i++) { if(a[i]==' ') k=0; else { if(k==0) { if(a[i]>='a') a[i]-=32; printf("%c",a[i]); k=1; } else { k=1; } } } printf("\n"); } return 0; }
C++ :
/* 这一题很简单,用来练习字符串处理函数正好。 */ #include<stdio.h> #include<string.h> #include<ctype.h> int main() { int t; char c[101]; int k,i; char * temp[10]; scanf("%d\n",&t); for(k=0;k<t;k++) { gets(c); temp[0]=strtok(c," "); printf("%c",toupper(temp[0][0])); for(i=1;i<10;i++) { temp[i]=strtok(NULL," "); if(temp[i]==NULL)break; printf("%c",toupper(temp[i][0])); } printf("\n"); } return 0; }
Java :
import java.util.Scanner; import java.util.StringTokenizer; public class Main{ public static void main(String args[]){ Scanner in = new Scanner(System.in); int T = in.nextInt(); in.nextLine(); while(T-- != 0){ StringTokenizer s = new StringTokenizer(in.nextLine(), " "); while(s.hasMoreTokens()){ System.out.print(((s.nextToken()).toUpperCase()).charAt(0)); } System.out.println(); } } }
- 1
信息
- ID
- 1742
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 89
- 已通过
- 3
- 上传者