當前位置:編程學習大全網 - 編程語言 - c編程語言................

c編程語言................

程序1

題目:有1,2,3,4個數。妳能編多少個不同的三位數?它們壹共多少錢?

1.程序分析:能填百、十、單位的數都是1、2、3、4。走之前把所有的事情都安排好

刪除不符合條件的安排。

2.程序源代碼:

主()

{

int i,j,k;

printf(" \ n ");

for(I = 1;我& lt5;I++)/*以下是三重循環*/

for(j = 1;j & lt5;j++)

for(k = 1;k & lt5;k++)

{

如果(我!= k & amp& amp我!= j & amp& ampj!=k) /*確保I、J和K互不相同*/

printf("%d,%d,%d\n ",I,j,k);

}

}

程序2

題目:壹個整數,加100後是壹個完整的平方數,加168後是壹個完整的平方數。數字是多少?

1.方案分析:如果判斷在65438+百萬以內,開藥前在這個數上加100,再開藥前在這個數上加268。如果開藥後的結果符合以下條件,則為結果。請看具體分析:

2.程序源代碼:

#包含“math.h”

主()

{

long int i,x,y,z;

for(I = 1;我& lt100000;i++)

{ x = sqrt(I+100);/*x是處方加100後的結果*/

y = sqrt(I+268);/*y是168相加後的結果*/

if(x * x = = I+100 & amp;& ampY*y==i+268)/*如果壹個數的平方根的平方等於該數,則說明該數是完全平方數*/

printf("\n%ld\n ",I);

}

}

程序3

標題:輸出9*9公式。

1.程序分析:分支列考慮,***9行9列,I控制行,J控制列。

2.程序源代碼:

#包含“stdio.h”

主()

{

int i,j,result

printf(" \ n ");

for(I = 1;我& lt10;i++)

{ for(j = 1;j & lt10;j++)

{

結果= I * j;

printf("%d*%d=%-3d ",I,j,result);/*-3d表示左對齊,占3位數*/

}

printf(" \ n ");/*每行後換行*/

}

}

程序4

標題:要求輸出棋盤。

1.程序分析:用I控制行,用J控制列,根據I+J之和的變化控制輸出黑方塊還是白方塊。

2.程序源代碼:

#包含“stdio.h”

主()

{

int i,j;

for(I = 0;我& lt8;i++)

{

for(j = 0;j & lt8;j++)

如果((i+j)%2==0)

printf("%c%c ",219,219);

其他

printf(" ");

printf(" \ n ");

}

}

計劃5

題目:經典問題:有壹對兔子,從出生後第三個月開始,每個月生壹對兔子,第三個月後,小兔子每個月生壹對兔子。如果兔子不死,每個月兔子總數是多少?

1.程序分析:兔子的規律是1,1,2,3,5,8,13,21的序列。....

2.程序源代碼:

主()

{

long f1,F2;

int I;

f 1 = F2 = 1;

for(I = 1;我& lt=20;i++)

{ printf(" % 12ld % 12ld ",f1,F2);

if(I % 2 = = 0)printf(" \ n ");/*控制輸出,每行四個*/

f 1 = f 1+F2;/*將前兩個月相加,分配給第三個月*/

F2 = f 1+F2;/*將前兩個月相加,分配給第三個月*/

}

}

程序6

題目:判斷101-200之間有多少素數,輸出所有素數。

1.程序分析:判斷素數的方法:用壹個數除以2到sqrt(這個數),如果能整除,說明這個數不是素數,反之亦然。

2.程序源代碼:

#包含“math.h”

主()

{

int m,I,k,h=0,leap = 1;

printf(" \ n ");

for(m = 101;m & lt=200;m++)

{ k = sqrt(m+1);

for(I = 2;我& lt= k;i++)

如果(m%i==0)

{ leap = 0;打破;}

if(leap) {printf("%-4d ",m);h++;

if(h%10==0)

printf(" \ n ");

}

leap = 1;

}

printf(" \ n總數為%d ",h);

}

程序7

標題:打印出所有的“水仙號”。所謂“水仙花數”,是指三位數,其立方和等於數字本身。例如,153是壹個“水仙花數”,因為153=1立方+5立方+3立方。

1.程序分析:用for循環控制100-999的數,每個數分解成個位、十位、百位。

2.程序源代碼:

主()

