C語言經典100題(二)

2021-10-17 10:53:15 字數 1683 閱讀 3624

題目:求n的階乘和

我看到這道題目就覺得這道題很簡答啊,沒有什麼好寫得,就是雙層迴圈嘛,我寫的如下:

#includeint main()

res = res + temp; }

printf("%d",res);

return 0;

}

可是,我去看答案時,發現是我太笨了,答案用一層迴圈就能解決問題,這對時間複雜度大大的提公升啊,又學到新的一種方法來做階乘問題。

#includeint main()

printf("%d",res);

return 0;

}

這種方式不僅能解決1!+2!+3!+....的問題,而且能解決n+n的平方+n的立方+...的問題!

題目:輸入乙個字串,統計含有的單詞個數

看到這個題目,感覺不太難,只要統計每個單詞之間的空格數就解決了啊,但是,萬一單詞與單詞之間有很多個空格怎麼辦?

我的思路是,只要前乙個字元是空格,後乙個字元不是空格的情況下,單詞總數就加一;

具體**如下:

#include#includeint main()elseelse if (word == 0) 

} printf("一共有%d個單詞",num);

return 0;

}

題目:找出三個單詞中最大的那乙個這道題目還行,就是對於c語言中字串函式的使用練習

連線strcat

複製strcpy

比較strcmp

#include#includeint main()else

if(strcmp(string,ch3)<0)

puts(string);

printf("第二種輸出方式%s",string);

return 0;

}

題目:再不利用strcat函式的情況下,將兩個字串進行合併看到這個題目,覺得很簡單,思路也很簡單,求出這個兩個字串的長度,利用迴圈將第二個字串新增到第乙個字串上面,但是在具體操作時,自己加入了乙個最最最最致命的錯誤

第一感覺這個**沒有問題,但是,for迴圈的迴圈體中,

修改之後的**:

//在不需要使用strcat的情況下  連線字串

#include#includeint main()

void my_strcat(char ch1,char ch2)

while(s2[j]!="\0")

題目:編寫一程式,在不利用strcpy的情況下,進行字串的複製這個題目和上一題有異曲同工之妙

#includeint main() 

void my_strcpy(char ch1,char ch2)

ch1[i] = '\0';

}

今天就寫這麼多吧 !

c語言100道經典題目 C語言經典100題(5)

1 上期答案揭曉 include int main sum sum day 再加上某天的天數 if year 400 0 year 4 0 year 100 0 else if leap 1 month 2 printf 這是這一年的第 d 天。sum printf n 以上例項輸出結果為 請輸入年...

c語言100道經典題目 C語言經典100題(34)

1 上期答案揭曉 include include define max 1000 int prime max int isprime int n int isprime int n return 1 void sieve int isprimesieve int n int main 以上例項輸出結...

c語言實用經典100題(1 10題)

程式 1 題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?1.程式分析 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去 掉不滿足條件的排列。2.程式源 include include includeint main return 0 程式 2 ...