最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

c語言循環(huán)

2023-03-01 16:32 作者:屋漏天晴好  | 我要投稿

山東春季高考C語言專項復習資料

C語言編程測試題(第四章)

循環(huán)編程專項訓練

?

姓名????????????? 成績

?

1.編程1+2+3+4+5.輸出結果

#include <stdio.h>

main()

{??

int sum,i;

???? sum=0;

???? i=1;

???? while(i<=5)

???? {

??? ? sum=sum+i;

????? i=i+1;

??? ?}

???? printf("1+2+3+4+5=%d",sum);

}

?

?

?

?

?

?

?

2.輸入一個整數,按相反次序輸出。例如,輸入54321,輸出12345.

#include <stdio.h>

main()

{

?long num;

???? int b;

???? printf("輸入一個整數: ");

???? scanf("%ld",&num);

???? do

??? ??? { b=num%10;

????????? printf("%d",b);

????????? num=num/10;

??????? }while(num);

???? printf("\n");

???? getchar();

}

?

?

?

?

?

?

?

3.從鍵盤上輸入10個整數,求其和并輸出。

#include<stdio.h>

main()

{

?int i,num,sum;

?? printf("從鍵盤上輸入10個整數: \n");

?? sum=0;

?? for(i=1;i<=10;i++)

??? {?

???? scanf("%d",&num);

???? sum=sum+num;

??? }

???? printf("這10個整數的和為: %d",sum);

}

?

?

?

?

?

?

?

?

?

?

4.從鍵盤上輸入若干個整數,直到輸入0為止,求它們的乘積并輸出。

#include <stdio.h>

main()

{?

?int n;

????? long t=1;

???? printf("從鍵盤上輸入若干個整數,直到輸入0為止 \n");

???? scanf("%d",&n);

???? while(n!=0)

??????? {? t=t*n;

?????????? scanf("%d",&n);

??????? }

???? printf("%d\n",t);

}

?

?

?

?

?

?

5.打印九九乘法表

#include <stdio.h>

main()

{

int i,j;

??? for(i=1;i<10;i++)

????? printf("%5d?? ",i);

????? printf("\n-----------------------\n");

??? for(i=1;i<10;i++)

??? { for(j=1;j<=i;j++)

???????? printf("%2d*%d=%-3d",i,j,i*j);

???????? printf("\n");

??? }

}

?

?

?

?

?

?

6.輸入圓柱體的高,求不同半徑的圓柱體的體積,只計算體積在100以下的圓柱體。

#include <stdio.h>

#define PI 3.14

main()

{

??? int r;

??? float v,h;

??? printf("請輸入圓柱體的高:");

??? scanf("%f",&h);

??? for(r=1;r<=10;r++)

??? {

??? ??? v=PI*r*r*h;

??? ??? if(v>100.0) break;

??? ??? printf("半徑等于 %d,體積等于 %.2f? \n",r,? v);

??? ?}

??? ?printf("此時r=%d\n",r);

?}

?

?

?

?

?

?

?

?

7.輸出50~100之間所有不能被7整除的數。

#include <stdio.h>

main()

{

??? int num,cnt=0;

??? for(num=50;num<=100;num++)

??? {

??? ??? if(num%7==0)

??? ??? continue;??????????????????? /*結束本輪循環(huán)*/

??? ??? printf("%5d",num);

??? ??? cnt++;

??? ??? if(cnt%10==0) printf("\n");? /*每行輸出10個整數*/

??? }

}

?

?

?

?

?

8.判斷一個數是否為素數

#include <stdio.h>

main()

{

??? int num,j,tag=1,m;

??? printf("請輸入一個自然數:");

??? scanf("%d",&num);

??? m=sqrt(num);

??? for(j=2;j<=m;j++)

??? if(num%j==0)

??? {

??? ??? tag=0;

??? ??? break;

??? }

??? if(tag==1)

??? printf("%d? 是素數\n",num);

??? else

??? printf("%d? 不是素數\n",num);

}

?

?

?

?

?

?

?

?

?

9.找出100~200之間的所有素數

#include <stdio.h>

#include <math.h>

main()

{

??? int num,j,tag,m,cnt=0;

??? for(num=101;num<200;num+=2)

??? {

??? ??? tag=1;

??? ??? m=sqrt(num);

??? ??? for(j=2;j<=m;j++)

??? ??? if(num%j==0) {tag=0; break;}

??? ??? if(tag==1)

??? ??? {

??? ??? ??? printf ("%5d",num);

??? ??? ??? cnt++;

??? ??? ??? if(cnt%10==0) printf("\n");

??? ??? }

??? }

}

?

?

10.輸入兩個整數,求它們的最大公約數。方法是采用“輾轉相除法”,即反復模除取余,直到余數為0.

#include <stdio.h>

main()

{

??? int a,b,r,tmp;

??? printf ("輸入兩個整數:");

??? scanf ("%d%d",&a,&b);

??? if (a<b)??????????? /*若第1個數小于第2個數,則兩者互換*/

??? {tmp=a;a=b;b=tmp;}

??? do

??? {

??? ??? r=a%b;

??? ??? a=b;

??? ??? b=r;

??? }while(r);

??? printf("最大公約數為: %d\n",a);

??? getchar();

}

?

?

?

?

?

?

11.“百雞問題”是我國古代數學家張丘建在他編寫的《算經》里提出的一個不定方程問題,即“雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,百錢買百雞。問雞翁、母、雛各幾?”

#include <stdio.h>

main()

{

int x,y,z;

for(x=0;x<=20;++x)

for(y=0;y<=33;++y)

??? {z=100-x-y;

??? ?if((z%3==0)&&(5*x+3*y+z/3==100))

printf("公雞:%-2d? 母雞:%-2d? 小雞:%-2d\n",x,y,z);}

}

?

?

?

?

?

?

12.輸入一個數字a和一個整數n,s=a+aa+aaa+aaaa+aaa…..a,最后一項為n個a。計算并輸出s的值。

#include<stdio.h>

main()

{

?int a,n,i;

?float s=0,t;

?scanf("%d%d",&a,&n);

?t=a;

?for(i=1;i<=n;i++)

?{

??? ?s=s+t;

??? ?t=t*10+a;

?}

?printf("%.0f\n",s);

}

?

?

?

?

?

?

?

?

?

13,編寫程序輸出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字的立方和等于該數本身。例如153是一個水仙花數,因為153=1*1*1+5*5*5+3*3*3

#include <stdio.h>

main()

{

int a,b,c,i;

for(i=100;i<=999;i++)

{a=i/100;

??b=i/10%10;

??c=i%10;

?if(i==a*a*a+b*b*b+c*c*c)

printf("%d\n",i);}

printf("\n");}

?

?

?

?

?

?

?

?

?

14.編寫程序要求用for語句編寫,輸入兩個值x,y求出x的y次方。

#include <stdio.h>

#include <math.h>

main()

{

int x,y,n;

scanf("%d,%d",&x,&y);

??n=pow(x,y);

?printf("%d",n);

}

?

?

?

?

?

?

?

?

?

?

?

?

?

15.每個蘋果1元,第一天買2個蘋果,第二天開始,每天買前一天的3倍,直到購買的蘋果達到不超過100的最大值。試用do while編寫程序求每天平均花多少錢?

#include <stdio.h>

main()

{

int day=0,buy=2;

float sum,average;

do

{sum+=1*buy;day++;buy*=3;}

while(buy<100);

average=sum/day;

printf("%f\n",average);}

?

?

?

?

?

?

?

?

?

?

16根據圖形,編寫程序

*

* * *

* * * * *

* * * * * * *

#include <stdio.h>

main()

{

int i,j;

for(i=1;i<=4;i++)

??? {for(j=1;j<=2*i-1;j++)

printf("*");

printf("\n");}

}

?

?

?

?

?

?

?

?

?

