| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 390 人关注过本帖
标题:急需啊…………各位大哥帮帮忙
只看楼主 加入收藏
zouyiyao
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-11-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
急需啊…………各位大哥帮帮忙
先将一个4位数,将千位和十位构成一个两位数S,将百位和个位构成一个新数T.(注意:这里不考虑构成的新数S和T十位为0的情况。如:1001构成新数10和01,但是T不是一个满足条件的数据。所以不考虑)如果构成的新数S是T的5倍,则将该数存放在数组中,如6102,构成新数S位60,T为12,S=5*T。则6102满足条件,存放在数组中,最后输出满足条件的所有数!
搜索更多相关主题的帖子: 各位 大哥 急需 
2009-11-18 22:02
bccnbin2009
Rank: 7Rank: 7Rank: 7
来 自:浙江
等 级:黑侠
帖 子:86
专家分:602
注 册:2009-10-5
收藏
得分:20 
看看是不是满足你的要求:

#include "stdafx.h"
#include <iostream>
#include <string>

using namespace std;

//检查该数是否符合条件
bool CheckData(int num)
{
    //存储四位数的个位,十位,百位,千位
    int A,B,C,D;

    //将四位数每一位都拆开
    D = num/1000;
    C = (num%1000)/100;
    B = ((num%1000)%100)/10;
    A = num-D*1000-C*100-B*10;

    if(C == 0)
        return false;

    //构造新的两位数
    int S = D*10 + B;
    int T = C*10 + A;

    //满足条件则存储
    if((S/T == 5) && (S%T == 0))
        return true;

    return false;
}

int main()
{
    //存储满足条件的四位数
    //开辟一段存储空间
    int *save = new int[100];
    int n = 0;

    int i;
    for(i=1000;i<10000;i++){
        bool r = CheckData(i);
        if(r){
            save[n] = i;
            n++;
        }
    }

    for(i=0;i<n;i++)
        printf("%d\n",save[i]);

    return 0;
}

滨封千里
2009-11-19 13:00
快速回复:急需啊…………各位大哥帮帮忙
数据加载中...
 
   



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

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