解题思路以及注意事项:
注意是传参的还是定义的全局变量,不要在自定义函数中定义数组,不然函数调用结束后就会清楚数据。
注意在数组的什么地方加 '\0'。
注意不要忘了自增。
实例代码:
#include"stdio.h" void trans(char a[],char b[]); int main() { char ch1[100],ch2[100]; scanf("%s",ch1); trans(ch1,ch2); printf("%s",ch2); return 0; } void trans(char a[],char b[]) { int i=0,j=0; while(a[i]) //这样写也行,可以思考下为什么 { if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u') { b[j]=a[i]; j++; } i++; } b[j]='\0'; }
大家还有什么不懂的请在下面评论区留言,小方会在看到的第一时间替你解疑
0.0分
8 人评分
#include<stdio.h> #define n 100 void trans(char a[],char b[]); int main() { char ch1[n],ch2[n]; gets(ch1); trans(ch1,ch2); puts(ch2); return 0; } void trans(char a[],char b[]) { int i=0,j=0; for(i=0;i<n;i++) { if(a[i]=='a'||a[i]=='e'||a[i]=='i'||a[i]=='o'||a[i]=='u') { b[j]=a[i]; j++; } } b[j]='\0'; } 为什么用for循环不对
错的,没按顺序输出,还有不能删除重复的元音
#include<stdio.h> int main() { char x; while((x=getchar())!=10) { if(x=='a'||x=='e'||x=='i'||x=='o'||x=='u') printf("%c",x); } return 0; } 请教大神 这样写为什么不对啊!
mialenda 2018-05-30 23:32:40 |
我觉得是因为输入格式的问题吧?题目要求输入的是字符串,而getchar()只能单个字符输入吧
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:588 |
时间转换 (Java代码)浏览:572 |
字符串问题 (C语言代码)浏览:1496 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:796 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:555 |
sizeof的大作用 (C语言代码)浏览:1446 |
数字游戏 (C++代码)浏览:1177 |
小O的数字 (C语言代码)浏览:1406 |
A+B for Input-Output Practice (II) (C语言代码)浏览:595 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:546 |
江上清风游 2019-05-11 22:13:34 |
同问为什么循环语句报错