程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言指針+函數小程序

c語言指針+函數小程序

編輯:C語言問答

c語言指針+函數小程序

20 程序代碼如下:#include <stdio.h>void find_number(char *string,int *number,int *n);void input_string(char *string);
void main(){ char string[100]; int number[10],n; input_string(string); find_number(string,number,&n); for (int i=0;i<n;i++) printf("%d",number[i]);}
void find_number(char *string,int *number,int *n){ int num=0,k=0,l=0,m=0; for (int i=1;*(string+i)!='\0';i++) { if ((*(string+i)>47&&*(string+i)<58)&&(*(string+i-1)<48||*(string+i-1)>57)) l++,k++,*n=*n+1; for (int j=i;k;j++) { num=num*10+*(string+i)-48; if ((*(string+j)<48&&*(string+j)>57)&&(*(string+j-1)>47||*(string+j-1)<58)) k--; } if (l) { *(number+m)=num; m++; l--; num=0; } }}void input_string(char *string){ gets(string);}
這小程序的目的是先輸入一個任意字符串,然後輸出其中的數字,如輸入“dsa321fdsf32”那麼就應該輸出“321   32”。。。求大神看看啊~~~在線等```` 補充:代碼如下:

#include <stdio.h>
void find_number(char string[],int number[],int *n);
void input_string(char string[]);


void main()
{
char string[100];
int number[10],n;
input_string(string);
find_number(string,number,&n);
for (int i=0;i<n;i++) printf("%d",number[i]);
}


void find_number(char string[],int number[],int *n)
{
int num=0,k=0,l=0,m=0;
for (int i=1;*(string+i)!='\0';i++)
{
if ((*(string+i)>47&&*(string+i)<58)&&(*(string+i-1)<48||*(string+i-1)>57)) l++,k++,*n=*n+1;
for (int j=i;k;j++)
{
num=num*10+*(string+i)-48;
if ((*(string+j)<48&&*(string+j)>57)&&(*(string+j-1)>47||*(string+j-1)<58)) k--;
}
if (l)
{
*(number+m)=num;
m++;
l--;
num=0;
}
}
}
void input_string(char string[])
{
gets(string);
}

最佳回答:

你如果只是為了實現你說的功能,我想這樣就行了:
#include <stdio.h>
void find_number(char *string);
void input_string(char *string);
void main()
{
   char string[100];
   int number[100];
   input_string(string);
   find_number(string);
}
void find_number(char *string)
{
    int i;
    for (i=0;*(string+i)!='\0';i++)
       if (*(string+i)>='0'&&*(string+i)<='9')
           printf("%d",*(string+i)-'0');
}
void input_string(char *string)
{
   gets(string);
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved