看群里吵架发现的题目。
1.请问printf("%%d%%%d",1,2);忽略警告,请问输出结果是什么?
(编译环境vc++6.0)
2.请编写代码用一条语句输出(\0??/")括号内所有字符,
如果我不提醒98%的人会漏掉双引号号。(编译环境vc++6.0)
3.有以下程序,请纠正该程序的错误,并说出为什么。(编译环境vc++6.0)
#include <stdio.h>
int main()
{
int i;
for(i=0;i<100;++i)//源文件目录,D:\test\
printf("%3d",i);
return 0;
}
4.请编写代码输出"你好",只准使用1和各种位运算符以及一个printf函数,
限一条语句(语法样式:printf("%c%c%c%c\n",1<<1<<1,1<<1...);)。
(编译环境vc++6.0)
5.编写一个宏sort(a,b,c)要求传入3个数字,把这3个数字按大小排序
宏里面不能使用任何关键字和?:表达式,不得调用函数,要求代码精炼。
(编译环境vc++6.0)
6.编写一个函数int fun(int a);函数体内最多只准使用19个字符,
return、空格和分号均属于字符,不得调用函数,功能要求传
入正数返回1,传入负数返回-1,传入0则返回0,请完成该 函数。
(ps:最短为17字符)(编译环境vc++6.0)
7.编写程序,只用一条语句输出1000个1,不准用循环、递归和goto,
不得手打1000个1,一条宏定义视为一条语句。
(本题仅限C语言,百度的答案请不要费心发给我了)
(编译环境vc++6.0)
8.编写程序,使用一条语句正负交替输出1-1000所有数字,只准用递归,
语句中用逗号分隔的2条语句视为2条语句(函数参数逗号分隔符除外),
一条宏定义视为一条语句。(百度的答案请不要费心发给我了)
(编译环境vc++6.0)
9.有如下函数,请按照注释完成该函数的功能:(编译环境vc++6.0)
const char* getupper(const char * str)
{
static char p[1000];
/* 在这写一行代码,完成该函数功能*/
/*不能用循环、递归和goto语句,限使用一条语句*/
/*例一str="asdABwuQWERT";那要返回"AB"*/
/*例二str="CABwudfgQWER";那要返回"CAB"*/
return p;
}
10.假设0-100数字中有2个数字相同,还有一个数字没有出现,
数组为乱序,请先给数组依次赋值,然后产生一个0-100以内
的重复数,同时覆盖0-100中的一个数,然后打乱数组,然后
只准遍历一次数组,找出重复的数字和未出现的数字
(例:3 2 1 4 7 6 8 7 10 9 其中5未出现,7重复了。)
(编译环境vc++6.0)
11.请发挥你的能力,用最短的代码写出最有技术含量的程序,
##########太长不看#########如合格,则加1分。
一旦百度能搜到如上10题答案,题目难度马上提升或更换题目,
我只能作对3道
第一题:%d%1
第二题:printf("\\0??\/\"");
第三题:\后面加个空格即可,\在c语言里是续行符,printf被注释续行了