文章

8

粉丝

136

获赞

2

访问

47.6k

头像
c语言程序错误,求详解
择校分析
发布于2022年11月17日 12:51
阅读数 4.9k

题目:写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。

下面代码错误

#include<stdio.h>
#include<string.h>
int main()
{
    void cpy(char s[],char c[]);
    char s[100];
    char c[100];
    int i;
    for(i=0;s[i]!='\0';i++)
    scanf("%c",&s[i]);
    cpy(s,c);
    printf("%s\n",c); 
    return 0;
}

void cpy(char s[],char c[])
{
  int i,j;
  for(i=0,j=0;s[i]!='\0';i++)
  if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U') 
  {
      c[j]=s[i];
      j++;
      
  }
  c[j]='\0';
}

下面代码正确:

#include<stdio.h>
#include<string.h>
int main()
{
    void cpy(char s[]...

登录查看完整内容


登录后发布评论

2 条评论
快乐小土狗
2022年11月18日 08:58

字符串输入部分修改如下

scanf("%s",s);

#include<stdio.h>
#include<string.h>
int main()
{
    void cpy(char s[],char c[]);
    char s[100];
    char c[100];
    int i;
    scanf("%s",s);
    cpy(s,c);
    printf("%s\n",c);
    return 0;
}

void cpy(char s[],char c[])
{
  int i,j;
  for(i=0,j=0;s[i]!='\0';i++)
  if(s[i]=='a'||s[i]=='A'||s[i]=='e'||s[i]=='E'||s[i]=='o'||s[i]=='O'||s[i]=='u'||s[i]=='U')
  {
      c[j]=s[i];
      j++;

  }
  c[j]='\0';
}

 

赞(1)

追光 : 回复 快乐小土狗: 不能一个字符一个字符的输入吗?

2022年11月18日 21:53