超级恶心的面试题
只允许使用一个循环
先输出1至10内的奇数
然后输出其中的偶数
结果应该是这样的
1
3
5
7
9
2
4
6
8
大家可以竭尽全力的想啊
[解决办法]
怎么感觉得先保存呢?弄个字符串把奇数里面插吧...,偶数直接附加到后面去,最后再输出。
这样是不是有点儿复杂?
[解决办法]
#include <stdio.h>
void main(()
{
int i;
int num[10];
char output[20];
for(i=1;i<10;i++)
{
if (i%2!=0)
num[i/2] = i;
else
num[5+i/2 -1] = i;
}
sprintf(output, "%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n",
num[0],num[1],num[2],num[3],num[4],num[5],num[6],num[7],num[8]);
printf(output);
}
[解决办法]
for(i=1;i <10;i++)
{
if (i<=5)
cout<<(2*i-1)<<endl;
else
cout<<(2*i-10)<<endl;
}
这样就好了。
[解决办法]
做的不好不要笑。。。
#include <stdio.h>int main(void){ int a[10]; int i, flag; for(i=0; i<10; ++i) {a[i]=i+1;} for(i=0, flag=0; ; i+=2, ++flag) { if(i<10) printf("%d ", a[i]); else printf("%d ", (i%10)+2); if(flag==9) break; } system("pause"); return 0; }
[解决办法]
恶心也没法,谁叫别人是大爷.
甭管恶不恶心, 给它先弄出来.
[解决办法]
#include <stdio.h>//6楼的错了int main(void){ int a[10]; int i, flag; for(i=0; i<10; ++i) {a[i]=i+1;} for(i=0, flag=0; ; i+=2, ++flag) { if(i<10) printf("%d ", a[i]); else printf("%d ", a[(i%10)+1]); if(flag==9) break; } system("pause"); return 0; }
[解决办法]
对的
[解决办法]