codeup习题
文章目录
Problem A: 字符串连接
要求不使用库函数把两个字符串连接并输出。
非常简单。
#include<stdio.h>
int main(){
char str1[110],str2[110];
while(scanf("%s%s",str1,str2)!=EOF){
int num1,num2;
num1=num2=0;
while(str1[num1]!='\0')num1++;
while(str2[num2]!='\0')num2++;
int i,j;
for(i=num1,j=0;j<num2;i++,j++){
str1[i]=str2[j];
}
str1[i]='\0';
printf("%s\n",str1);
}
return 0;
}
Problem B: 首字母大写
对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。
在字符串中,单词之间通过空白符分隔,空白符包括:空格(’ ‘)、制表符(’\t’)、回车符(’\r’)、换行符(’\n’)。
注意如果首字母本身就是大写则无需转变,另题意表达不清,实际上只有’ '和‘\t’两种类型。
#include<iostream>
#include<string.h>
using namespace std;
int main(){
char str[100];
while(cin.getline(str,100)){
int len=strlen(str);
for(int i=0;i<len;i++){
if(i==0&&(str[i]>='a'&&str[i]<='z')){
str[i]+='A'-'a';
}
if((str[i]==' '||str[i]=='\t')&&(str[i+1]>='a'&&str[i+1]<='z')){
str[i+1]+='A'-