飞翔的小鱼 发表于 2014-9-18 16:29:15

感谢楼主的无私啊

magnificent 发表于 2014-9-18 19:39:33

谢谢楼主分享

刻意的小丑 发表于 2014-9-18 23:25:04

#include <stdio.h>
int main(void) {
      int i;
      for( i=0+1;i<=100;++i ) {
                int div_3 = !(i%3);
                int div_5 = !(i%5);
                if( div_3 || div_5 )
                        printf("%s%s%d ",
                              div_3?"*":"",
                              div_5?"#":"",
                              i
                              );
      }
      printf("\n");
}


感觉这个已经很牛了

刻意的小丑 发表于 2014-9-18 23:26:36

仰望天上的光 发表于 2014-5-18 22:42


不知这位大神和楼主的哪个好,从效率上来说

网络学习 发表于 2014-9-19 01:36:13

俺来学习一下

zhuweiyuxidian 发表于 2014-9-19 18:25:49

#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
        for(int i=0;i<=100;i++)
        {
                int div_3=!(i%3);   // div_3为1时可以整除3
                int div_5=!(i%5);
                if(div_3||div_5)
                {
                        cout<<setw(3)<<(div_3?'*':' ')<<(div_5?'#':' ') <<setw(3)<< i << endl;
                }
        }

        return 0;
}

兢兢 发表于 2014-9-20 03:28:34

看看有什么玄机

我戒撸学汇编 发表于 2014-9-20 14:34:34

凑凑热闹来看看

hacker.jin 发表于 2014-9-20 17:39:45

本帖最后由 hacker.jin 于 2014-9-20 17:43 编辑

个人认为答案应该是这样元芳你怎么看

#include <stdio.h>
void main(void)
{
      int i;
      for (i=1;i<=100;i++)
      {
                printf("%d",i);
                if (i%3==0)
                {
                        printf("*");
                        if (i%5==0)
                        {
                              printf("#");
                        }
                }else if (i%5==0)
                {
                        printf("#");
                }
                printf("\n");
      }
}

hacker.jin 发表于 2014-9-20 17:41:05

本帖最后由 hacker.jin 于 2014-9-20 17:45 编辑

这样效率比较高点   切完全符合题目    要打印出数字和*#

韬子 发表于 2014-9-21 08:28:34

看看啊!

jueban 发表于 2014-9-21 09:49:16

看看看

allan_012 发表于 2014-9-21 11:01:37

我要好好看看~~~

阿堂 发表于 2014-9-26 14:11:41


看一看哈,回帖是美德!

759851846 发表于 2014-9-26 16:13:05

看看是扫描题目

dami913320205 发表于 2014-9-26 20:04:42

想看

优雅的独行者 发表于 2014-9-26 22:45:57

本帖最后由 优雅的独行者 于 2014-9-26 22:56 编辑

int main(int argc, char* argv[]){
               for (int i = 1; i != 101;++i)
            {
                              if (i%3==0 && i%5 == 0){
                                        printf("*#%d\n",i);
                              }else if (i%3==0){
                                        printf("*%d\n",i);
                               }else if (i%5   ==0){
                                        printf("#%d\n",i);
                               }
            }
               return 0;
}

//实在弄不明白楼主为何在滥用i++,还有这个if((i%3==0||i%5==0)&&i!=0) 判断条件
//还有这个算法优化问题 这玩意儿真看不出来 也就100以内的循环 这个真没必要
//算法导论上有一句很经典:如果计算机CPU足够快 内存足够大 所有的算法的效率都是一样的
//PS:第一次用代码编辑 格式好乱


沐丶小白 发表于 2014-9-27 08:29:57

....................................

ぐ硪总猜不透℃ 发表于 2014-9-27 09:30:07

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

messilxs 发表于 2014-9-28 09:21:54

已经做出来,但是看看有什么陷阱!
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18
查看完整版本: 【转载CSND】一道淘汰85%面试者的百度开发者面试题