{

int i,j,k,n;

printf(“‘水花’號為:“);

for(n = 100;n & lt1000;n++)

{

I = n/100;/*分解成幾百個*/

j = n/10% 10;/*分解成十位數*/

k = n % 10;/*分解成比特*/

if(I * 100+j * 10+k = = I * I * I+j * j * j+k * k * k)

{

printf("%-5d ",n);

}

}

printf(" \ n ");

}

程序8

題目:將壹個正整數分解成質因數。例如,輸入90,打印90=2*3*3*5。

程序分析:分解n的質因數,首先要找到壹個最小的質數k,然後按照以下步驟完成:

(1)如果這個質數剛好等於n,說明分解質因數的過程結束了,打印出來就行了。

(2)如果n

(3)如果n不能被k整除,用k+1作為k的值,重復第壹步。

2.程序源代碼:

/*鄭int被瓜分*/

主()

{

int n,I;

printf(" \ n請輸入壹個數字:\ n ");

scanf("%d ",& ampn);

printf("%d= ",n);

for(I = 2;我& lt= n;i++)

{

而(n!=i)

{

如果(n%i==0)

{ printf("%d* ",I);

n = n/I;

}

其他

打破;

}

}

printf("%d ",n);}

程序9

題目:輸入兩個正整數M和N,求它們的最大公約數和最小公倍數。

1.程序分析:使用滾動除法。

2.程序源代碼:

主()

{

int a,b,num1,num2,temp

printf("請輸入兩個數字:\ n ");

scanf("%d,%d ",& ampnum1。num 2);

if(num 1 & lt;Num2)/*交換兩個數,使大的數放在num1 */

{ temp = num 1;

num 1 = num 2;

num2 = temp

}

a = num 1;b = num2

而(b!=0)/*使用滾動除法,直到b為0 */

{

temp = a % b;

a = b;

b =溫度;

}

printf("gongyueshu:%d\n ",a);

printf("拱北舒:%d\n ",num 1 * num 2/a);

}

程序10

題目:輸入壹行字符,統計英文字母、空格、數字等字符的個數。

1.程序分析:使用while語句,前提是輸入字符不是' \n '。

2.程序源代碼:

#包含“stdio.h”

主()

{ char c;

int字母=0,空格=0,數字=0,其他= 0;

printf("請輸入壹些字符\ n ");

while((c=getchar())!='\n ')

{

if(c & gt;= ' a ' & amp& ampc & lt= ' z ' | | c & gt= ' A ' & amp& ampc & lt='Z ')

字母++;

else if(c== ' ')

space++;

else if(c & gt;= ' 0 ' & amp& ampc & lt='9')

digit++;

其他

其他++;

}

printf(" all in all:char = % d space = % d digit = % d others = % d \ n ",字母,

空格、數字、其他);

}

程序11

題目:求s=a+aa+aaa+aaaa+aa的值...A,其中A是壹個數。比如2+22+222+2222+22222(此時* * *有五個數要加),幾個數的相加由鍵盤控制。

1.程序分析:關鍵是計算每壹項的價值。

2.程序源代碼:

主()

{

int a,n,count = 1;

long int sn=0,TN = 0;

printf("請輸入a和n \ n ");

scanf("%d,%d ",& amp壹,& ampn);

printf("a=%d,n=%d\n ",a,n);

while(count & lt;=n)

{

TN = TN+a;

sn = sn+TN;

a = a * 10;

++計數;

}

printf("a+aa+...=%ld\n ",序列號);

}

程序12

題目:如果壹個數恰好等於它的因子之和,則稱為“完全數”。比如6 = 1+2+3。程序尋找1000內的所有完全數。

1.方案分析:請參考方案8。

2.程序源代碼:

主()

{

靜態int k[10];

int i,j,n,s;

for(j = 2;j & lt1000;j++)

{

n =-1;

s = j;

for(I = 1;我& ltj;i++)

{

如果((j%i)==0)

{ n++;

s = s-I;

k[n]= I;

}

}

如果(s==0)

{

printf("%d是壹個萬樹",j);

for(I = 0;我& ltn;i++)

printf("%d ",k);

printf("%d\n ",k[n]);

}

}

}

程序13

題目:壹個球從100米的高度自由落體,每次落地後反彈回原來高度的壹半;再摔壹次,問第10次落地時* * *過了多少米。10的反彈有多高?

1.程序分析:參見下面的註釋。

2.程序源代碼:

主()

{

float sn=100.0,HN = sn/2;

int n;

for(n = 2;n & lt=10;n++)

{

sn = sn+2 * HN;/*第n次落地時* * *通過的米數*/

HN = HN/2;/*第n次反彈的高度*/

}

printf("道路合計為%f\n ",sn);

printf("第十個是%f米\n ",HN);

}

