| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2495 人关注过本帖
标题:从100到999中找出十位数是素数的数,并把这些满足条件的数按各位数字之和的 ...
只看楼主 加入收藏
w19890717
Rank: 1
等 级:新手上路
帖 子:21
专家分:5
注 册:2011-4-9
收藏
 问题点数:0 回复次数:16 
从100到999中找出十位数是素数的数,并把这些满足条件的数按各位数字之和的大小进行降序排列
从100到999中找出十位数是素数的数,并把这些满足条件的数按各位数字之和的大小进行降序排列(用C语言)
搜索更多相关主题的帖子: C语言 
2011-04-09 16:31
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
从哪找的题呀。你自己亲手编程,是学不会编程的。
2011-04-09 20:29
szy200414
Rank: 2
等 级:论坛游民
帖 子:14
专家分:14
注 册:2011-2-23
收藏
得分:0 
十位数是素数的数就是指十位数是2,3,5,7的数?
2011-04-09 20:46
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
我觉得是。
2011-04-09 21:12
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
自己找!!!!!!!!!!!!

                                         
===========深入<----------------->浅出============
2011-04-09 21:50
席卷天下
Rank: 1
等 级:新手上路
帖 子:29
专家分:6
注 册:2010-10-24
收藏
得分:0 
#include<stdio.h>
#include<conio.h>
int main()
{
  int i,j,k,count,num[1000],b[1000];
  count=j=0;
  clrscr();
  for(i=100;i<999;i++){
    k=i/10%10;
    if(k==2||k==3||k==5||k==7)
      ++count;
    switch(k){
       case 2: num[j++]=i;break;
       case 3: num[j++]=i;break;
       case 5: num[j++]=i;break;
       case 7: num[j++]=i;break;
    }
  }
  j=0;
  for(i=count-1;i>=0;i--){
    k=num[i];
    b[j++]=k;
  }
  for(i=0;i<count;i++){
    num[i]=b[i];
    printf("%d "num[i]);
  }
  return 0;
}
2011-04-09 22:54
李建国
Rank: 2
等 级:论坛游民
帖 子:14
专家分:19
注 册:2010-8-18
收藏
得分:0 
我也写了一个版本,一起探讨下:
/*
作者:李建国
版本:V1.0
版权:
*/

# include <stdio.h>
# include <stdlib.h>

struct A//定义数值与按位位和绑定的数据类型
{
    int shuzhi;
    int weisum;
};

int traversal(int, int);//遍历在给定范围内存在多少个满足条件的数,得到总和
bool is_prime(int);//判断十位是否为素数
int qiu_weihe(int);//各位求和

int main(void)
{
    int num = 100;//给定起始界限
    int i = 0;
    int j;
    int n;
    struct A t;

    n = traversal(100, 1000);
    //printf("%d\n",n);

    struct A * pArr = (struct A *)malloc(n*sizeof(struct A));//定义存放符合要求的数值及按位和

    while(num<1000)//将符合要求的数值连同按位和存放到数组中
    {
        if (is_prime(num))
        {
            pArr[i].shuzhi = num;
            pArr[i].weisum = qiu_weihe(num);
            i++;
        }
        num++;
    }

    //sort
    for (i=0; i<n-1; i++)//排序
    {
        for (j=0; j<n-1-i; j++)
        {
            if (pArr[j].weisum > pArr[j+1].weisum)
            {
                t = pArr[j];
                pArr[j] = pArr[j+1];
                pArr[j+1] = pArr[j];
            }
        }
    }

    //putout
    printf("100-999之间所有十位为素数的数字按其各位数之和排列,由小到大的顺序如下:\n");
    for (i=0; i<n; i++)//输出
    {
        printf("%d  ",pArr[i].shuzhi);
    }

    return 0;
}

bool is_prime(int num)
{   
    int m;
    int n;

    m = num / 10;
    n = m % 10;
    if ((n==2)||(n==3)||(n==5)||(n==7))
        return 1;
    else
        return 0;
}

int qiu_weihe(int num)
{   
    int m1;
    int m2 = num;
    int n = 0;
   
    while (m2)
    {
        m1 = m2 % 10;
        m2 /= 10;
        n += m1;
    }

    return n;

}

int traversal(int m, int n)
{
    int total = 0;
    int i;

    for (i=m; i<n+1; i++)
    {
        if (is_prime(i))
            total++;
    }

    return total;
}

/*
在VC6.0中的输出结果是:
——————————————————————
120 121 122 ...
——————————————————————
总结:还可以增强一下交互性
*/
2011-04-11 15:56
w19890717
Rank: 1
等 级:新手上路
帖 子:21
专家分:5
注 册:2011-4-9
收藏
得分:0 
回复 2楼 kwxx
确实是找的题,没办法,我发现我只会做这些编程题,我也想有所进步呀,只是不知该如何做
2011-04-12 13:57
w19890717
Rank: 1
等 级:新手上路
帖 子:21
专家分:5
注 册:2011-4-9
收藏
得分:0 
回复 3楼 szy200414
嗯,是呀
2011-04-12 13:59
w19890717
Rank: 1
等 级:新手上路
帖 子:21
专家分:5
注 册:2011-4-9
收藏
得分:0 
回复 5楼 laoyang103
呵呵,加为好友吧
2011-04-12 14:00
快速回复:从100到999中找出十位数是素数的数,并把这些满足条件的数按各位数字之 ...
数据加载中...
 
   



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

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