http://codeup.cn/contest.php?cid=100000570
Time Limit: 1 Sec Memory Limit: 12 MB
Submit: 2469 Solved: 1716
Description
写一个函数将一个字符串按反序存放。在主函数中输入一个字符串,通过调用该函数,得到该字符串按反序存放后的字符串,并输出。
Input
一行字符串。
Output
输入字符串反序存放后的字符串。单独占一行。
Sample Input
abcd
Sample Output
dcba
代码(C语言)
#include<stdio.h>
void func(char a[10]){
for(int i = 0; i < 4; i++){
printf("%c",a[4-i-1]);
}
}
int main(){
char a[10];
gets(a);
func(a);
printf("\n");
return 0;
}
注意:不能将字符数组的大小设置为4(因为还需要\0)。
func需要传入参数。
func();
void func(){
for(int i = 0; i < 4; i++){
printf("%c",a[4-i-1]);
}
}
是错的
Time Limit: 1 Sec Memory Limit: 12 MB
Submit: 2653 Solved: 1617
Description
写一个函数,将一个字符串中的元音字母复制到另一个字符串中。在主函数中输入一个字符串,通过调用该函数,得到一个有该字符串中的元音字母组成的一个字符串,并输出。
Input
一个字符串(一行字符)。
Output
该字符串所有元音字母构成的字符串。行尾换行。
Sample Input
CLanguage
Sample Output
auae
HINT
可以采用如下函数原型
void vowels(char s1[], char s2[]);
代码(C语言)
#include<stdio.h>
#include<string.h>
void vowels(char s1[], char s2[]);
void vowels(char s1[], char s2[]){
int a = 0;
for(int i = 0; i < strlen(s1); i++){
switch(s1[i]){
case 'A' :
s2[a] = s1[i];
a++;
break;
case 'E' :
s2[a] = s1[i];
a++;
break;
case 'I' :
s2[a] = s1[i];
a++;
break;
case 'O' :
s2[a] = s1[i];
a++;
break;
case 'U' :
s2[a] = s1[i];
a++;
break;
case 'a' :
s2[a] = s1[i];
a++;
break;
case 'e' :
s2[a] = s1[i];
a++;
break;
case 'i' :
s2[a] = s1[i];
a++;
break;
case 'o' :
s2[a] = s1[i];
a++;
break;
case 'u' :
s2[a] = s1[i];
a++;
break;
}
}
}
int main(){
char s1[10],s2[10];
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
gets(s1);
vowels(s1,s2);
printf("%s",s2);
printf("\n");
return 0;
}
注意:字符串要进行memset初始化,否则会出现Wrong Answer。
代码2(C++)
#include<cstdio>
#include<cstring>
void vowels(char s1[], char s2[]);
int main(){
char s1[50];
char s2[50];
memset(s1,0,sizeof(s1));
memset(s2,0,sizeof(s2));
gets(s1);
vowels(s1,s2);
puts(s2);
return 0;
}
void vowels(char s1[], char s2[]){
int len;
char c;
int j=0;
len = strlen(s1);
for(int i=0;i<len;i++){
c = s1[i];
if(c=='A'||c=='a'||c=='E'||c=='e'||c=='I'||c=='i'||c=='O'||c=='o'||c=='U'||c=='u'){
s2[j]=c;
j++;
}
}
}
疑问:可否通过判断s1的结束符的方法解决。
while(a[i]!='\0')//'\0'代表ASCLL码0的字符,即是一个空操作符也就是是结束符;
版权所有:可定博客 © WNAG.COM.CN
本文标题:《Contest100000570 – 《算法笔记》2.6小节——C/C++快速入门->函数》
本文链接:https://cloud.tencent.com/developer/article/1616884
特别声明:除特别标注,本站文章均为原创,本站文章原则上禁止转载,如确实要转载,请电联:wangyeuuu@qq.com,尊重他人劳动成果,谢过~