| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 544 人关注过本帖
标题:看看这个程序,有什么问题
取消只看楼主 加入收藏
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
结帖率:93.75%
收藏
已结贴  问题点数:10 回复次数:2 
看看这个程序,有什么问题
#include<stdio.h>
#include<math.h>
void main()
{
  void pro(char * p);
  char str[20];
  gets(str);
  pro(str);

  getch();

}

void pro(char * p)
{
  int k=0,s=0,digit=0,t=0,i,j,flag=0,a[20];
  for(i=0;* (p+i)!='\0';i++)
  {
    if(* (p+i)>='0'&& * (p+i)<='9')
    {
      t++;flag=1;
    }

    else flag=0;
    if(t>0&&flag==0)
    {
      for(j=i-1,k=0;j>=i-t&&k<t;j--)
        {digit+= * (p+j)*pow(10,k);
        k++;}


       a[s]=digit;
      t=0;k=0;digit=0; s++;

    }

  }
  printf("there are %d nums!\n",s);
  for(i=0;i<s;i++)
  printf("%d",a[i]);

}


输入一个字符串,内有数字字符和非数字字符。要求将连续的数字最为一个整数,一次存放到一数组a中。
2010-09-25 00:42
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
回复 2楼 linqingwudi
比如说:输入a123x456  17961?这一字符串,程序应将123存入a[0].456存入a[1],17960存入a[2],最后输出数组a
2010-09-25 11:37
shiningwater
Rank: 1
等 级:新手上路
帖 子:51
专家分:5
注 册:2010-3-25
收藏
得分:0 
改过来了,供大家参考
#include<stdio.h>
#include<math.h>
void main()
{
  void pro(char * p);
  char str[20];
  gets(str);
  pro(str);


}

void pro(char * p)
{
  int k=0,s=0,digit=0,t=0,i,j,flag=0,a[20];
  for(i=0;* (p+i)!='\0';i++)
  {
    if(* (p+i)>='0'&& * (p+i)<='9')
    {
      t++;flag=1;
    }

    else flag=0;
    if(t>0&&flag==0)
    {
      for(j=i-1,k=0;j>=i-t&&k<t;j--)
        {digit+= (*(p+j)-'0')*pow(10,k);
        k++;}


       a[s]=digit;
      t=0;k=0;digit=0; s++;

    }

  }
  printf("there are %d nums!\n",s);
  for(i=0;i<s;i++)
  printf("%d",a[i]);

}
2010-09-25 23:34
快速回复:看看这个程序,有什么问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017890 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved