输入一个字符串,内有数字和非数int字符,如a123x456,将其中连续的数作为一个整数,依次存放到整形数组a中。

该C语言代码示例定义了一个函数`fun`,用于从包含数字和非数字字符的字符串中提取整数,将整数存储到数组中,并统计整数个数。在`main`函数中,给定字符串`s`为`a123x456`,程序成功提取出123和456,并输出了整数个数和值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例:123存放在a[0],456存放在a[1]。统计共有多少整数,并输出这些整数

源代码:

#include<stdio.h>
#include<string.h>
void fun(char *p,int *a)
{
    int m=0,i=0;
    for(;*p!='\0';p++)
    {
       if((*p>='0')&&(*p<='9'))
       {
           i=i*10+*p-'0';  
           if((*(p+1)<'0')||(*(p+1)>'9'))
           {
               *a=i;
               a++;
               i=0;  
               m++;
           }  
       }  
    }
   printf("整数个数:%d\n",m);
  
}
int main(int argc, char const *argv[])
{   
    
    char s[32]="a123x456";
    int a[32]={0};
    fun(s,a);
    printf("整数为:\n");
    for(int c=0;a[c]!=0;c++)
      printf("%d    ",a[c]);
    printf("\n");
    return 0;
}

 

结果:

程序设计训练基础题库 1. 随机产生一些1—100之间的整数,直到产生的为50为止。 2. 计算1—1000之间能同时被35整除的整数。 尝试使用多种方法/更快的求解这类题型 3. 打印下列图形: 1 121 12321 121 1 4. 一百匹马驮一百块瓦,一匹大马可以驮3块,一匹母马可驮2块,小马2匹可驮1块。试编程求需要各种马多少匹? 5. 有三种纪念邮票,第一种每套一张售价2元,第二种每套一张售价4元,第三种每套9张售价2元。现用100元买了100张邮票,问这三种邮票各买几张? 6. 赵、钱、孙、李、周五人围着一张圆桌吃饭。饭后,周回忆说:“吃饭时,赵坐在钱旁边,钱的左边是孙或李”;李回忆说:“钱坐在孙左边,我挨着孙坐”。结果他们一句也没有说对。请问,他们在怎样坐的? 7. 找一个三位,各位数字互不相同,十位数字比个位、百位数字还要大,且十位、百位数字不是质。编程找出所有符合条件的三位。 注:1. 不能手算后直接打印结果。 2. “质”即“素”,是指除1自身外,再没有其它因的大于1的自然。 8. 选人。一个小组共五人,分别为A、B、C、D、E。现有一项任务,要他们中的3个人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。编程找出此项任务该由哪三人去完成的所有组合。 9. 输入一个字符串内有数字数字字符。如A123X456Y7A,302ATB567BC,打印字符串中所有连续(指不含数字字符)的数字所组成的整数,并统计共有多少个整数。 10. A、B、C三人进入决赛,赛前A说:“BC得第二,我得第一”;B说:“我进入前两名,丙得第三名”;C说:“A不是第二,B不是第一”。比赛产生了一、二、三名,比赛结果显示:获得第一的选手全说对了,获得第二的选手说对了一句,获得第三的选手全说错了。编程求出A、B、C三名选手的名次。 11. 甲、乙、丙、丁四人共有糖若干块,甲先拿出一些糖分给另外三人,使他们三人的糖加倍;乙拿出一些糖分给另外三人,也使他们三人的糖加倍;丙、丁也照此办理,此时甲、乙、丙、丁四人各有16块,编程求出四个人开始各有糖多少块。 12. 截问题: 任意一个自然,我们可以将其平均截取成三个自然。例如自然135768,可以截取成13,57,68三个自然。如果某自然不能平均截取(位不能被3整除),可将该自然高位补零后截取。现编程从键盘上输入一个自然N(N的位<12),计算截取后第一个加第三个减第二个的结果。 13. 从键盘输入一段英文,将其中的英文单词分离出来:已知单词之间的分隔符包括空格、 问号、句号(小点)分号。 例如:输入:There are apples; oranges and peaches on the table. 输出:there are apples oranges and peaches on the table 14. 山乡希望小学收到一箱捐赠图书,邮件上署名是“兴华中学高二班”,山乡希望小学校 长送来了感谢信,可是兴华中学高二年级有四个班,校长找来了四个班的班长,问他们是哪 个班做的这件好事。一班的班长说:“是四班做的。”二班的班长说:“是三班做的好事。”三 班的班长说:“不是我们班。” 四班的班长说:“三班的班长说的不对。” 四个班的班长都说不是自己班做的,这就难坏了校长,后来得知四个班的班长中有两个 说得是真话,有两个没有说真话,请你利用计算机的逻辑判断编一个程序,找出究竟是哪个 班做了这件好事。不能手算后直接打印结果。 15. A,B,C,D,E五个人合伙夜间捕鱼,凌晨时都疲惫不堪,各自在河边的树丛中找地 方睡着了,日上三竿,E第一个醒来,他将鱼,平分成五分,把多余的一条扔进河中, 拿走一份回家去了,D第二个醒来,他并不知道有人已经走了,照样将鱼平分成五分,又扔掉多余的一条,拿走自己的一份,接着C,B,A依次醒来,也都按同样的办法分鱼(平分成 五份,扔掉多余的一条,拿走自己的一份),问五人至少合伙捕到多少条鱼。 也许你能用学办法推出鱼的条
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值