C语言笔试两题,有坑
生活随笔
收集整理的這篇文章主要介紹了
C语言笔试两题,有坑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目一
最近遇到的一個華為筆試題
題目:
對字符串中的所有單詞進行倒排。
說明:
1、構成單詞的字符只有26個大寫或小寫英文字母;
2、非構成單詞的字符均視為單詞間隔符;
3、要求倒排后的單詞間隔符以一個空格表示;如果原字符串中相鄰單詞間有多個間隔符時,倒排轉換后也只允許出現一個空格間隔符;
4、每個單詞最長20個字母;
建議先自己思考再看答案,特別是題目中的第二點。
代碼:
#include #include int?main(void){char?str[300][210],temp[2001];int?n?=?0,len=0,i,j=0;memset(str,0,sizeof(str));while(fgets(temp,?sizeof(temp),?stdin)){len=strlen(temp);for(i=0;i????????????if((temp[i]?>=?'a'?&&?temp[i]<=?'z')?||?(temp[i]?>=?'A'?&&?temp[i]<=?'Z'?)){str[n][j]?=?temp[i];j ;}else?if(j?>?0){j=0;n ;}}for(i?=?n-1;i>0;i--){printf("%s?",str[i]);}printf("%s\n",str[0]);n?=?0;j?=?0;i?=?0;len?=?0;memset(str,0,sizeof(str));memset(temp,0,sizeof(temp));}return?0; }這個答案實際上用到了棧的思想,依次把每次單詞依次入棧,之后再出棧。
題目二
求下面的程序輸出:
#include?"stdio.h"int?main() {int?arr[5]?=?{1,2,3,4,5};int?*p?=?arr;for(size_t?i=0;i<5;i ){printf("i:%d?%d\n",p[i],*p );}return?0; }這個題目考察兩點:
1、printf?和?C 中的 cout <<?一樣,先執行后面的再執行前面的,實現方式用了棧的思想,先入棧的后出棧執行。
2、p[i] = * (p i)
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
以上是生活随笔為你收集整理的C语言笔试两题,有坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 政审备案表用来干嘛(政审备案表)
- 下一篇: C语言:如何定义一个和库函数名一样的函数