解题思路以及注意事项:
注意是传参的还是定义的全局变量,不要在自定义函数中定义数组,不然函数调用结束后就会清楚数据。
注意在数组的什么地方加 '\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语言代码)浏览:1464 |
A+B for Input-Output Practice (V) (C++代码)浏览:451 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:867 |
C二级辅导-阶乘数列 (C语言代码)浏览:691 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1341 |
1009题解浏览:750 |
A+B for Input-Output Practice (VI) (C语言代码)浏览:558 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:401 |
数列有序 (C语言代码)浏览:935 |
C语言训练-排序问题<1> (C语言代码)浏览:355 |
江上清风游 2019-05-11 22:13:34 |
同问为什么循环语句报错