程序14

題目:猴子吃桃子:第壹天,猴子摘了幾個桃子,馬上吃了壹半,還不過癮。他又吃了壹個。第二天早上,他吃了壹半剩下的桃子和另壹個。之後每天早上吃前壹天剩下的半個壹個。10早上,再想吃的時候,看到只剩下壹個桃子。問妳第壹天摘了多少。

1.程序分析:采用逆向思維的方法,由後向前推斷。

2.程序源代碼:

主()

{

int day,x1,x2;

日= 9;

x2 = 1;

while(day & gt;0)

{ x 1 =(x2+1)* 2;/*第壹天的桃子數是第二天桃子數的兩倍加上1 */

x2 = x 1;

日-;

}

printf("合計為%d\n ",x 1);

}

程序15

題目:沙灘上有壹串桃子,五只猴子將分享它們。第壹只猴子把這堆桃子分成五份,還有壹份。猴子把多出來的壹個扔到海裏,拿了壹個。第二只猴子把剩下的桃子平均分成五份,還有壹份。它還把多出來的那個扔進了海裏,拿走了壹部分。第三只、第四只和第五只猴子也這樣問,沙灘上有多少桃子?

1.程序分析:

2.程序源代碼:

主()

{int i,m,j,k,count

for(I = 4;我& lt10000;i+=4)

{ count = 0;

m = I;

for(k = 0;k & lt5;k++)

{

j = I/4 * 5+1;

I = j;

if(j%4==0)

count++;

其他

打破;

}

I = m;

if(count==4)

{printf("%d\n ",j);

打破;}

}

}

程序16

題目:兩支乒乓球隊比賽,每隊三名隊員。A隊由A、B、C三個人組成,B隊由x、Y、z、Y、z三個人組成,比賽名單已經抽簽決定。有人問球員關於比賽的名單。a說他不會跟X比,C說他不會跟X和z比,請做個程序找出三個隊的名字。

1.程序分析:判斷素數的方法:用壹個數除2到sqrt(這個數),如果能整除,

意味著這個數不是質數,而是質數。

2.程序源代碼:

主()

{

char i,j,k;/*i是A的對手,J是B的對手,K是C的對手*/

for(I = ' x ');我& lt= ' zi++)

for(j = ' x ');j & lt= ' zj++)

{

如果(我!=j)

for(k = ' x ');k & lt= ' zk++)

{如果(我!= k & amp& ampj!=k)

{如果(我!= ' x ' & amp& ampk!= ' x ' & amp& ampk!='z ')

printf("order是a - %c\tb - %c\tc - %c\n ",I,j,k);

}

}

}

}

程序17

標題:打印出下列圖案。

*

***

*****

*******

*****

***

*

1.程序分析:先把圖形分成兩部分,前四行是壹條規則,後三行是壹條規則。使用double for循環,第壹層控制行,第二層控制列。

2.程序源代碼:

主()

{

int i,j,k;

for(I = 0;我& lt=3;i++)

{

for(j = 0;j & lt= 2-I;j++)

printf(" ");

for(k = 0;k & lt= 2 * I;k++)

printf(" * ");

printf(" \ n ");

}

for(I = 0;我& lt=2;i++)

{

for(j = 0;j & lt= I;j++)

printf(" ");

for(k = 0;k & lt= 4-2 * I;k++)

printf(" * ");

printf(" \ n ");

}

}

程序18

題目:有壹個分數序列:2/1,3/2,5/3,8/5,13/8,21/13...找出這個序列中前20項的總和。

1.程序分析:請掌握分子分母的變化規律。

2.程序源代碼:

主()

{

int n,t,number = 20

浮點數a=2,b=1,s = 0;

for(n = 1;n & lt=數字;n++)

{

s = s+a/b;

t = a;a = a+b;b = t;/*這部分是程序的關鍵。請猜猜T */的功能

}

printf("sum是%9.6f\n ",s);

}

計劃19

題目:找1+2!+3!+...+20!總和

1.程序分析:這個程序只是把累加變成了乘法。

2.程序源代碼:

主()

{

浮點數n,s=0,t = 1;

for(n = 1;n & lt=20;n++)

{

t * = n;

s+= t;

}

printf("1+2!+3!...+20!=%e\n ",s);

}

  • 上一篇:男生不喜歡讀書學什麽技術好呢?
  • 下一篇:如何快速的學習C++
  • copyright 2024編程學習大全網