A. 求大神指教幾個C語言題目.100財富等著你
1.用戶從鍵盤輸入變數a和變數b的值,計算a+|b|
#include<stdio.h>
#include<math.h>/*庫函數fabs求絕對值在他裡面*/
int main(void)
{
double a,b,sum;
scanf("%lf%lf",&a,&b);
sum=a+fabs(b);
printf("%lf + |%lf| = %lf\n",a,b,sum);
return 0;
}
2.編寫程序實現用戶輸入三個整數,求出3個整數的和並輸出
#include<stdio.h>
int main(void)
{
int a,b,c,sum;
scanf("%d%d%d",&a,&b,&c);
sum=a+b+c;
printf("%d + %d + %d = %d\n",a,b,c,sum);
return 0;
}
3.編程計算定期存款本利之和
#include<stdio.h>
int main(void)
{
double rate,capital,deposit;
int n,i;
printf("輸入存款的年利率rate、存款期n和存款本金capital :");
scanf("%lf%d%lf",&rate,&n,&capital);
deposit=capital;
for(i=1;i<=n;i++)
deposit=deposit*(1+rate/100);
printf("%d年後的本利之和deposit =%lf\n",n,deposit);
return 0;
}
4.設計一個函數,實現從鍵盤輸入三個整數,判斷能否構成三角形
的三邊,如果能就計算輸出三角形面積,按純或照下圖給出的公式
計算三搏褲圓角形的面積,如果不能就列印出不能構成三角形的提示信息。
#include<stdio.h>
#include<math.h>
int main(void)
{
int a,b,c;
double s,d;
scanf("%d%d%d",&a,&b,&c);
if(a<=0||b<=0||c<=0)
{
printf("三邊長有非正整數,不合要求\n");
return 1;
}
if(a+b<=c||a+c<=b||b+c<=a)
{
printf("三邊長不符合構成三角形的要求,有一邊過長\n");
return 2;
}
d=(double)(a+b+c)/2;
s=sqrt(d*(d-a)*(d-b)*(d-c));
printf("三邊長為%d,%d,%d的三角形面積為 %lf\n",a,b,c,s);
return 0;
}
5.編程實現實現如下功能:輸入三個班的10名同學的c語言課程成績,編程分別求三個班的成績的最高分,成績的最低分,平均成績並輸出
#include<stdio.h>
int main(void)
{
int a[3][10];
int best[3];
int bad[3];
double ave[3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<10;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
ave[i]=best[i]=bad[i]=a[i][0];
for(j=1;j<10;j++)
{
if(best[i]<a[i][j])best[i]=a[i][j];
if(bad[i]>a[i][j])bad[i]=a[i][j];
ave[i]=ave[i]+a[i][j];
}
ave[i]=ave[i]/10;
}
for(i=0;i<3;i++)
printf(" %d 班的最高成績 %d,最低成績 %d,平均成績 %.2lf\n",i+1,best[i],bad[i],ave[i]);
return 0;
}
6.編寫完整程序實現如下功能:輸入一個整數,判斷它能否被3,5,7整除
#include<stdio.h>
int main(void)
{
int i;
scanf("%d",&i);
if(i%3==0&&i%5==0&&i%7==0) /*判斷整除的條件是取模是否等於0*/
printf("%d 可以被3,5,7整除\n",i);
else
printf("%d 不能被3,5,7整除\n",i);
return 0;
}
7.編寫按收入計算稅費的程序。
#include<stdio.h>基塌
int main(void)
{
int x;
double y;
scanf("%d",&x);
if(x<=800)
y=0;
else if(x>800&&x<=1200)
y=(double)(x-800)*5/100;
else if(x>1200&&x<=2000)
y=(double)(x-1200)*8/100;
else
y=(double)(x-2000)*20/100;
printf("%d 稅費 %lf\n",x,y);
return 0;
}
8.while循環結構編程練習--編寫程序解決如下問題,假定
2012年中國人口為13.39724852億,如果以每年1.4%的速
度增長,多少年後中國人口達到或超過20億。
#include<stdio.h>
int main(void)
{
double x;
int i;
i=0;
x=13.39724852;
while(x<20)
{
x=x*(1+1.4/100);
i++;
}
printf("%d 年後中國人口達到或超過20億\n",i);
return 0;
}
9.編寫程序,求累加和1+2+3+…..+n.並輸出,n由用戶輸入
#include<stdio.h>
int main(void)
{
int n,i,sum;
sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum=sum+i;
printf("1+2+3+…..+%d = %d\n",n,sum);
return 0;
}
10.
/*
while循環結構編程練習——計算需要存款多少年定期存款本金和利息利之和
才達到額定數額500000。要求銀行定期存款的年利率由用戶輸入,年利率用變數
rate存放;存款本金由用戶輸入,本金用變數capital存放,單位為元;用戶輸入
打算存款的時間(以年為單位),用變數n存放存款年限,試編程計算多少年後年
後的本金和利息之和達到500000元,本金和利息之和用變數deposit存放。如果用
戶一次性存款超過了500000元,輸出「你已是一次性存款超過50萬的大客戶」和
用戶輸入的存款年限到期後的本金和利息之和。
*/
#include<stdio.h>
int main(void)
{
double rate,capital,deposit;
int n,i,flag=1;
printf("輸入存款利率,存款本金,存款年限: ");
scanf("%lf%lf%d",&rate,&capital,&n);
deposit=capital;
if(capital>=500000)
printf("你已是一次性存款超過50萬的大客戶\n");
else
{
i=0;
while(deposit<500000)
{
deposit=deposit*(1+rate/100);
i++;
}
}
printf("%d 年後 本金和利息之和達到500000\n",i);
deposit=capital;
for(i=1;i<=n;i++)
{
deposit=deposit*(1+rate/100);
}
printf("%d 年後 本金和利息之和 %.2lf\n",n,deposit);
return 0;
}
B. 誰有好的C語言例題
1、以下程序實現:輸入圓的半徑 r 和運算標志 m ,按照運算標志進行指定計算。
標志 運算
A 面積
B 周長
C 二者均計算
2、以下程序實現輸出 x , y , z 三個數中的最大者。
3、以下程序實現:輸入三個整數,按從大到小的順序進行輸出。
4、以下程序對輸入的一個小寫字母,將字母循環後移 5 個位置後輸出。如』a』變成『f』 , 『w 『變成』b』。
5、某郵局對郵寄包裹有如下規定:若包裹的長寬高任一尺寸超過 1 米或重量超過 30 千克,不予郵寄;對可以郵寄的包裹每件收手續費 0. 2 元,再加上根據下表按重量 wei 計算的郵資:
重量(千克) 收費標准(元)
wei < 10 0. 80
10 < wei < = 20 0 . 75
20 < wei<=30 0 . 70
6、某個自動加油站有A,B,C三種汽油,單價分別為 1.05 , 1 . 35 , 1 . 18 (元/千克),也提供了」自己加」或「協助加」 兩個服務等級,這樣用戶可以得到 5%或 10%的優惠。本程序針對用戶輸入加油量 a ,汽油品種 b 和服務類型 c
(f ---自動, m----自己,e---協助),輸出應付款 m 。
7、編程實現以下功能:讀入兩個運算數( datal 和 dataZ )及一個運算符(叩) , 計算表達式 datal op dataZ 的值,其中 op 可為+,一, * , / (用 Switch 語句實現)。
8、有一堆零件( 100到 200 之間),如果分成 4 個零件一組的若干組,則多 2 個零件;若分成 7 個零件一組,則多 3 個零件;若分成 9 個零件一組,則多 5 個零件。請編程序是求這堆零件總數。
9、請編程實現求 1000以內的所有完全數。(說明:一個數如果恰好等於它的因子之和(除自身外),則稱該數為完全數,例如: 6 = 1 + 2 + 3 , 6 為完全數)
10、編寫程序實現功能:從三個紅球、五個白球、六個黑球中任意取出八個球,且其中必須有白球,輸出所有可能的方案。
11、編寫程序實現功能:計算 100 至 1000 之間有多少個數其各位數字之和是 5 。
12、每個蘋果 0 . 8 元,第一天買 2 個蘋果,第二天開始,每天買前一天的 2 倍,直至購買的蘋果個數達到不超過 100 的最大值。編寫程序求每天平均花多少錢?
13、試編程序,找出 1 至1000之間的全部同構數。同構數是這樣一組數:它出現在它的平方數的右邊。例如: 5 是 25 右邊的數, 25 是 625 右邊的數, 5 和 25 都是同構數。
14、試編程序,求一個整數任意次方的最後三位數。即求 xy的最後三位數,要求 x , y 從鍵盤輸入。
15、編寫程序,從鍵盤輸入 6 名學生的 5 門成績,分別統計出每個學生的平均成績。
如果做完基礎,可以繼續追問!
C. C語言編程題求100以內所有偶數的和,即2+4+6+…+100。
方法有很多,舉例說明如下:
1、遍歷100以內所有數,判斷如果是偶數,則累加。
參考代碼:
#include<stdio.h>
intmain()
{
intn,s=0;
for(n=1;n<=100;n++)//遍歷所有數值。
if(n%2==0)//偶數
s+=n;//累加。
printf("%d ",s);//輸出結果。
return0;
}
2、直接遍歷偶數,並累加。
參考代碼:
#include<stdio.h>
intmain()
{
intn,s=0;
for(n=2;n<=100;n+=2)//遍歷所有偶數。
s+=n;//累加。
printf("%d ",s);//輸出結果。
return0;
}
3、利用等差數列和值公式。
#include<stdio.h>
intmain()
{
ints;
s=(2+100)*50/2;//計算和值。
printf("%d ",s);//輸出結果。
return0;
}
4、對比。
從效率上來說,第三種方法,避免了循環,所以效率最高。
從練習角度來說,前兩種方法使用到了更多的C語言知識點,更適合練慣用。
D. 求解幾個C語言的題
6.#include <stdio.h>
main()
{
float xiaoshou,shouru;
printf("benzhouxiaoshouzongewei:");
scanf("%f",&xiaoshou) ;
shouru=200+xiaoshou*0.08;
printf("benzhoushouruwei:%f\n",shouru);
getch();
}
7.
#include <stdio.h>
void main()
{
float principal,rate,days,interest;
printf("qingshurubenjin:");
scanf("%f",&principal) ;
printf("qingshurulilv:");
scanf("%f",&rate) ;
printf("qingshurutianshu:");
scanf("%f",&days) ;
interest= principal*rate*days/365;
printf("拍汪lixiwei:%f",interest);
getch();
}
8.1 :end
8.2:*&
9:
#include <stdio.h>
main()
{ int year;
printf("qing shu ru nian fen:");
scanf("%d",&year);
if( ((year%4==0)&&(year%100!=0)) ||(year%400==0) )
printf("%d nian shi run nian.",year);
else
printf("%d nian bu shi run nian",year);
getch();
}
14.1 : i<=9 , j%3!=0 (注意是不等於,不是等於)
14.2:p=p+j s=s+p;
16:(備註:輸出的結果非常多,因為組合方法很多。)
#include <stdio.h>
main()
{ int gongji,muji,xiaoji,n;
for(gongji=0;gongji<=20;gongji++)
{
for(muji=0;muji<=33;muji++)
{
for(xiaoji=0;xiaoji<=300;xiaoji++)
{
if(5*gongji+3*muji+xiaoji/3==100) ;
printf("%d gongji,%d muji, %d xiaoji\n",gongji,muji,xiaoji);
}
}
}
getch();
}
17:#include <stdio.h>
main()
{
int i,a,b,c;
for(i=100;i<襲螞仔1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d\物則n",i);
}
}
getch();
}
18:
#include <stdio.h>
main()
{
int wufen,yimao,c=0;
for(wufen=1;wufen<=10;wufen++)
{
for(yimao=1;yimao<=5;yimao++)
{
if(wufen/2+yimao==5)
c++;
}
}
printf("yi gong you %d zhong huan fa",c);
getch();
}
19:
#include <stdio.h>
void main()
{
int a[20];
int i;
int min;
printf("qing shu ru 20 ge shuzi:");
for(i=0;i<20;i++)
scanf("%d",&a[i]);
min=a[0];
for(i=1;i<20;i++)
{
if(min>a[i]) min=a[i];
}
printf("zui xiao de shuzi shi :%d\n",min);
getch();
}
22:#include <stdio.h>
#include <math.h>
int ss(int m)
{
int i,t1=0,q;
q=sqrt(m);
for (i=2;i<=q;i++)
if (m%i==0)
break;
if (i>=q+1)
t1=1;
return(t1);
}
void main()
{
int i,t=0,sum=0;
for (i=100;i<=200;i++)
{
t=ss(i);
if (t==1)
sum+=i ;
}
printf("%d",sum);
getch();
}
10:
#include <stdio.h>
main ( )
{ long i;
float bonus,bon1,bon2,bon4,bon6,bon10;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+100000*0.05;
bon6=bon4+100000*0.03;
bon10=bon6+400000*0.015;
printf("qing shu ru li run:");
scanf("%ld",&i);
if (i<=100000)
bonus=i*0.1;
else if (i<=200000)
bonus=bon1+(i-100000)*0.075;
else if (i<=400000)
bonus=bon2+(i-200000)*0.05;
else if (i<=600000)
bonus=bon4+(i-400000)*0.03;
else if (i<=1000000)
bonus=bon6+(i-600000)*0.015;
else bonus=bon10+(i-1000000)*0.01;
printf("jiang jin shi %10.2f",bonus);
getch();
}
第9題前面已經有了,重復了,你自己看。
程序全部驗證通過,這么辛苦,給分吧。
E. C語言編程:隨機出10道100以內的整數加減法算術題。
這個其實很簡單
給你個完整的,我很少寫完整的代碼
#include <stdio.h>
main()
{
int i;
int a[10],b[10],c[10],d[10],e[10];
for(i=0;i<10;i++) //生成題目
{
while(1)
{
a[i]=rand()%100+1; //產生ab隨機數
b[i]=rand()%100+1;
c[i]=rand()%4+1; //產生運算+-*/隨即數
switch(c[i])
{
case 1:d[i]=a[i]+b[i];break;
case 2:d[i]=a[i]-b[i];break;
case 3:d[i]=a[i]*b[i];break;
case 4:while(b[i]==0) //在除法中,要是b是0,重新生成,直到不是0為止
b[i]=rand()%100+1;
d[i]=a[i]%b[i];break; //這里看余數,一般來說,不能整除,不可以
}
if((d[i]<100||d[i]>0)II(c[i]==4&&d[i]!=0)) //判斷d是否在100之內,還有就是除法不能有餘數
break; //滿足條件,生成下一個,不滿足重新來過
}
if(c[i]==4)
d[i]=a[i]/b[i]; //這個算出除法的結果
}
for(i=0;i<10;i++) //出題
{
printf("%d\n%d",i+1,a[i]);
if(c[i]==1)
putchar("+");
if(c[i]==2)
putchar("-");
if(c[i]==3)
putchar("X");
if(c[i]==4)
putchar("/");
printf("%d=",b[i]);
scanf("%d",e[i]);
system("cls");
}
for(i=0;i<10;i++) //最後列印結果
{
printf("%d\n%d",i+1,a[i]);
if(c[i]==1)
putchar("+");
if(c[i]==2)
putchar("-");
if(c[i]==3)
putchar("X");
if(c[i]==4)
putchar("/");
printf("%d=%d",b[i],e[i]);
if(d[i]==e[i])
printf("yes!!\n");
else
printf("NO!! %d\n",d[i]);
}
}
F. vb程序設計實例100
試題一.1
Private Sub Form_Click()
Print fs_sum(100)
End Sub
Function fs_sum(ByVal n As Integer) As Single
Dim s!, nc! '和與倒數
s=0
For i = 1 To n
nc = 1 / i
s = s + nc
Next i
fs_sum = s
End Function
試題一.2
Private Sub Form_Click()
For i = 1 To 4
Print Space(4 - i);
For j = 1 To i
Print "* ";
Next j
Print
Next i
End Sub
待續,未完...
G. C語言編程題
不知是不是題目寫錯了,如果一個數字各位數字之和等於5,那春則它肯定不會大於500,否則和就大於5了,所以 100 - 999 裡面,比 500 大的數是多餘的。不管怎麼,這個題目可以按照下面思路來做。
以 1353 為例,採用下面的思路:
用 1353 除 10,余數是 3,所以個位數為 3。同時 1353 除 10 取整是 135,是去掉個位數以後剩下的數字
用 135 除 10,余數是 5,這是十位數的數字,剩下數字 13
用 13 除 10,余數 3, 剩下數字 1
用 1 除以 10,余數 1,剩下數字 0
因為取整已經得到 0,所以沒必要再繼續除下去了。把前面步驟拆森運得到的余數加起來,就是各位數字之和,也就是 3 + 5 + 3 + 1 = 12
按這個思路得到計算一個數各位數字之和的函數:
H. C語言編程 100以內整數加減法
這對於初學者還真不簡單;要產生真正的隨機數,必須用時間函數初始化隨機種子,還有相應提示等。你參考下下面的代碼:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
inti,a[20],answer,score=0;
srand(time(NULL));
for(i=0;i<20;i++)
a[i]=rand()%90+10;//產生20個10到99間的隨機數
printf("請輸入答案,共10道題: ");
for(i=0;i<10;i+=2)
{//取前10個數,組成5個加法題
printf("%d+%d=",a[i],a[i+1]);
scanf("%d",&answer);
if(a[i]+a[i+1]==answer)
score+=10;//對了加10分
}
for(;i<20;i+=2)
{//取前10個數,組成5個加法題
if(a[i]>a[i+1])//保證不出現小的數減大的數
printf("%d-%d=",a[i],a[i+1]);
else
printf("%d-%d=",a[i+1],a[i]);
scanf("%d",&answer);
if(a[i]-a[i+1]==answer)
score+=10;//對了加10分
}
switch(score){
case100:
printf("酷斃了!! ");break;
case80:
case90:
printf("真棒! ");break;
case60:
case70:
printf("真不錯哦!!! ");break;
default:
printf("要加油哦! ");
}
return0;
}
I. c語言編程100題,有沒有大神幫幫忙
您好,c語言經典100題:
【程序1】
題目:有1,2,3,4個數字,能組成多少個互不相同且無重復數字的三位數
都是多少
1.程序分析:可填在百位,十位,個位的數字都是1,2,3,4.組成所有的排列後再去
掉不滿足條件的排列.
2.程序源代碼:
main()
{
int
i,j,k;
printf("\n");
for(i1;i<5;i++)
/*以下為三重循環*/
for(j1;j<5;j++)
for
(k1;k<5;k++)
{
if
(i!k&&i!j&&j!k)
/*確保i,j,k三位互不相同*/
printf("%d,%d,%d\n",i,j,k);
}
}
【程序2】
題目:企業發放的獎金根據利潤提成.利潤(i)低於或等於10萬元時,獎金可提10%;利潤高
於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提
成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到激鋒60萬之間時高於
40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分明盯晌,可提成1.5%,高於
100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤i,求應發放獎金總數
1.程序分析:請利用數軸來分界,定位.注意定義時需把獎金定義成長整型.
2.程序源代碼:
main()
{
long
int
i;
int
bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1100000*0.1;bonus2bonus1+100000*0.75;
bonus4bonus2+200000*0.5;
bonus6bonus4+200000*0.3;
bonus10bonus6+400000*0.15;
if(i<100000)
bonusi*0.1;
else
if(i<200000)
bonusbonus1+(i-100000)*0.075;
else
if(i<400000)
bonusbonus2+(i-200000)*0.05;
else
if(i<600000)
bonusbonus4+(i-400000)*0.03;
else
if(i<1000000)
bonusbonus6+(i-600000)*0.015;
else
bonusbonus10+(i-1000000)*0.01;
printf("bonus%d",bonus);
}
【程序3】
題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少
1.程序分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後
的結果滿足如下條件,即是結果.請看具體分析:
2.程序源代碼:
#include
"math.h"
main()
{
long
int
i,x,y,z;
for
(i1;i2)/*如果是閏年且月份大於2,總天數應該加一天*/
sum++;
printf("it
is
the
%dth
day.",sum);}
【程序4】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的第幾天,特殊
情況,閏年且輸入月份大於3時需考慮多加一天。
2.程序源代碼:
main()
{
int
day,month,year,sum,leap;
printf("\nplease
input
year,month,day\n");
scanf("%d,%d,%d",&year,&month,&day);
switch(month)/*先計則塵算某月以前月份的總天數*/
{
case
1:sum0;break;
case
2:sum31;break;
case
3:sum59;break;
case
4:sum90;break;
case
5:sum120;break;
case
6:sum151;break;
case
7:sum181;break;
case
8:sum212;break;
case
9:sum243;break;
case
10:sum273;break;
case
11:sum304;break;
case
12:sum334;break;
default:printf("data
error");break;
}
sumsum+day;
/*再加上某天的天數*/
if(year%4000||(year%40&&year%100!0))/*判斷是不是閏年*/
leap1;
else
leap0;
if(leap1&&month>2)/*如果是閏年且月份大於2,總天數應該加一天*/
sum++;
printf("It
is
the
%dth
day.",sum);}
【程序5】
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出.
1.程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,
然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小.
2.程序源代碼:
main()
{
int
x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if
(x>y)
{tx;xy;yt;}
/*交換x,y的值*/
if(x>z)
{tz;zx;xt;}/*交換x,z的值*/
if(y>z)
{ty;yz;zt;}/*交換z,y的值*/
printf("small
to
big:
%d
%d
%d\n",x,y,z);
}
【程序6】
題目:用*號輸出字母c的圖案.
1.程序分析:可先用'*'號在紙上寫出字母c,再分行輸出.
2.程序源代碼:
#include
"stdio.h"
main()
{
printf("hello
c-world!\n");
printf("
****\n");
printf("
*\n");
printf("
*
\n");
printf("
****\n");
}
【程序7】
題目:輸出特殊圖案,請在c環境中運行,看一看,very
beautiful!
1.程序分析:字元共有256個.不同字元,圖形不一樣.
2.程序源代碼:
#include
"stdio.h"
main()
{
char
a176,b219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);}
【程序8】
題目:輸出9*9口訣.
1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列.
2.程序源代碼:
#include
"stdio.h"
main()
{
int
i,j,result;
printf("\n");
for
(i1;i<10;i++)
{
for(j1;j<10;j++)
{
resulti*j;
printf("%d*%d%-3d",i,j,result);/*-3d表示左對齊,佔3位*/
}
printf("\n");/*每一行後換行*/
}
}
【程序9】
題目:要求輸出國際象棋棋盤.
1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格.
2.程序源代碼:
#include
"stdio.h"
main()
{
int
i,j;
for(i0;i<8;i++)
{
for(j0;j<8;j++)
if((i+j)%20)
printf("%c%c",219,219);
else
printf("
");
printf("\n");
}
}
【程序10】
題目:列印樓梯,同時在樓梯上方列印兩個笑臉.
1.程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數.
2.程序源代碼:
#include
"stdio.h"
main()
{
int
i,j;
printf("\1\1\n");/*輸出兩個笑臉*/
for(i1;i<11;i++)
{
for(j1;j<i;j++)
printf("%c%c",219,219);
printf("\n");
}
}
【程序11】
題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月
後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少
1.程序分析:
兔子的規律為數列1,1,2,3,5,8,13,21....
2.程序源代碼:
main()
{
long
f1,f2;
int
i;
f1f21;
for(i1;i<20;i++)
{
printf("%12ld
%12ld",f1,f2);
if(i%20)
printf("\n");/*控制輸出,每行四個*/
f1f1+f2;
/*前兩個月加起來賦值給第三個月*/
f2f1+f2;
/*前兩個月加起來賦值給第三個月*/
}
}
【程序12】
題目:判斷101-200之間有多少個素數,並輸出所有素數.
1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,
則表明此數不是素數,反之是素數.
2.程序源代碼:
#include
"math.h"
main()
{
int
m,i,k,h0,leap1;
printf("\n");
for(m101;m<200;m++)
{
ksqrt(m+1);
for(i2;i<k;i++)
if(m%i0)
{leap0;break;}
if(leap)
{printf("%-4d",m);h++;
if(h%100)
printf("\n");
}
leap1;
}
printf("\nthe
total
is
%d",h);
}