| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1478 人关注过本帖
标题:提取偶数的问题,请前辈指导一下
只看楼主 加入收藏
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
结帖率:92.31%
收藏
已结贴  问题点数:20 回复次数:3 
提取偶数的问题,请前辈指导一下
我现在要输入一个数,然后提取他们之中的偶数来组成一个新的数字,


***我的问题是:在执行这个要求的第三个循环里,我加入了一个输出来检查问题,我的这个输出都没有问题,可是在最后一个输出的时候明明我前面输出的值都存储在1数组c里了,为什么后面给我随机赋值
我输入:
2
123456
246
123456
246
-858993460    (就是这样)   

###我的代码:(注释的部分是我准备等一会儿加进去的循环输出)
#include<stdio.h>
int main()
{
    int n;
    int a,b;
    int sum;
    int x[100],c[100],i,j;
    int y,z;
    scanf("%d",&y);
    for(z=0;z<y;z++)
    {
        i=0;
        j=0;
        sum=0;
    scanf("%d",&n);
    for(b=n;b;i++)
    {   
        a=b%10;
        b=b/10;
        x[i]=a;
    }   
    i--;
    for(;i>=0;i--)
    {
   
     if(x[i]%2==0  && x[i]!=0)
        {
            sum=sum*10+x[i];
        }        
    }
    c[j]=sum;   
        printf("%d\12",c[j]);
        j++;
    }


    /*for(z=0;z<y;z++)
    {
        printf("%d\12",c[z]);
   
    }
    printf("%d\12",sum);*/
    printf("%d\12",c[j]);
    return 0;
    }
搜索更多相关主题的帖子: 提取 输出 int sum for 
2018-11-28 09:38
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:10 
c[j]=sum;   
        printf("%d\12",c[j]);
        j++;
    }


    /*for(z=0;z<y;z++)
    {
        printf("%d\12",c[z]);
   
    }
    printf("%d\12",sum);*/
    printf("%d\12",c[j]);
    return 0;
    }

我测试没有乱码,但是是0
两处的c[j]是不一样的,因为j++,假如后一个c[j],因此而未赋值,乱码是自然的。------这是推测


[此贴子已经被作者于2018-11-28 15:26编辑过]

2018-11-28 15:24
wlxy_wang
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:77
专家分:303
注 册:2018-11-2
收藏
得分:10 
测试后改完运行结果正确
程序代码:
#include<stdio.h>
int main()
{
    int n;
    int a,b;
    int sum;
    int x[100],c[100],i,j=0;//将j值初值置为0;
    int y,z;
    scanf("%d",&y);
    for(z=0;z<y;z++)
    {
        i=0;
      //  j=0;  //原来j值在这里总是被重置。
        sum=0;
    scanf("%d",&n);
    for(b=n;b;i++)
    {    
        a=b%10;
        b=b/10;
        x[i]=a;
    }    
    i--;
    for(;i>=0;i--)
    {
    
     if(x[i]%2==0  && x[i]!=0)
        {
            sum=sum*10+x[i];
        }        
    }
    c[j]=sum;    
    //    printf("%d\12",c[j]);
        j++;
    }


    for(z=0;z<y;z++)
    {
        printf("%d\12",c[z]);
    
    }
   // printf("%d\12",sum)
   // printf("%d\12",c[j]);次数c[j]已经越界。所以会输出一个随机值
    return 0;
    }


[此贴子已经被作者于2018-11-28 16:17编辑过]

2018-11-28 16:10
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
收藏
得分:0 
回复 3楼 wlxy_wang
谢谢前辈

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-11-28 16:55
快速回复:提取偶数的问题,请前辈指导一下
数据加载中...
 
   



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

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