過份的C語言題目,你能作對幾道?


看群里吵架發現的題目。

 

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被注釋續行了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM