tft每日頭條

 > 生活

 > c語言經典50題

c語言經典50題

生活 更新时间:2025-02-09 07:19:02

c語言經典50題?題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數,下面我們就來聊聊關于c語言經典50題?接下來我們就一起去了解一下吧!

c語言經典50題(C語言經典100例16-20)1

c語言經典50題

題目16

題目:輸入兩個正整數m和n,求其最大公約數和最小公倍數。

程序分析:利用輾輾轉相除法。

(這裡的一行gcd本質上就是輾轉相除法,可以想想是不是等價的)

#include<cstdio> int gcd(int x,int y){return x % y ? gcd(y,x%y) : y;} // 一行gcd int m,n; int main() { scanf("%d%d",&m,&n); printf("gcd is:%d\n",gcd(m,n)); printf("lcm is:%d\n",m*n / gcd(m,n)); // 結論 }

題目17

題目:輸入一行字符,分别統計出其中英文字母、空格、數字和其它字符的個數。

程序分析:利用while語句,條件為輸入的字符不為'\n

#include<cstdio> int num_letter,num_space,num_digit,num_other; //全局變量的初始值為0 int main() { char c; while((c = getchar())!='\n') { // 可以想想怎麼把大寫與小寫寫在一個if中 if(c >= 'a' && c <='z')//小寫情況 num_letter ; else if(c >= 'A' && c <= 'Z')//大寫情況 num_letter ; else if(c == ' ') num_space ; else if(c >= '0' && c <= '9') num_digit ; else num_other ; } // 其實輸出不建議寫這麼長。。 printf("letter : %d, space : %d, digit : %d, other : %d",num_letter,num_space,num_digit,num_other); }

題目18

題目:求s=a aa aaa aaaa aa...a的值,其中a是一個數字。

例如2 22 222 2222 22222(此時共有5個數相加),幾個數相加由鍵盤控制。

程序分析:關鍵是計算出每一項的值

#include<cstdio> int x,n,ans,temp; int main() { scanf("%d%d",&x,&n); for(int i = 1; i <= n;i ) { temp = x; ans = temp; x *= 10; } printf("ans is:%d",ans); }

題目19

題目:一個數如果恰好等于它的因子之和,這個數就稱為“完數”。

例如6=1+2+3.編程找出1000以内的所有完數

#include<cstdio> int main() { for(int x,i = 2;i < 1000;i ) { x = 1; //這裡雖然想法簡單,但是代碼難度增加了 for(int j = 2;j * j <= i;j ) { if(j * j == i) { x = x j; continue;// } if(i % j == 0) x = x j i / j; } if(x == i) printf("%d\n",i); } }

題目20

題目:一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少米?第10次反彈多

高?

程序分析:見下面注釋

#include<cstdio> float H = 100.0,sum_ans = 100.0;// 第一次掉落的為100m int main() { for(int i = 1;i <= 10;i ) { H = H / 2.0; sum_ans = H*2.0; } printf("total is %f\n", sum_ans);//299.804688 printf("the tenth is %f\n",H);//0.097656 } //這種物理類問題建議先手推一下,這裡我甚至不能保證我的答案正确-.- //Question:這裡使用double和float的輸出結果會不會不一樣,為什麼?

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved