今天的面视题目,大家来帮忙看看!
上机打出
1
222
33333
4444444
555555555
66666666666
7777777777777
888888888888888
99999999999999999
我是这样做的
#include "stdafx.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout << " " << 1 ;
cout << endl;
cout <<" "<< 2 <<2<<2;
cout << endl;
cout <<" "<< 3<< 3<< 3<< 3<< 3;
cout << endl;
cout <<" "<< 4 << 4<< 4<< 4<< 4<< 4<< 4;
cout << endl;
cout <<" "<< 5 << 5<< 5<< 5<< 5<< 5<< 5<< 5<< 5;
cout << endl;
cout <<" "<< 6 << 6<< 6<< 6<< 6<< 6<< 6<< 6<< 6<< 6<< 6 ;
cout << endl;
cout <<" "<< 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 << 7 <<7;
cout << endl;
cout <<" "<< 8 << 8 << 8<< 8<< 8<< 8<< 8<< 8<< 8<< 8<< 8<< 8<< 8<< 8<< 8;
cout << endl;
for(int i=0;i<17;i++)
cout << 9;
cout << endl;
return 0;
}
结果那人叫我走了!55555555555555555
我达到了他们的要求啊!
问题点数:20、回复次数:110Top
1 楼bios8086(孤独的人)回复于 2006-06-07 22:44:18 得分 0
我想了很久,我知道要通过循环!通过循环控制打印的话,空格也被循环了!Top
2 楼howyougen(夫孝,德之本也,教之所由生也)回复于 2006-06-07 22:54:27 得分 0
lz加油:)Top
3 楼xyq1986(综艺一哥)回复于 2006-06-07 22:55:36 得分 0
简单题了Top
4 楼bios8086(孤独的人)回复于 2006-06-07 23:04:07 得分 0
大家说说怎么做啊?Top
5 楼iicup(双杯献酒)回复于 2006-06-07 23:29:49 得分 0
其实楼主的方法是正确的。
叫你走人,肯定是其他地方做的不好。和这道题目没有关系。
还有就是你显示9的方法和显示1--8的方法不同,这里应该加个注释,不然容易让别人引起混乱。
不过这个是小问题,总的来说,这个题目楼主做的不错。Top
6 楼pluton(千年之叹)回复于 2006-06-07 23:50:09 得分 5
#include<stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("%d",i);
printf("\n");
}
return 0;
}
用循环控制空格和数字Top
7 楼yzhg_cgl(Little Fish)回复于 2006-06-08 00:38:38 得分 0
学编程多久了?Top
8 楼God_love_xyz()回复于 2006-06-08 03:10:04 得分 5
#include<iostream>
#include<iomanip>
using std::cout;
using std::endl;
using std::setw;
int main()
{
int i=1;//设置行数。
do
{
cout<<setw(10-i);//前面的空格数。
for(int j=2*i-1;j>0;j--)//j表示每层输出的个数。
{
cout<<i;
}
cout<<endl;//换行
++i;
}
while(i<10);
return 0;
}Top
9 楼aniude(重返荣耀)回复于 2006-06-08 04:27:26 得分 0
不就是一个控制行的个数一个控制字数吗 2*n-1个Top
10 楼lddLinan(不再五行中)回复于 2006-06-08 08:53:03 得分 5
const char* printstuf[] =
" 1\n"
" 222\n"
" 33333\n"
" 4444444\n"
" 555555555\n"
" 66666666666\n"
" 7777777777777\n"
" 888888888888888\n"
"99999999999999999\n";
cout<<printstuf;Top
11 楼tiger_ibm(bigfish)回复于 2006-06-08 09:18:01 得分 0
God_love_xyz() 的方法
符合题意Top
12 楼sarh2os()回复于 2006-06-08 09:22:25 得分 0
楼上的有够强!Top
13 楼za()回复于 2006-06-08 09:23:51 得分 0
楼主的方法是可以的,但缺乏通用性,下回做这种题要稍微多动动脑子。Top
14 楼cyblueboy83(爱情白痴—电脑迷)回复于 2006-06-08 09:37:46 得分 0
关注一下
Top
15 楼eqxu(天使联盟)回复于 2006-06-08 10:03:53 得分 0
首先判定输出的规模N*(2*N-1)
每行输出的空格数是N-i
接着输出2*i-1个数字i
然后'\n'
Next
Top
16 楼fadom(小车快跑)回复于 2006-06-08 10:36:54 得分 0
pluton(千年之叹) 比较好!Top
17 楼rabbit729(无名胜有名)回复于 2006-06-08 10:47:43 得分 5
#include "stdafx.h"
#include <iostream>
int main()
{
using std::cout;
using std::endl;
for(int i=1;i<=9;i++)
{
for(int j=0;j<(9-i);j++)
cout<<" ";
for(int k=0;i<(2*i-1);k++)
cout<<i;
cout<<endl;
}
return 0;
}
楼主试一下代码,现在在公司没法调试,有错的话请包涵!Top
18 楼crazy_lazy_pig(疯狂懒猪)回复于 2006-06-08 12:57:05 得分 0
我是老板就要你了, 呵呵, 你的程序简单, 见效快. 想想看, 如果客户需要立即拿到程序, 楼上诸位还要花时间想算法, 写代码, 还得调试, 多麻烦啊. 楼主的程序立等可取, 且完全满足要求; 就算是客户不满意, 那么楼主的程序灵活性也很大啊, 想想看, 如果客户要求把第十行输出a呢, 那楼上几位不是糗了, 如果客户要的是楼上列位的东西那么就加收服务费嘛, 因为那技术含量就高了.
我认为楼主当时应当跟老板理论一下, 程序员嘛, 满足要求就够了.Top
19 楼diandian82(点点(nothing))回复于 2006-06-08 12:59:02 得分 0
如果没有别的要求,楼主的方法绝对是最好的。人才。Top
20 楼rexking0(风之彩)回复于 2006-06-08 13:13:15 得分 0
char * str = " 1\n 222\n 33333\n 4444444\n 555555555\n 66666666666\n"
" 7777777777777\n 888888888888888\n99999999999999999\n";
printf("%s", str);
这样最好Top
21 楼haolix(獾猪搂主)回复于 2006-06-08 13:18:35 得分 0
没什么不好,那个人思维定势Top
22 楼ontheline(初学者)回复于 2006-06-08 13:52:49 得分 0
只要结果,不要过程的.呵呵,完成要求就可以.Top
23 楼jinfengbj010()回复于 2006-06-08 14:17:05 得分 0
#include "stdafx.h"
#include <iostream>
int main()
{
using std::cout;
using std::endl;
for(int i=1;i<=9;i++)
{
for(int j=0;j<(9-i);j++)
cout<<" ";
for(int k=0;i<(2*i-1);k++)
cout<<i;
cout<<endl;
}
return 0;
}
楼主试一下代码,现在在公司没法调试,有错的话请包涵!
这个好Top
24 楼bjskyhorse()回复于 2006-06-08 14:30:54 得分 0
毫无疑问,搂主的程序没有任何错误,确实很正确。不过人家可不是你这样的,起码你应该显得象个专业人士。Top
25 楼Balu__()回复于 2006-06-08 15:24:53 得分 0
我也写个:
#include <iostream>
using namespace std;
template<int N,int L>
class print{
public:
static void __print()
{
for(int i=1;i<L;++i)
cout<<" ";
for(i=0;i<2*N-1;++i)
cout<<N;
cout<<endl;
print<N+1,L-1>::__print();
}
};
template<>
class print<9,1> {
public:
static void __print()
{
cout<<"99999999999999999"<<endl;
}
};
int main()
{
print<1,9>::__print();
}Top
26 楼qiaodong()回复于 2006-06-08 16:23:52 得分 0
楼主和楼上很多人的看法我不同意,做程序不应该只注重结果,我一直认为做程序是一种艺术,从代码的书写到算法的设计,都是人类优越性的体现,如果一直像那样写代码,我们程序员就永远是民工级的劳动者,因为我们的劳动没有任何的创造性,谁都可以做Top
27 楼Could(翻墙鹦鹉)回复于 2006-06-08 16:34:58 得分 0
哪个单位的面试题如此简单?Top
28 楼fd7893(看着办吧)回复于 2006-06-08 16:37:24 得分 0
仁者见仁智者见智 呵呵Top
29 楼denbile(一个)回复于 2006-06-08 16:56:14 得分 0
for(n=1;n<<9;n++)
{for(j=1;j<<9-n;j++)cout<<" ";
for(j=1;j<<2n-1;j++)cout<<"n"<<endl;
}
Top
30 楼ljia0(一直在思索:“为什么我的昵称不可以稍微再长那么一点点?”)回复于 2006-06-08 17:13:28 得分 0
看完以后,思考中、、、Top
31 楼bruceteen(周星星)回复于 2006-06-08 17:41:38 得分 0
^_^ 我就是那个面试官,有两个理由你必须离开:
1. 你聪明的选择了直接打印的方式,可是却又故作烦琐,应该直接写成
cout <<
" 1\n"
" 222\n"
" 33333\n"
" 4444444\n"
" 555555555\n"
" 66666666666\n"
" 7777777777777\n"
" 888888888888888\n"
"99999999999999999" << endl;
2. 看到 #include "stdafx.h" 就气不打一处来,你是向我炫耀你用的VC吗?即使用VC,为了移植性,也很少有人用预编译头,这才是你离开的主要原因 :)Top
32 楼crazy_lazy_pig(疯狂懒猪)回复于 2006-06-08 18:18:29 得分 0
强, 学习学习再学习.Top
33 楼gamedr()回复于 2006-06-08 18:35:55 得分 0
我也写个,调试了
#include<conio.h>
void main(void)
{
int i;
int j;
int n = 9;
clrscr();
for(i = 1; i <= n; i++)
{
for(j =1; j <= n-i ; j++)
printf(" ");
for(j = 1; j <= 2*i-1; j++)
printf("%d",i);
for(j = 1; j <= n -i; j++)
printf(" ");
printf("\n");
}
getch();
}Top
34 楼richen_99(品味生活)回复于 2006-06-08 19:41:12 得分 0
#include <stdio.h>
#define N 9
void triangle (int i);
static char buf_space[N];
int main ()
{
triangle (N);
return 0;
}
void triangle (int i)
{
if (i == 0) return;
buf_space[i - 1] = ' ';
triangle (i - 1);
buf_space[N - i] = '\0';
printf (buf_space);
int j = i * 2;
while (j--) printf ("%c", j == 0 ? '\n' : i + '0');
return;
}Top
35 楼liking100(阿他)回复于 2006-06-08 21:58:55 得分 0
#include <iostream>
using namespace std;
int main()
{
for(int index=1;index<=9;index++)
{
for(int blankindex=9-index;blankindex>0;--blankindex)
cout<<" ";
for(int numindex=2*index-1;numindex>0;--numindex)
cout<<index;
cout<<"\n";
}
}
几个简单的循环而也~Top
36 楼z331283538()回复于 2006-06-08 22:13:25 得分 0
楼主真会娱乐Top
37 楼zzzace(怀念以前的小吃)回复于 2006-06-08 23:30:36 得分 0
楼主答得很好啊,没什么可挑剔的.
面试的脑袋有问题,几个for循环谁不会写,楼主写的很好.
哈哈.Top
38 楼zzzace(怀念以前的小吃)回复于 2006-06-08 23:32:04 得分 0
中国的面试考试都~~~~~~~~~~~~哎~~~~~~~~~~~~~(其实没有言论自由)Top
39 楼richard_2010(只爱子寒)回复于 2006-06-08 23:38:26 得分 0
LZ真搞笑,逗我们大家呢
其实你结果是对的,但是肯定不符合人家招聘单位的原意,呵呵~再笑一下。Top
40 楼ffyh_001()回复于 2006-06-09 00:10:12 得分 0
真幽默
LZ肯定是逗大家玩呢Top
41 楼nanangerile(闲)回复于 2006-06-09 00:19:56 得分 0
lz可爱呢!Top
42 楼new_o_new()回复于 2006-06-09 08:01:19 得分 0
呵呵~~~出那样的题目就是应该答的出其不意~~~没什么含量!就连我这个刚学C++的学生就认为企业有意思!可是反过来想了! 楼住是不是在给大家逗乐子?
不过大家都很开心!小弟我初学C++初来CSDN,算是报个到了!以后会多多关注!Top
43 楼sharkoasis(魔师庞斑)回复于 2006-06-09 14:15:40 得分 0
逗大家玩呢吧,我看怎么像哪本书的课后练习题呢!Top
44 楼billyang1983(狼)回复于 2006-06-09 14:39:03 得分 0
print_blank(int i)
{
for(int m = 0; m < i ; m++)
printf(" ");
}
print_num(int val, int count)
{
for(int m = 0; m < count ; m++)
printf("%d", val);
}
int main(int argv, char* argc[])
{
int space = 8;
int vlaue = 1;
int count = 1;
for(; vlaue < 10 ; vlaue++, space--)
{
print_blank(space);
print_num(vlaue, count);
printf("\n");
count = count + 2;
}
}Top
45 楼hewittlee(只爱C++)回复于 2006-06-09 15:16:16 得分 0
god
Top
46 楼zdwrabbit(心存梦想)回复于 2006-06-09 15:48:26 得分 0
const int RESULT = 9;
for(int i = 1;i <= RESULT;i++)
{
int iCount = i*2-1;
int startNo = RESULT - i;
for (int j = 0 ;j < iCount+ startNo;j++)
{
if (j >= startNo)
{
cout<<i;
}
else
{
cout<<' ';
}
if (j == iCount+ startNo-1)
{
cout<<endl;
}
}
}
改成10就得重新写了,后面太长Top
47 楼zdwrabbit(心存梦想)回复于 2006-06-09 15:56:43 得分 0
我觉得楼主在跟大家开玩笑。
很多公司面试都很变态的,好像希望你什么都会的样子。
就像中国考试一样。。。。Top
48 楼mishuilin(米水林)回复于 2006-06-09 16:00:32 得分 0
没办法,你和他的标准答案不符!Top
49 楼magicianxcs()回复于 2006-06-09 16:10:24 得分 0
这么正确的答案都不能通过!!
看来面试官是脑子进水了,或者他自己不懂程序设计,嘿嘿。只会对照固定的答案。
bs这种面试官
支持lzTop
50 楼BEN1978()回复于 2006-06-09 16:44:56 得分 0
这种方法实在…………Top
51 楼BEN1978()回复于 2006-06-09 17:46:26 得分 0
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= 9 - i; j++)
cout << " ";
for (j = 1; j <= 2 * i - 1; j++)
cout << i;
cout << endl;
}Top
52 楼Alexkey()回复于 2006-06-09 18:31:04 得分 0
#include<iostream.h>
void main()
{
for(int i=1;i<=9;i++){
for(int j=8;j>=i;j--){
cout<<" ";}
for(int k=1;k<=i*2-1;k++){
cout<<i;}
cout<<endl;}
}Top
53 楼xl5338870(xlix)回复于 2006-06-09 18:32:34 得分 0
#include <stdio.h>
int main() {
int i, j;
for (i = 1; i <= 9; ++i, putchar('\n')) {
for (j = 1; j <= end-i; ++j) putchar(' ');
for (j = 1; j < 2*i; ++j) putchar('0'+i);
}
return getchar();
}Top
54 楼suicuicui(scc花儿)回复于 2006-06-09 19:14:04 得分 0
真的
楼主很逗Top
55 楼billmo1986(潘安+宋玉)回复于 2006-06-09 21:40:17 得分 0
有意思的Top
56 楼braveapache()回复于 2006-06-09 22:24:56 得分 0
那个公司,这么弱智的面试题?Top
57 楼apollon_hhy(一天五十页!)回复于 2006-06-09 23:48:25 得分 0
#include "iostream.h"
void main()
{
int i, j;
for( i = 1; i <= 9; i++)
{
for( j = 9 - i; j > 0; j--)
cout<<" ";
for( j = 1; j <= 2*i - 1 ; j++)
cout<< i;
for( j = 9 - i; j > 0; j--)
cout<<" ";
cout << endl;
}
}
绝对正确Top
58 楼iicup(双杯献酒)回复于 2006-07-06 06:49:50 得分 0
楼主说:
我想了很久,我知道要通过循环!通过循环控制打印的话,空格也被循环了!
如果你是因为不会用循环而没有办法才写成这个样子,
让你走也是理所当然的了。Top
59 楼menapoleon(百无禁忌)回复于 2006-07-06 14:57:12 得分 0
逗,很逗,真的很逗……Top
60 楼LS_Winson(风飘隐侠(-_-))回复于 2006-07-06 20:31:12 得分 0
cout <<
" 1\n"
" 222\n"
" 33333\n"
" 4444444\n"
" 555555555\n"
" 66666666666\n"
" 7777777777777\n"
" 888888888888888\n"
"99999999999999999" << endl;
对于这种题目,就应该用这种方法,用循环控制就显得你是初学的,用这个方法就表示你不屑做这道题,或者有哪位兄弟可以用一行代码解决的?(只有一个分号)Top
61 楼SammyLan((基础决定你能走多远)--英语菜才是真的菜)回复于 2006-07-06 21:17:37 得分 0
小白见得多
就是没有讲过这么白的(=_=)Top
62 楼kidc(海盗乌托邦)回复于 2006-07-06 21:40:46 得分 0
:)这帖有趣。。Top
63 楼corrupt(喜欢 睡在床板下 的思考)回复于 2006-07-06 21:43:29 得分 0
无语 。。 我也写lz 那样的代码Top
64 楼at_yuan2(724)回复于 2006-07-06 21:52:33 得分 0
题目没有明确告诉你打印出的数据之间有公式或规律, 编写的代码不存在通不通用,灵不灵活之说.
所以此题不宜用循环来打印(反而低效,真的是初学者才会想用循环来). 而应该直接打印,高效及实用.
Top
65 楼leequnwan()回复于 2006-07-06 21:56:39 得分 0
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=9;i++){
for(j=1;j<=9-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("%d",i);
printf("\n");
}
}
Top
66 楼mr_moran(漠然)回复于 2006-07-07 11:34:50 得分 0
仁者见仁智者见智,呵呵,学到了不少的东西.Top
67 楼rollor_phoe(柔枫)回复于 2006-07-07 12:46:41 得分 0
楼主的答案是最简单有效的,不过我想公司应该不是看在这一道题目上的吧!
可能还有其余的题目呢!不会就面试一道题吧!Top
68 楼open_sky(游戏人)回复于 2006-07-07 13:22:57 得分 0
楼主应该采用N种以上方法实现这个程序,但是,就是不用循环,气死他!Top
69 楼racewind()回复于 2006-07-07 18:11:51 得分 0
我晕,你用这种办法?如果他让你做这个:10 地100000次方,难道你要10×10×。。。。。。。。。。。。。这样么?Top
70 楼swimmer2000(时间是用来浪费的,所以每当我做了一点事都觉得很自豪)回复于 2006-07-07 18:23:59 得分 0
楼主确实达到了他们的要求,
楼主应该继续坚持自己的风格,
肯定能够找到欣赏你的人.Top
71 楼thelee(风继续吹)回复于 2006-07-07 23:02:39 得分 0
楼主很幽默啊Top
72 楼ericqxg007(还有很多东西要学(卡卡一米阳光))回复于 2006-07-08 01:37:02 得分 0
要是lz给出2个以上的方法 那估计面试官也就……
其实lz的完全符合要求的-_-!Top
73 楼cppstl()回复于 2006-07-08 08:37:53 得分 0
真是长见识了,各位老大都比我想像中的要COOL~~~~~~~~~~Top
74 楼sailor73cn()回复于 2006-07-08 11:42:13 得分 0
faint~~~~~~~~`
for (int i=1;i<=9;i++)
{
for (int j=i;j<9;j++) cout<<" ";
for (int k=9-i;k<9;k++) cout<<i<<" ";
cout<<endl;
}Top
75 楼yuqiyan(溪鱼)回复于 2006-07-09 09:52:31 得分 0
#include <iostream.h>
void main()
{
int n=9;
int i, j, k;
for(i=1;i<=n;i++)
{
for(k=n-i;k>=1;k--)
cout<<" ";
for(j=2*i-1;j>=1;j--)
cout<<i;
cout<<endl;
}
}Top
76 楼qq11700()回复于 2006-07-09 11:05:53 得分 0
#include<stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("%d",i);
printf("\n");
}
return 0;
}
这个是对的Top
77 楼xiaojun19830916()回复于 2006-07-09 11:54:04 得分 0
强, 学习学习再学习.Top
78 楼wf520pb()回复于 2006-07-09 17:23:47 得分 0
to LS_Winson():
你是说只用一个分号,一行来完成?那你的意思应该是main函数吧,不然包含头文件都算的话,怎么可能是一行。
我这样也算是1行了吧?
#include <iostream.h>
#define test " 1\n 222\n 33333\n 4444444\n 555555555\n 66666666666\n 7777777777777\n 888888888888888\n99999999999999999\n"
void main(){cout<<test;}
//注意define到void main中间的代码是在一行的
Top
79 楼jorneyR(胡言乱语不怕死的菜鸟)回复于 2006-07-09 17:43:54 得分 0
支持楼主,现在需要的是更多有创意的人才,大多数人是会随波逐流,直接用循环打出,但楼主别出出其不意,不按常归出牌,方为致胜之道,高!Top
80 楼FlowingWatering()回复于 2006-07-09 19:05:28 得分 0
楼主的确有想法......Top
81 楼Veiz(理论上存在)回复于 2006-07-09 20:13:56 得分 0
lz可以写几个程序:
代码量最少程序
运行速度最快程序
内存占用最少程序
最具通用性的程序
编写速度最快程序
……
……
最后来个“最匪夷所思程序”,哈哈Top
82 楼mark444555()回复于 2006-07-09 21:24:23 得分 0
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
for(int i=0;i<9;i++)
{
for(int j=0;j<36-i;j++)
{
printf(" ");
}
for(int k=0;k<i*2+1;k++)
{
printf("%d",i+1);
}
printf("\n");
}
}
不如大家一起来研究下*菱形的方法,有多少来多少~这东西面视好象多啊!Top
83 楼smartwind(smartwind)回复于 2006-07-11 14:10:52 得分 0
楼主最妙的地方就是在第九行Top
84 楼YeTimmy()回复于 2006-07-11 14:57:30 得分 0
靠,你小子敢耍我
没为难你算不错了-_-!!
哈Top
85 楼healer_kx(甘草(楼主揭贴吧,我们这些上班灌水的也不容易))回复于 2006-07-11 15:51:17 得分 0
楼主搞笑啊。。。
Top
86 楼zhangshenghua(张胜华)回复于 2006-07-11 16:18:16 得分 0
LZ还不知道什么叫程序。Top
87 楼jimmy212(dear jim)回复于 2006-07-11 16:41:04 得分 0
大家兴趣都很足啊.Top
88 楼Heaven_Redsky(火骑士)回复于 2006-07-11 17:55:24 得分 0
我也凑凑热闹 呵呵
#include <iostream>
using namespace std;
void PrintN(const int &t, const int &n)
{
for(int i = 0; i < n; i++)
{
cout << t;
}
cout << endl;
}
void PrintNull(int n)
{
for(int i = 0; i < n; i++)
{
cout << " ";
}
}
int _tmain(int argc, _TCHAR* argv[])
{
for(int i = 0; i < 9; i++)
{
PrintNull(8 - i);
PrintN(i + 1, 2 * i + 1);
}
return 0;
}Top
89 楼yy80680169(403170387的QQ空间里有很多关于JAVA初学者的帖子)回复于 2006-07-14 00:58:39 得分 0
感觉面试官可以从此题中看出面试者的性格 这才是最重要的Top
90 楼superlee19()回复于 2006-07-14 02:38:00 得分 0
是不是还应该考虑哈奇数偶数的问题哦,不对齐的话好难看哦Top
91 楼wfwd(有一朵花,我想她已经驯养我了。。。)回复于 2006-07-14 13:12:09 得分 0
如果没有别的要求,楼主的方法绝对是最好的。人才。Top
92 楼shuigeng()回复于 2006-07-14 21:02:20 得分 0
千年之叹,你的数据结构学得很好吧,真是棒!Top
93 楼jiangalong(蓝色的风)回复于 2006-07-14 21:16:32 得分 0
搞过ACM的人这种题应该边看都不看一眼都能写出来的吧...
#include <iostream>
using namespace std;
int main()
{
int i,j;
for(i=0;i<9;i++)
{
for(j=0;j<8-i;j++)
cout<<" ";
for(j=0;j<(2*i+1);j++)
cout<<i+1;
cout<<endl;
}
return 0;
}Top
94 楼jiangalong(蓝色的风)回复于 2006-07-14 21:25:01 得分 0
不过看了这么多种不同的解法,真是长见识了啊Top
95 楼long33(阿龙)回复于 2006-07-14 22:12:18 得分 0
第一眼以为是作业,,后来发现是面试?Top
96 楼cambridgeboy(水木工作室)回复于 2006-07-14 22:17:35 得分 0
面试出这样的题目,算是比较简单了Top
97 楼gaowang1983()回复于 2006-07-15 16:55:17 得分 0
#include <iostream.h>
void out(int i)
{
int j;
for (j=0; j < 9-i; j++)
{
cout << ' ';
}
for (j=0; j < 2*i-1; j++)
{
cout << i;
}
cout << endl;
}
void main(void)
{
for (int i=1; i<10; i++)
{
out(i);
}
}Top
98 楼gushenghua(卖天鹅肉的蛤蟆)回复于 2006-07-15 19:26:28 得分 0
你真幽默,哈哈Top
99 楼superxiaomm(小美)回复于 2006-07-15 19:39:15 得分 0
我是老板,就要你了,因为你的算法复杂度低,而且达到要求。执行速度高,如果是好的公司,可能真会要你,因为你表新立意,你的思路开阔。很多中国公司由于中国的垃圾教育,使得思路僵化,很可悲的。Top
100 楼netxuning(大字报写手)回复于 2006-07-16 13:21:27 得分 0
学习,markTop
101 楼psusjh(大江风)回复于 2006-07-16 14:16:59 得分 0
for(int i=1 ;i<=9;i++)
{
for(int t=1;t<=9-i;t++)
cout<<" ";
for(int m=1;m<=2*i-1;m++)
cout<<i;
cout<<endl;
}Top
102 楼1073X(爱着未知数)回复于 2006-07-16 18:49:10 得分 0
题目不难,可是要做好也不容易,不应该用这样偷懒的方法。如果时间不允许另当别论了。可是要成为一流的程序员,应该有精益求精的精神。
yy80680169(403170387的QQ空间里有很多关于JAVA初学者的帖子)
感觉面试官可以从此题中看出面试者的性格 这才是最重要的
这个我喜欢。不要偷懒
Top
103 楼Ah_dong(哈米)回复于 2006-07-16 23:21:03 得分 0
//偶也贴一个
#include<iostream>
using namespace std;
int main()
{
const int n=9;
for(int i=1;i<=n;++i)
{
for(int j=n-i;j>=1;--j)
cout<<" ";
for(int k=0;k<2*i-1;++k)
cout<<i;
cout<<endl;
}
return 0;
}Top
104 楼efita()回复于 2006-07-17 03:33:22 得分 0
我也写了一个,任意输入1-9的数字都可以!
#include <iostream>
using namespace std;
void output(int n)
{
for(int i=1,j=0;i<=n;i++,j=0)
{
while(j<n+i-1) ++j<=n-i?cout<<" ":cout<<i;
cout<<endl;
}
}
void main()
{
int n;
while(cin>>n) output(n);
}Top
105 楼efita()回复于 2006-07-17 03:36:12 得分 0
核心代码三行搞定!
for(int i=1,j=0;i<=n;i++,j=0)
{
while(j<n+i-1) ++j<=n-i?cout<<" ":cout<<i;
cout<<endl;
}Top
106 楼w5r2g0(freeDom)回复于 2006-07-17 11:25:05 得分 0
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=0;j<2*n-2*i-1;j++)
printf(" ");
for(j=0;j<2*i-1;j++)
printf("%d ",i);
printf("\n");
}
system("pause");
return 0;
}
Top
107 楼rand520(々翔)回复于 2006-07-19 18:21:04 得分 0
哈哈 不让你走才奇怪呢!!!!
晕死了 这样也行Top
108 楼Fshx(C++初探)回复于 2006-07-19 21:05:16 得分 0
笑什么笑 都给我严肃点Top
109 楼afgkidy(到处转悠找MONEY)回复于 2006-07-21 20:22:42 得分 0
做纪录,路过``Top
110 楼wang430903(味觉全无)回复于 2006-07-21 21:24:26 得分 0
LZ明天来我的公司吧!!!你被破格录用了!!Top




