C語言實驗方案_第1頁
C語言實驗方案_第2頁
C語言實驗方案_第3頁
C語言實驗方案_第4頁
C語言實驗方案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

C語言實驗項目名稱——實驗L編程環(huán)境的認識

1、P4-例1.2;求兩數(shù)之和:2、P894.8;設圓半徑r=1.5,圓柱高h=3,求圓周長、

#include<stdio.h>圓面積、圓球表面積、圓球體積、圓柱體積。

voidmain(void)#include<stdio.h>

{voidmain()

intab,sum;

a=123;b=456;floath.r,i,s,sq,vq,vz;

sum=a+b;floatpi=3.1415926;

printf("Sumis%d\n",sum);printf("請輸入圓半徑r:");

}scanf("%f',&r);

prirM”請輸入圓柱高h:");

2、P5-例1.3;求兩數(shù)中較大者:scanf("%f',&h);

#include<stdio.h>l=2*pi*r;

voidmain(void)s=r*r*pi;

(sq=4*pi*r*r;

intniax(inlx,inty);vq=3.0/4.0*pi*r*r*r;

inta,b,c;vz=pi*r*r*h;

printf("請輸入兩個整數(shù):");prirtf("\n圓周長為:1=%6.2f\ii",l);

scanf("%d,%d",&a,&b);prir.tf("圓面積為:s-%6.2hii",s);

c=max(a.b);printf("圓球表面積為:sq=%6.2f\n",sq);

printf("max=%d\n",c);prinf("圓球體積為:vq=%6.2f\n",vq);

)pri「1f("圓柱體積為:vz=%6.2f\n",vz);

intmax(intx,inty))

(

intz;3、P894.9;輸入一個華氏溫度,要求輸出攝氏溫度。

if(x>y)z=x;公式為C=5/9(F—32)

elsez=y;#include<stdio.h>

return(z);voidniain()

){

floatc,f;

實驗項目名稱——實驗2:順序結(jié)構(gòu)prirUC請輸入一個華氏溫度:");

1、P87例4.12;求一元二次方程的根。a,b,c由鍵盤scanfr%r',&D;

2

輸入,設b—4ac>0oc=(5.0/9.0)*(f-32);

#include<stdio.h>printf("攝氏溫度為:%5.2f\n",c);

#include<math.h>

voidmain(void)

{實驗項目名稱一一實驗3、選擇結(jié)構(gòu)

floata,b,c,disc,xl,x2,p,q;I、4個數(shù)的排序(降序);

printf("請輸入a,b,c的值:");#include<stdio.h>

scanf("%f,%f,%f,,&a,&b,&c);voidmain(void)

disc=b*b~4*a*c;{

p=-b/(2*a);floata,b,c.d.t;

q=sqrt(disc)/(2*a);primf("請輸入四個數(shù)個

xl=p+q;x2=p-q;

printf("x1=%5.21Anx2=%5.2f\n",x1,x2);if(a<b)

scanf("%c".&a):

t=a;if(a>=48&&a<=57)

a=b;printf("這是數(shù)字!\n”);

b=t;elseif(a>=65&&a<=90||a>=97&&a<=122)

)printf("這是字母!\n”);

if(a<c)else

(printf("這是特殊字符!\n”);

t=a;)

a=c;

c=t;3.任意輸入10個數(shù),求最大值,最小值.平均值;

)#include<stdio.h>

if(a<d)voidmain()

((

t=a;inti,j,m,a[10],max,min;

a=d;floatsum=0;

d=t;for(i=0;i<10;i++)

}{

if(b<c)printf。輸入第%d個數(shù):*i+1);

(scanf("%d",&a[i]);

t=b;sum=sum+a|“:

b=c;)

c=t;min=a[0];

)max=a[0];

if(b<d)

(for(m=0;m<10;ni++)

t=b;{

b=d;max=max>a[m+l]?max:a[m+1];

d=t;}

)for(j=0;j<=10;j++)

if(c<d){

(min=min<a[j+l]?min:a[j+1];

t=c;)

c=d;prirtf("Max=%d\nMin=%d\nAvcragc=%0.2f\n'\niax,ini

d=t;n,sum/IO);

)I

printf(M%5.2f%5.2f%5.2f%5.2f\n”,a,b,c,d);

)4、輸入20個數(shù),將所有大于60的數(shù)據(jù)輸出;

#includc<stdio.h>

2、任意輸入一個字符,請判斷是字母、數(shù)字還是特殊字voidmain()

符;{

#include<stdio.h>intaf20];

voidmain()inti,j;

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

chara;{

prinlf("請任意輸入一個字符:");prinlf("請輸入第%d個數(shù):",i+1);

scanf("%d".&a[i]):

)

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

(

if(aUl>60)

printf("%d6、PI125.7;給你一個不多于5位的正整數(shù),要求:

)①求出它是幾位數(shù):

printf("\n");②分別輸入每一位數(shù);

)③按逆序輸出各位數(shù)字。

#include<stdio.h>

5、求一元二次方程AX2+BX+CR的根(實根或虛根),#include<math.h>

系數(shù)A、B、C由人工輸入。voidmain(void)

#include<stdio.h>(

#inckide<math.h>longintnum;

voidmain()intindiv,ten,hundred,thousand,ten_(housand,place;

{printf("請輸入一個整數(shù)(0-99999):");

floata,b,c,disc,x1,x2,rcalpart,imagpart;scanf("%ld",&num);

prinlf("請輸入一元二次方程的系數(shù)a,b,c:");if(num>9999)

placc=5;

prin(f("Theequation");elseif(num>999)

if(fabs(a)<=le-6)place=4;

printf("isnotaquadratic\n");elseif(num>99)

elseplace=3;

|elseif(nuni>9)

disc=b*b~4*a*c;place=2;

if(fabs(disc)<=le-6)elseplace=I;

printf("hastwoequalprintf("位數(shù)=%<1\11"卬依€);

roots:%8.4f\n",-b/(2*a));printf("每位數(shù)字為:");

elseten_thousand=num/1(X)()0;

if(disc>le-6)thousand=(int)(num-ten_thousand*10000)/1000;

{hundrcd=(int)(nuni-tcn_thousand*100(X)-thousand*100

x1=(-b+sqrt(disc))/(2*a);0)/100;

x2=(-b-sqrt(disc))/(2*a);ten=(int)(num-ten_thousand*1OOOO-thousand*1000-hun

printf("hasdistinctrealrools:%8.4fdred*100)/10;

and%8.4(\n",xl,x2);indiv=(int)(num-ten」housand*10000-thousand*1000-h

)undred*IOO-ten*10);

elseswi:ch(place)

{{

realpart=-b/(2*a);case5:

iniagpart=sqrt(-disc)/(2*a);

prin(f("hascomplexrootsAn");pririif("%d,%d,%d,%d,%d",len_(housand,thousand,hun

drcd,tenjndiv);

prinlf("%8.4f+%8.4fi\n",realpart,imagpart);printf("\n反序數(shù)字為:");

printf("%8.4f-%8.4fi\n*\realpart,imagpart);prir.tf("%d%d%d%d%d\nn,indiv,ten.hundred,thousand,t

enthousand):

break;prir.tf("\n數(shù)列和sum=%ld\ii,,,sum);

case4:

printf(,,%d,%d,%d.%d",thousand,hundredJen,indiv);

prinlf(”\n反序數(shù)字為:”);2、輸出一等比數(shù)列的前十項,并求和。(輸入首項與公

比)

printf(',%d%d%d%d\n",indiv,tcn,hundred,thousand);#include<stdio.h>

break;voidmain()

case3:{

printf(',%d,%d,%d",hundred,ten.indiv);longinta,q,i,sum=0;

printf("\n反序數(shù)字為:”);loop:printf("請輸入等比數(shù)列的首項a=");

printf(',%d%d%d\n",indiv,ten,hundred);scanfC'%ld".&a);

break;prir.tf("請輸入等比數(shù)列的公比q=");

case2:scanf("%ld”,&q);

prin(f("%d,%d",ten.indiv);if(q==O)

prinlf("\n反序數(shù)字為:”);{

prinlf("%d%d\n",indiv,ten);printf("數(shù)據(jù)輸入錯誤,等比數(shù)列的公比不能為0,

break;請重新輸入\n");

case1:gotoloop;

printf("%d",indiv);)

prinlf(”\n反序數(shù)字為:");else

printf("%d\n"jndiv);(

break;prinlf("等比數(shù)列前十項為:");

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

(

a=a*q;

sum=sum+a/q;

實驗項目名稱一一實驗4、循環(huán)結(jié)構(gòu)prin(f("%ld",a/q);

1、輸出一等差數(shù)列的前十項,并求和。(輸入首項與公)

差)printf("\n數(shù)列和sum=%ld\n",sum);

#include<stdio.h>)

voidmain())

(

longinta,d.i,sum=0;3、P1296.1;輸入兩個正整數(shù)m和n,求其最大公倍

primfT請輸入等差數(shù)列的首項a=");數(shù)和最小公約數(shù)。

scanf("%ldH,&a);#include<stdio.h>

printf("請輸入等差數(shù)列的公差d=");voidmain()

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

printf("等差數(shù)列前十項為:");intp,r,n,m,temp;

for(i=0;i<10;i++)printf("請輸入第一個整數(shù)門;

(scanf("%d'\&m);

a=a+d;primf("請輸入第二個整數(shù)巧;

sum二sum+a-d;scanf("%d'\&n);

printf("%ld\a-d);if(in<n)

temp=n;

n=in;6、假設我國2000年的人口數(shù)量為128000萬,我國人口

m=temp;的平均絕對增長率為5%。,請計算20XX年我國的人

)口數(shù)量。

p=n*m;#include<stdio.h>

while(n!=O)voidmain(void)

((

r=m%n;floata=128000,b,c,i,d=l;

m=n;loop:printf("請輸入一個你想要杳詢的年份:");

n=r;scanf(M%f',&b);

}if(b<=2000)

primfT它們的最大公約數(shù)為:%d\n”,m);{

printf(“它們的最小公倍數(shù)為:%d\n",p/m);printf("數(shù)據(jù)輸入有誤,不能小于2000,請重新

輸入W”);

gotoloop;

4、P1296.4;求和(1到20的階乘))

#include<stdio.h>else

voidniciin(){

(c=b-2000;

floatb,c=l,i,s=0;for(i=0;i<=c;i++)

for(i=l;i<21;i++){

(d=d*1.005;

for(b=l;b<=i;b++)prin(f("%0.0f年的人口數(shù)量為%0.0f萬

(\n",2000+i,a*d/1.005);

c=c*b:)

II

s=s+c;)

c=l;

)7、一個整數(shù),它加上100后是一個完全平方數(shù),再加上

printfC'%f\n'\s);168乂是一個完全平方數(shù),請問該數(shù)是多少?

)#include<stdio.h>

#includc<math.h>

5、輸出以下三種形式的九-九表(文件voidmain()

名:exam65.cpp)(選做題){

#include"stdio.h"longinti,x,y,z;

voidmain()printf("題目是:一個整數(shù),它加上100后是一個完全

{平方數(shù),再加\n上168又是一個完全平方數(shù),請

inti,j;問該數(shù)是多少?\n”);

for(i=l;i<=9:i++)for(i=l;i<100000;i++)

{{

for(j=l;j<=9;j++)x=sqrt(i+100);

printf("%dy=sqrt(i+268);

printf("\n");if(x*x==i+100&&y*y==i+268j

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

#include<stdio.h>

voidmain()

{

inta[10],ij,k,l,t;

8、百錢買百雞問題:雞翁一,值錢五,雞母一,值錢三,for(i=0;i<10;i++)

雞雛三,值錢一,問百錢買百雞,雞公、雞母、雞雛{

幾何,(公雞5元/只、母雞3元/只、小雞3只/元)printf(”請輸入第%d個整數(shù):",i+l);

#includc<stdio.h>scanfC'%d",&a[i]);

voidmain()}

(for(j=0g<9y++)

intcocks,hens,chicks;for(k=0;k<9-j;k++)

for(cocks=0;cocks<50;cocks++){

for(hens=0;hens<50;hens++)if(a[k]>a[k+l])

|{

chicks=100-cocks-hcns;t=a[k];

if(3*cocks+2*hens+chicks/3.0==100)a[k]=a[k+l];

alk+l]=t;

prin(f("\ncocks=%d,hens=%d,chicks=%d\n",cocks.hens)

,chicks);)

)prir.tf("\n由小到大為:“);

printf("\n");for(l=0;I<10;l++)

)printf("%d",a[l]);

prirtf(”\n");

9、愛因斯坦臺階問題:有人走一臺階,若以每步走兩級

則最后剩一級:若以每步走三級則最后剩兩級;若以

每步走四級則最后剩三級;若以每步走五級則最后剩2、先用數(shù)組保存15個整數(shù),然后任意輸入一個數(shù),要

四級;若以每步走六級則最后剩五級;若以每步走七求指出該數(shù)在數(shù)組中的具體位置,若該數(shù)不在數(shù)組

級則剛好不剩。問臺階至少有幾階?(義件中,則輸出“無此數(shù)工(查找功能)

名:exam69.cpp)#include<stdio.h>

#inckide<stdio.h>voidmain()

voidmain()(

{inta[15],i,j,k,sum=0;

longinti;for(i=0;i<!5;i++)

for(i=0;i<l0000;i++){

{printf("請輸入第%d個整數(shù):",i+1);

scanf("%d",&a[i]);

if(i%2==1&&i%3==2&&i%4==3&&i%5==4&&i%6=}

=5&&i%7==0)prirtfCAn");

break;prii:tf("請輸入,個你要查找的整數(shù))

)scanfC'%d",&j);

primf("臺階至少有%ld階!\n",i);for(k=0;k<15;k++)

)|

if(a[k]==j)

實驗項目名稱——實驗5:數(shù)組{

1、輸入10個整數(shù),排序(升序或降序)輸出。printf("%d是數(shù)據(jù)庫中的第%d個數(shù)

\n"J.k+l);

SU1T1++;2、給他年、月、日,計算該日是該年的第幾天

#include<stdio.h>

intleap(inty)

if(sum==O){

primff數(shù)據(jù)庫中無此數(shù)\n");relurn(y%400==0)||(y%4==0&&y%l00!=0)?1:0;

printf("\n");)

intlegaKinty,inlm,inld)

(

實驗項目名稱——造6;函數(shù)intlimit=31;

1、驗證歌德巴赫猜想(要求寫出判別素數(shù)的函數(shù))if(d<l||m<l||m>12)

#inckide<stdio.h>return0;

#include<math.h>switch(m)

charprime(intk)(

(case4:

charresult='y';case6:

intn,i;case9:

n=(int)sqrt(k);case11:

for(i=2;i<=n;i++)limit—;

()

if(k%i==O)if(m==2)

(limit=leap(y)==l?29:28;

resull='n';retum(d>Iimit)?O:l;

break;)

Ivoidmain(void)

)(

returnresult;inty,m,d,i,sum=0;

}intmonth[l2]={0,31,28,31,30,31,30,31,31,30,31,30);

voidmain(void)prirUC請輸入一個年份數(shù)據(jù),如2007-5-15,請輸入:

{");

intn,a;loop:scanf("%d-%d-%d",&y,&m,&d);

loop:prinlf("請輸入大于6的偶數(shù),n="):if(legal(y,m,d)==l)

scanf("%d",&n);

if(n<6||n%2!=0)if(leap(y)==l)

month[2]++;

prime數(shù)據(jù)輸入錯誤,請重新輸入\n)fbr(i=l;i<m;i++)

gotoloop;sum+=month[i];

)sum+=d;

elseprintf("這是%(1年的第%d天\n",y,sum);

(I

for(a=3;a<n/2;a+=2)else

if(priinc(a)=='y'&&primc(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論