NYJYA 发表于 2019-1-23 14:21:29

求助,代码有错误吗?

本帖最后由 NYJYA 于 2019-1-26 17:58 编辑

题目描述:
编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。
只要结果,别输出什么提示信息。
输入:
一行字符串
输出:
统计数据,4个数字,空格分开。
#include<stdio.h>
#include<string.h>
void search(int *p1,int *p2,int *p3,int *p4,char b)
{
        int i,k;
        k=strlen(b);
        for(i=0;i<k;i++)
        {
                if((b>='A'&&b<='Z')||(b>='a'&&b<='z'))
                *p1=*p1+1;
                else if(b>='0'&&b<='9')
                *p2=*p2+1;
                else if(b==' ')
                *p3=*p3+1;
                else *p4=*p4+1;
        }
}
int main()
{
        int w=0,n=0,s=0,o=0;
        char a;
        gets(a);
        search(&w,&n,&s,&o,a);
        printf("%d %d %d %d\n",w,n,s,o);
        return 0;
}

灰色的天空 发表于 2019-1-23 15:21:45

没什么问题吧

ljd884497 发表于 2019-1-23 16:55:37

int search(int *p1,int *p2,int *p3,int *p4,char b)

这个函数 有 int 型的返回值,你没有返回,最好改成 void search (...);

NYJYA 发表于 2019-1-23 20:16:54

ljd884497 发表于 2019-1-23 16:55
int search(int *p1,int *p2,int *p3,int *p4,char b)

这个函数 有 int 型的返回值,你没有返回, ...

改了,还是通不过{:10_266:}{:10_266:}

rencaixiaomeng 发表于 2019-1-23 20:36:13

#include<stdio.h>
#include<string.h>
int search(int *p1,int *p2,int *p3,int *p4,char b)   //不需要返回值,返回值写成void
{
      int i,k;
      k=strlen(b);
      for(i=0;i<k;i++)
      {
                if((b>='A'&&b<='Z')||(b>='a'&&b<='z'))
                *p1=*p1+1;
                else if(b>='1'&&b<='9')   //这里b应该是和'0'还有'9'比较
                *p2=*p2+1;
                else if(b==' ')
                *p3=*p3+1;
                else *p4=*p4+1;
      }
}
int main()
{
      int w=0,n=0,s=0,o=0;
      char a;
      gets(a);
      search(&w,&n,&s,&o,a);
      printf("%d %d %d %d\n",w,n,s,o);
      return 0;
}

NYJYA 发表于 2019-1-24 09:20:19

rencaixiaomeng 发表于 2019-1-23 20:36
#include
#include
int search(int *p1,int *p2,int *p3,int *p4,char b)   //不需要返回值,返回值 ...

还是通不过{:10_266:}{:10_266:}

行客 发表于 2019-1-24 12:09:13

NYJYA 发表于 2019-1-24 09:20
还是通不过

#include<stdio.h>
#include<string.h>
//int search(int *p1,int *p2,int *p3,int *p4,char b)   //返回值写成void
void search(int *p1,int *p2,int *p3,int *p4,char b)
{
        int i,k;
        k=strlen(b);
        for(i=0;i<k;i++)
        {
                if((b>='A'&&b<='Z')||(b>='a'&&b<='z'))
                        *p1=*p1+1;
                //else if(b>='1'&&b<='9')   //b与'0'和'9'比较
                else if(b>='0'&&b<='9')
                        *p2=*p2+1;
                else if(b==' ')
                        *p3=*p3+1;
                else *p4=*p4+1;
        }
}
int main()
{
        int w=0,n=0,s=0,o=0;
        char a;
        gets(a);
        search(&w,&n,&s,&o,a);
        printf("%d %d %d %d\n",w,n,s,o);
        return 0;
}

NYJYA 发表于 2019-1-26 16:24:34

行客 发表于 2019-1-24 12:09


还是通不过{:10_266:}{:10_266:}

人造人 发表于 2019-1-26 16:46:16

#include<stdio.h>
#include<string.h>

void search(int *p1, int *p2, int *p3, int *p4, char b)
{
        int i, k;
        k = strlen(b);
        for(i = 0; i < k; i++)
        {
                if((b >= 'A'&&b <= 'Z') || (b >= 'a'&&b <= 'z'))
                        *p1 = *p1 + 1;
                else if(b >= '0'&&b <= '9')
                        *p2 = *p2 + 1;
                else if(b == ' ')
                        *p3 = *p3 + 1;
                else *p4 = *p4 + 1;
        }
}
int main(void)
{
        int w = 0, n = 0, s = 0, o = 0;
        char a;
        gets(a);
        search(&w, &n, &s, &o, a);
        printf("%d %d %d %d\n", w, n, s, o);
        return 0;
}


int search(int *p1,int *p2,int *p3,int *p4,char b)
30 7 6 12
请按任意键继续. . .

行客 发表于 2019-1-26 17:07:35

NYJYA 发表于 2019-1-26 16:24
还是通不过

错误信息请贴上来

NYJYA 发表于 2019-1-26 17:56:40

行客 发表于 2019-1-26 17:07
错误信息请贴上来

未通过的数据:
结果                                                耗时                                                 内存
答案错误                                          0                                                   1658880
答案错误                                          0                                                   1531904

行客 发表于 2019-1-26 17:58:19

NYJYA 发表于 2019-1-26 17:56
未通过的数据:
结果                                                耗时                        ...

又是用的在线的那个?你把在线用的哪个贴上地址来。

NYJYA 发表于 2019-1-26 19:27:23

本帖最后由 NYJYA 于 2019-1-26 19:30 编辑

行客 发表于 2019-1-26 17:58
又是用的在线的那个?你把在线用的哪个贴上地址来。

http://newoj.acmclub.cn/problems/1069
页: [1]
查看完整版本: 求助,代码有错误吗?