| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1149 人关注过本帖
标题:有两道简单的题,算法语句等请照顾我们这些初学者啊~~~
只看楼主 加入收藏
muyepingpang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-11-3
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
有两道简单的题,算法语句等请照顾我们这些初学者啊~~~
1、编写一个程序,将二、八或十六进制整数转化为十进制数(用case1、case2这些分开写);

2、有17个人围成一圈(编号为0~16),从第0号的人开始从1报数,凡报到3的倍数的人离开圈子,然后再数下去,直到最后只剩一个人为止。编程求此人原来的编号是多少号。(答案:10)

这两道题困扰了我们一节课了,现在我们只学到for循环和string函数,这两道题太囧了,大家都不会做。。。。。。。
搜索更多相关主题的帖子: 照顾 语句 算法 
2009-11-03 11:46
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:2 
这两道题在外面均有帖子,好好看看吧。
2009-11-03 11:51
浮桥
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2009-11-3
收藏
得分:2 
第一题简单
第二题九有点郁闷、
我技术差就不献丑了!!!!1
2009-11-03 12:24
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:2 
程序代码:
第二题:

/*如果报数到3,就将其置0*/
#include <stdio.h>
main()
{
    int a[17], i, j, n = 0;
    for ( i = 0; i <17; i++)
          a[i] = i + 1 ;
    for ( i = 0; i <17; i++) printf ("%d\t",a[i]);
    puts ("\n");
    for ( j = 1; j < 17 / 2; j++)
    for ( i = 0; i < 17; i++)
        {
            if ( a[i] != 0)
              ++n;
            if ( n % 3 ==0)
                 a[i] = 0;
         }
        for ( i = 0; i <17; i++) 
        printf ("%d\t",a[i]);
        getch ();
        }
/*注意数组下标从0开始*/

想象力征服世界
2009-11-04 12:48
jian3000
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2009-10-27
收藏
得分:2 
楼上的?我想请问一下你的程序中:
for ( j = 1; j < 17 / 2; j++)
这句是什么意思?我想了半天不能理解~~我也是新手

#include"stdio.h"
#include"conio.h"
#define N 17
main()
{ int a[N],i,k,m;
  for(i=0;i<N;i++)
  {a[i]=i+1;
  printf("%d ",a[i]);}
  printf("\n");

  k=0;m=0;i=0;
  while(m<N-1)
  {for(i=0;i<N;i++)
  {if (a[i]!=0)
  k++;
  if (k==3)
  {k=0;a[i]=0;m++;}} }

for(i=0;i<N;i++)
  {if (a[i]!=0)
  printf("%d ",a[i]);}
  getch();
}
这个是我自己想的,和你的比起来就是没你的简洁~~~
2009-11-04 13:55
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:2 
给四楼的改一下,


#include <stdio.h>
void main()
{
    int a[17], i, j, n = 1;
    for ( i = 0; i <17; i++)
          a[i] = i + 1 ;
    for ( i = 0; i <17; i++) printf ("%d\t",a[i]);
    puts ("\n");
    for ( j = 1; j < 17 / 2; j++)
    for ( i = 0; i < 17; i++)
        {
            if ( a[i] != 0)
              ++n;
            if ( n % 3 ==0&&a[i]!=0)
             {
                 printf("%d   ",a[i]);
                 a[i] = 0;
             }
         }
        getch ();
}

离恨恰如春草,更行更远还生。
2009-11-04 14:15
zqb7899
Rank: 4
等 级:业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
收藏
得分:2 
第二题,做了一下午才做出来。
新手,高手勿笑。
刚做完,有待改进。
代码如下:
#include<stdio.h>

void main()
{
 int n[17],i,j=0,temp=17;
 for(i=0;i<17;i++)
  {
   n[i]=i+1;
   if(n[i]%3==0) {n[i]=0;j++;}   /* j是不为0的元素的个数的计数器。 */
  }                              /* 为n[17]赋值,并把其中能被3整除的置0。 */
 for(i=0;i<17;i++)
  {
   if(n[i]!=0)                  /* 判断n[17]中的元素若不为0,则值从17开始加1。 */
    {
     temp++;
     n[i]=temp;
     if(j==16) {printf("%d",i);break;}   /* 当j的个数到达16,就输出i的序号,并退出循环。 */
    }
   if(n[i]!=0&&n[i]%3==0) {n[i]=0;j++;}  /* 若元素能被3整除,则将元素的值置0。因0%3=0,所以加上n[i]!=0。 */
   if(i==16) i=0;                        /* 当i=16,则i重新置0,重新循环。 */
  }
 getch();
}
2009-11-04 17:19
rexzheng
Rank: 2
等 级:论坛游民
帖 子:32
专家分:13
注 册:2009-10-26
收藏
得分:2 
#include<stdio.h>
main()
{
    int r[17],k=0,i=0,a=17,m=17;
    for(i=0;i<17;i++)
    {
        r[i]=i+1;
    }
    i=0;
    while(1)
    {
        if(a==1)goto N;
        if(r[i]!=0)
        {
            k++;
        
            if(k%3==0)
            {
                r[i]=0;
                a--;
            }
        }
        i++;
        if(i==17) i=0;
        
    }
N:    i=0;
while(i<17)
  {
    if(r[i]!=0)printf("%d",i);
        i++;
  }
getchar();
}
刚学C语言。。有点复杂。。因为只会用几个语句
我这个C自己看书的。。老师还没有讲。。所以掌握的还不是很好
不过重在练习!
2009-11-05 17:04
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:2 
第二题就是一个约瑟夫环的问题啊。有现成的算法啊!
2009-11-05 17:57
小楠
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2009-11-5
收藏
得分:2 
为什么都喜欢搞一些数学题了~~最讨厌数学了~~
2009-11-05 18:43
快速回复:有两道简单的题,算法语句等请照顾我们这些初学者啊~~~
数据加载中...
 
   



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

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