| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 424 人关注过本帖
标题:求两句子的解释
取消只看楼主 加入收藏
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
结帖率:100%
收藏
已结贴  问题点数:50 回复次数:1 
求两句子的解释
输入一字符串,内有数字和非数字,如:a1234x456-\a124dkk      将其中连续的数字作作为一个整数,
依次放到一数组a,如将功赎罪1234,456,124分别放到a[0],a[1],a[2]中,统计有多少个新的整数并输出。
(很郁闷,那个减去48到底是什么意思?)
#include <stdio.h>
main()
{
  char str[50],*pstr;
  int i,j,m,e10,digit,ndigit,a[10],*pa;
  printf("\nInput a string :\n");
  gets(str);
  printf("\n");
  pstr=str;      
  pa=a;
  ngigit=0;    /*统计多少个新的整数*/
  i=0;          /*代表字符串中字符的位置*/
  j=0;          /*代表连续数字的位数*/
  while(*(pstr+i)!='\0')
   {if((*(pstr+i)>='0'&&*(pstr+i)<='9'))
       j++;
    else
      {if(j>0)
        {digit=*(pstr+i-1)-48;      /*将个数位赋予 digit*/
             k=1;
          while(k<j)                    /*将含有两位以上数的其他位的数值累计到 digit*/
           {e10=1;
            for(m=1;m<=k;m++)
               e10=e10*10;             /*e10代表该位数所应乘的因子*/
            digit=digit+(*(pstr+i-1-k)-48)*e10;      /*将该位数的数值累加到 digit*/
                k++;           /*位数自加*/
            }
          *pa=digit;      /*将数值赋予数组a*/
          ndigit++;      
          pa++;          /*指针指向数组下一元素*/
          j=0;
        }
      }
    i++;
   }
  if(j>0)                              /*以数字结尾字符串的最后一个数据*/
   {digit=*(pstr+i-1)-48;      /*将个数位赋予digit*/
    k=1;
    while(k<j)                   /*将含有两位以上数的其他位的数值累计到 digit*/
     {e10=1;
       for(m=1;m<=k;m++)
        e10=e10*10;             /*e10代表该位数所应乘的因子*/
       digit=digit+(*(pstr+i-1-k)-48)*e10;       /*将该位数的数值累加到 digit*/
        k++;
      }
    *pa=digit;             /*将数值赋予数组a*/
    ngigit++;              /*指针指向数组下一元素*/
    j=0;      
   }
  printf("There are %d numbers in this line.They are :\n",ndigit);
  j=0;
  pa=a;
  for(j=0;j<ndigit;j++)
    printf("%d",*(pa+j));
  printf("\n");
}
搜索更多相关主题的帖子: 解释 
2009-09-12 11:47
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
收藏
得分:0 
非常感谢两位

参与切磋是美德,每天回帖即可获得10分可用分!
2009-09-12 17:44
快速回复:求两句子的解释
数据加载中...
 
   



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

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