lefafengderen 发表于 2019-11-20 09:32:25

C语言函数问题求助

从键盘输入一行字符,其中含有十进制整数,编写程序,找出其中的整数,并输出。

要求实现一个函数getNumber,其函数原型为:

int getNumber( char s [ ], int a [ ] )

函数getNumber的功能是将字符串s中的十进制整数提取出来并存储在数组a中。

函数getNumber的返回值为提出出来的字符串的个数。

【输入形式】

一行字符,字符串的长度小于1000,其中含有的整数个数小于100。
【输出形式】

一行整数,每个整数后输出一个空格。
【样例输入】

13 November, 2016

【样例输出】

13 2016

jackz007 发表于 2019-11-20 10:37:58

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

getNumber(char s[] , int a[])
{
      int d , e , i , k , n                                                      ;
      for(d = 0 , n = strlen(s) , i = 0 ; i < n ;) {
                for(e = 0 ; i < n && s >= '0' && s <= '9' ; e ++ , i ++)       ;
                if(e) {
                        a = 0                                                   ;
                        for(k = i - e ; k < i ; k ++) a = a * 10+ s - '0' ;
                        e = 0                                                      ;
                        d ++                                                         ;
                } else {
                        i ++                                                         ;
                }
      }
      return d                                                                     ;
}

main(void)
{
      char s                               ;
      int a , d , k                         ;
      fgets(s , 1024 , stdin)                  ;
      s = '\0'                  ;
      d = getNumber(s , a)                     ;
      if(d) {
                for(k = 0 ; k < d ; k ++) {
                        if(! (k % 5)) {
                              if(k) printf("\n") ;
                        } else {
                              printf(" ")      ;
                        }
                        printf("%d" , a)      ;
                }
                printf("\n")                     ;
      }
      return 0                                 ;
}
      编译、运行实况:
C:\Bin>g++ -o d d.c

C:\Bin>d
13 November, 2016
13 2016

C:\Bin>
页: [1]
查看完整版本: C语言函数问题求助