文章內(nèi)容較適合初學者,可用于練手,熟悉C語言基礎語法。
創(chuàng)新互聯(lián)公司是工信部頒發(fā)資質(zhì)IDC服務器商,為用戶提供優(yōu)質(zhì)的服務器托管服務一.涉及關鍵內(nèi)容:1.for、while、do-while循環(huán)語句
2.break、continue語句的區(qū)別和使用
3.常用基礎算法:窮舉、迭代、遞推
二.設計內(nèi)容(題目+源代碼) 1.輸入兩個正整數(shù)m和n,求它們的大公約數(shù)和最小公倍數(shù)。 法一:#include "stdio.h"
int main()
{
int m,n,gb,gy,k;
printf("請輸入兩個正整數(shù):");
scanf("%d%d",&m,&n);
for(gb=1;1;gb++)
if(gb%m==0 && gb%n==0)
break;
if(m>n)
k=n;
else
k=m;
for(gy=k;1;gy--)
if(m%gy==0 && n%gy==0)
break;
printf("最小公倍數(shù)為:%d\n",gb);
printf("大公約數(shù)為:%d\n",gy);
return 0;
}
法二:【算法分析】輾轉(zhuǎn)相除法:使k為m除以n的余數(shù),如果m能被n整除,則k值為0,n為這兩個數(shù)的大公約數(shù),否則,使n代替m,k代替n,重復以上過程,直到k值為0,此時n為大公約數(shù)。
最小公倍數(shù)=(m+n)/大公約數(shù)。#includeint main()
{
int m,n,gb,gy,k,a,b;
printf("請輸入兩個正整數(shù):");
scanf("%d%d",&m,&n);
k=m%n;
a=m;
b=n;
for( ;k!=0; )
{
m=n;
n=k;
k=m%n;
}
gy=n;
gb=(a*b)/gy;
printf("最小公倍數(shù)為:%d\n",gb);
printf("大公約數(shù)為:%d\n",gy);
return 0;
}
試運行:
2.計算e=1-1/1!+1/2!-1/3!+1/4!……,直到最后一項的絕對值<10E-4。#include "stdio.h"
int main()
{
int i,fh;
float e,j;
e=1;
for(i=1;1;i++)
{
if(i%2==1)//符號問題
fh=1;
else
fh=-1;
for(j=1;j<=i;j++,i++)//階乘
j=j*i;
if(1/j<10E-4)//停止
break;
e=e+fh*1.0/j;
}
printf("e=%f",e);
return 0;
}
試運行:
3.從鍵盤輸入high,計算并輸出high以內(nèi)大的10個素數(shù)之和。例如,輸入high的值為100,則輸出732。#include "stdio.h"
int main()
{
int high,i,j,sum;
int num;
printf("請輸入一個正整數(shù)high:");
scanf("%d",&high);
for(i=high,num=1;num<=10;i--)
{
if(i==1)
break;//防止high沒有10個正素數(shù),計算機從負數(shù)中找
for(j=2;j<=high;j++)//若通過for語句判斷結束循環(huán)即(j>=i),該數(shù)為素數(shù)
if(i%j==0)
break;
if(j>=i)
{
sum=sum+i;
num++;
}
}
printf("high以內(nèi)10個大的素數(shù)之和為:%d",sum);
return 0;
}
試運行:
4.有一數(shù)列:2/1,3/2,5/3,8/5,……求出這個數(shù)列的前10項之和。#include "stdio.h"
int main()
{
int i;
float fm,fz,sum,t;
fm=1,fz=2;
for(i=1,sum=0;i<=10;i++)
{
sum=sum+fz/fm;
t=fm;//t的作用:保留上一步的分母
fm=fz;
fz=t+fz;
}
printf("sum=%f",sum);
return 0;
}
試運行:
5.蜘蛛有8條腿,沒有翅膀;蜻蜓有6條腿和兩對翅膀;蟬有6條腿和1對翅膀?,F(xiàn)在這三種小蟲共18只,有118條腿和20對翅膀,請編程計算每種小蟲分別有多少只?#include "stdio.h"
int main()
{
int zz,qt,c,end;
end=0;
for(zz=1;zz<=16;zz++)
{
for(qt=1;qt<=17-zz;qt++)
{
c=18-zz-qt;
if(zz*8+qt*6+c*6==118 && qt*2+c==20)
end=1;
break;
}
if(end=1)
break;
}
printf("zz=%d,qt=%d,c=%d",zz,qt,c);
return 0;
}
試運行:
6.判斷兩個整數(shù)m和n是否互質(zhì)(即是否有公共和因子)(m不等于1,n不等于1)。若互質(zhì),則輸出Yes;若不互質(zhì),則輸出No,并輸出公因子。 【算法分析】用2到t(t為m,n中較小的數(shù))之間的數(shù)分別除以m和n,若m和n可同時被某個數(shù)除盡,則m,n不互質(zhì);否則m,n互質(zhì)。#include "stdio.h"
int main()
{
int t,m,n,i;
printf("請輸入兩個不等于1的正整數(shù):");
scanf("%d%d",&m,&n);
if(m>n)
t=n;
else
t=m;
for(i=2;i<=t;i++)
if(m%i==0 && n%i==0)
break;
if(i<=t)
{
printf("No\n");
printf("公因數(shù)為:");
for( ;i<=t;i++)
{
if(m%i==0 && n%i==0)
printf("%d ",i);
}
}
else
printf("Yes");
return 0;
}
試運行:
7.打印以下圖案 * *** ***** ******* 【算法分析】通過分析圖案可得,空格數(shù)=總行數(shù)-該行行數(shù),星號數(shù)=2*該行行數(shù)-總行數(shù)。#include "stdio.h"
int main()
{
int i,j,l,kg,xh;
printf("請輸入想要的行數(shù):");
scanf("%d",&l);
for(i=1;i<=l;i++)
{
kg=l-i;
xh=2*i-1;
for(j=1;j<=kg;j++)//打印\n
printf(" ");
for(j=1;j<=xh;j++)//打印*
printf("*");
printf("\n");
}
? ? return 0;
}
試運行:
注:本文中代碼均應使用Dev C++運行,使用其它編譯器可能出現(xiàn)各種語法錯誤。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:循環(huán)結構程序設計-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://www.rwnh.cn/article2/dpehoc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、軟件開發(fā)、建站公司、網(wǎng)站導航、靜態(tài)網(wǎng)站、網(wǎng)頁設計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)