?

17.輸出1!+2!+3!+...+20!的值。

提示5!=1*2*3*4*5=4!*5,累乘的初值為1。

#include<stdio.h>

?main()

{

?int i,j;

?double sum=0,n;

?for(i=1;i<=20;i++)

?{?? n=1;

??? ?for(j=1;j<=i;j++)

??? ??? ?n=n*j;

??? ?sum=sum+n;

??? ?}

?printf("%.0f\n",sum);

?

?

?

?

18.任意輸入10個數,分別計算輸出其中的正數和負數之和。

#include<stdio.h>

main()

{

int i,n,s1=0,s2=0;

for(i=1;i<=10;i++)

{scanf("%d",&n);

??if(n>0) s1=s1+n;

?else if(n<0) s2=s2+n;

}

printf("所有正數的和=%d\n",s1);

printf("所有負數的和=%d\n",s2);

}

?

?

?

19.一球從100米高空自由落下,每次落地后反跳回原高度的一半:再落下,求他在第十次落地時,共經過多少米?第十次反彈多高?

#include<stdio.h>

?main()

{

? float h=100,sum=100;

? for(int i=2;i<=10;i++){

??? h=h/2;?? /*第二次落地前的反彈高度*/

sum=sum+2*h;

? }

? printf("第10次經過%.2f米\n",sum);

}

20.一個數列是;3/5,5/7,7/9,9/11,….,求這個數列前20項的和。

#include<stdio.h>

?main()

{

? int i;

? float sum=0;

? for(i=1;i<=20;i++)

? ? sum=sum+1.0*(2*i+1)/(2*i+3);

? printf("3/5+5/7+...+41/43=%f\n",sum);}

?

?

?

?

?

?

?

?

?

21.輸入一行字符,直到輸入換行結束,分別統計其中的英文字母,空格,數字和其他字符的個數

#include<stdio.h>

?main()

{

? int i=0,j=0,k=0;

? char ch;

? while((ch=getchar())!='\n')

?{

? if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')

??? ? i++;

? else if(ch>='0'&&ch<='9')

??? ? j++;

? else k++;

?}

printf("letters:%d\nnumbers:%d\nothers:%d\n",i,j,k);

}

?

?

?

?

?

23.已知華氏溫度F與攝氏溫度C的關系是:C=5/9*(F-32),編寫程序,計算華氏溫度F為-10,0,10,20,…..290度時攝氏溫度C的值。

#include<stdio.h>

?main()

{

? int f;

? float c;

? for(f=-10;f<=290;f+=10)

? {

??? ? c=5.0/9*(f-32);

????? printf("%-8.2f? ",c);

? }

?printf("\n");

}

?

?

?

?

24.輸入一行字符,輸出字母的個數。

#include<stdio.h>

?main()

{

? int n=0;

? char ch;

?ch=getchar();

?while(ch!='\n')

?{

if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')

??? ? n++;

? ch=getchar();

?}

? printf("The number of letters are %d\n",n);

}

?

?

?

?

?

?

?

25.編寫程序,從3個紅球,5個白球,6個黑球中任意取出8個球,且其中必須有白球,輸出可能的所有方案。

#include<stdio.h>

?main()

{

? int red,white,black;

? for(red=0;red<=3;red++)

{

for(white=1;white<=5;white++)

{

??? ? black=8-red-white;

??? ? if(black<=6)

??? ? printf("red=%d,white=%d,black=%d\n",red,white,black);

??? ? }

? }

}

26.一個人很倒霉,不小心打碎了一位婦女的一籃子雞蛋。為了賠償便詢問籃子里有多少個雞蛋。那個婦女說,他也不清楚,只記得每次拿兩個則剩一個,每次拿三個則剩兩個,每次拿五個則剩四個,若每個雞蛋1元,請你幫忙編寫程序,計算最少應賠多少錢?(提示,依題意,雞蛋個數為奇數且模除3為2,模除5為4。)

#include<stdio.h>

?main()

{

? int n=9;

? while(!(n%3==2&&n%5==4)) n+=2;

? printf("The price is %d\n",n);

}

?

?

?

?

?

?

?

?

27.有1,2,3,4共4個數字,能組成多少個互不相同且無重復數字的三位數?要求輸出所有可能的三位數。

#include<stdio.h>

?main()

{

? int a,b,c;

? for(a=1;a<=4;a++)

? { for(b=1;b<=4;b++)

???? for(c=1;c<=4;c++)

?????? if(a!=b&&a!=c&&b!=c)

??? ? ? printf("%d%d%d? ",a,b,c);

??? ?printf("\n");

? }

}

?

?

?

?

?

28.所謂回文數,是從左至右與從右至左讀起來都是一樣的數字,如121是一個回文數。編寫程序,求出100~200范圍內所有回文數的和。

#include<stdio.h>

?main()

{

? int i,a,b,sum=0;

? for(i=100;i<=200;i++)

? {

??? ? a=i%10;?? /*個位數*/

??? ? b=i/100;?? /*百位數*/

??? ? if(a==b)

??? ? {printf("%d? ",i);

??? ? sum=sum+i;}

? }

??? printf("\n%d\n",sum);

?}

?

?

?

?

?

29.孫悟空在大鬧蟠桃園的時候,第一天吃掉了所有桃子總數的一半多一個,第二天又將前一天剩下的桃子吃掉一半多一個,以后每天吃掉前一天剩下的一半多一個,到第N天時準備吃的時候只剩下一個桃子了。問第一天原來有多少個桃子。其中N從鍵盤輸入。

#include<stdio.h>

?main()

{

? int n,s=1,i;

? scanf("%d",&n);

? for(i=n-1;i>=1;i--)

? s=(s+1)*2;

? printf("%d\n",s);

}

?

?

?

?

?

30.用循環(huán)語句編寫求2^0+2^1+2^2+2^3+…+2^63的程序。

#include<stdio.h>

#include<math.h>

?main()

{

? int a=2,i ;?

? long sum=0;

? for(i=0;i<=63;i++)

??? sum=sum+pow(a,i);

?? printf("%ld",sum);

}

?

?

?

?

?

?

?

31.用下面的公式求π的近似值,直到最后一項的絕對值小于0.0001為止:

π/4=1-1/3+1/5-1/7+……

提示:設一個變量sign,用來表示正負號。當sign=1時,表示正號;當sign=-1時,表示負號。通過執(zhí)行語句“sign=-sign”:實現正負號的切換。每一項乘以sign后在進行累加。

#include<stdio.h>

main()

{

?int sign=1,i=1;

?double pi=0,n=1;

?while(n>=0.0001)

?{

???? pi=pi+sign*n;

???? i++;

??? ?sign=-sign;

??? ?n=1.0/(2*i-1);

?}

?pi=4*pi;

?printf("%.2f\n",pi);

}

?

32.雞兔同籠,頭共有30只,腳共有90只,計算雞兔各有多少只(要求用for循環(huán)編寫)。

#include<stdio.h>

main()

{

int ji,tu;

for(ji=1;ji<=29;ji++)

{ tu=30-ji;

? if(2*ji+4*tu==90)

? printf("雞是%d只,兔是%d只",ji,tu);

}

}


c語言循環(huán)的評論 (共 條)

分享到微博請遵守國家法律
威远县| 图们市| 永年县| 女性| 美姑县| 大余县| 澄江县| 罗山县| 武冈市| 防城港市| 闵行区| 古丈县| 梁山县| 都江堰市| 陇南市| 九寨沟县| 大姚县| 綦江县| 龙门县| 昌乐县| 宁南县| 白城市| 普兰县| 清原| 靖西县| 福贡县| 普宁市| 无为县| 深水埗区| 宜章县| 东丽区| 屏边| 鄢陵县| 阿合奇县| 康乐县| 天峨县| 浦北县| 保定市| 繁峙县| 青神县| 梅州市|