青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)
《青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)》由會(huì)員分享,可在線閱讀,更多相關(guān)《青島科技大學(xué)C語(yǔ)言上機(jī)實(shí)驗(yàn)(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 C語(yǔ)言程序?設(shè)計(jì)上機(jī)安?排 C語(yǔ)言上機(jī)?實(shí)驗(yàn):32學(xué)時(shí) 序號(hào) 實(shí)驗(yàn)項(xiàng)目名?稱 內(nèi)容提要 學(xué)時(shí)數(shù) 1 上機(jī)操作初?步 熟悉VC++語(yǔ)言上機(jī)環(huán)?境;了解如何編?輯、編譯、連接和運(yùn)行?一個(gè)C程序?。 2 2 簡(jiǎn)單的C程?序設(shè)計(jì) 掌握C語(yǔ)言?的數(shù)據(jù)類型?;學(xué)會(huì)使用C?語(yǔ)言的運(yùn)算?符及表達(dá)式?;掌握不同數(shù)?據(jù)類型的輸?入輸出方法?。掌握復(fù)制語(yǔ)?句的使用、各種數(shù)據(jù)類?型數(shù)據(jù)輸入?輸出方法、格式轉(zhuǎn)換符?。 4 3 選擇結(jié)構(gòu)程?序設(shè)計(jì) 正確使用邏?輯運(yùn)算符和?邏輯表達(dá)式?、if語(yǔ)句、switc?h語(yǔ)句 2 4 循環(huán)結(jié)構(gòu)程?序設(shè)計(jì) 熟悉whi?le語(yǔ)句、do-wh
2、ile?語(yǔ)句、for語(yǔ)句?實(shí)現(xiàn)一些算?法 4 5 綜合實(shí)驗(yàn)1?:結(jié)構(gòu)化程序?設(shè)計(jì) 2 6 函數(shù)程序設(shè)?計(jì) 掌握函數(shù)定?義的方法、實(shí)參與形參?對(duì)應(yīng)關(guān)系、全局變量和?局部變量的?使用 4 7 數(shù)組程序設(shè)?計(jì) 掌握一維二?維數(shù)組的定?義賦值和輸?入輸出、字符數(shù)組和?字符串?dāng)?shù)組?使用、數(shù)組的算法?-排序 4 8 指針程序設(shè)?計(jì) 掌握定義和?使用指針、使用數(shù)組指?針、字符串指針?、函數(shù)指針 2 9 綜合實(shí)驗(yàn)2?:函數(shù)、數(shù)組、指針的綜合?應(yīng)用 2 10 綜合實(shí)驗(yàn)3?:結(jié)構(gòu)體、文件程序設(shè)?計(jì) 小型綜合應(yīng)?用實(shí)例設(shè)計(jì)? 4 11 考試模擬練?習(xí) 掌握
3、C語(yǔ)言?考試系統(tǒng)的?使用 2 實(shí)驗(yàn)一 上機(jī)操作初?步(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟悉VC++語(yǔ)言的上機(jī)?環(huán)境及上機(jī)?操作過(guò)程。 2、了解如何編?輯、編譯、連接和運(yùn)行?一個(gè)C程序?。 3、初步了解C?程序的特點(diǎn)?。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前三題為必?做題目,后兩題為選?做題目。 1、輸出入下信?息:(實(shí)驗(yàn)指導(dǎo)書(shū)?P79) ************************* Very Good ****************
4、********* 2、計(jì)算兩個(gè)整?數(shù)的和與積?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P81) 3、從鍵盤(pán)輸入?一個(gè)角度的?弧度值x,計(jì)算該角度?的余弦值,將計(jì)算結(jié)果?輸出到屏幕?。(書(shū)P3) 4、在屏幕上顯?示一個(gè)文字?菜單模樣的?圖案: ================================= 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù) 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù) ================================= 5、從鍵盤(pán)上輸?入兩個(gè)整數(shù)?,交換這
5、兩個(gè)?整數(shù)。
四、實(shí)驗(yàn)步驟與?過(guò)程:
1、試驗(yàn)指導(dǎo)書(shū)?P79
#inclu?de
6、 c=a+b; d=a*b; print?f("c is %d",c); print?f("d is %d",d); } 2、實(shí)驗(yàn)指導(dǎo)書(shū)?P81計(jì)算?兩個(gè)整數(shù)的?和與積。 #inclu?de"stdio?.h" void main() { int x,y; print?f("pleas?e input? x,y:\n"); scanf?("%d,%d",&x,&y); print?f("x+y=%d\n",x+y); print?f("x*y=%d\n",x*y); } 3、課本P3,從鍵盤(pán)輸入?一個(gè)角度的?弧度值x,計(jì)算該角度?的余弦
7、值,將計(jì)算結(jié)果?輸出到屏幕?。 #inclu?de"stdio?.h" #inclu?de"math.h" void main() {doubl?e x,s; print?f("pleas?e input? value? of x:"); scanf?("%lf",&x); s=cos(x); print?f("cos(%lf)=%lf\n",x,s); }注意:lf是長(zhǎng)整?型變量或函?數(shù),另外由于在?編寫(xiě)過(guò)程中?用到了數(shù)學(xué)?問(wèn)題,所以要加#inclu?de"math.h" 4、在屏幕上顯?示一個(gè)文字?菜單模樣的?圖案: ============
8、===================== 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù) 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù) ================================= #inclu?de"stdio?.h" void main() { print?f("============================\n"); print?f("1 輸入數(shù)據(jù) 2 修改數(shù)據(jù)\n"); print?f("3 查詢數(shù)據(jù) 4 打印數(shù)據(jù)\n"
9、);
print?f("============================\n");
}
5、從鍵盤(pán)上輸?入兩個(gè)整數(shù)?,交換這兩個(gè)?整數(shù)。
#inclu?de
10、、lf中l(wèi),不是I,是l。 5、 scanf?("%d %d",&a,&b);是關(guān)鍵,切勿錯(cuò)。 六、參考答案:(省略) 實(shí)驗(yàn)二 簡(jiǎn)單的C程?序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、掌握C語(yǔ)言?的數(shù)據(jù)類型?。 2、學(xué)會(huì)使用C?語(yǔ)言的運(yùn)算?符及表達(dá)式?。 3、掌握不同數(shù)?據(jù)類型的輸?入輸出方法?。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前四題為必?做題目,后兩題為選?做題目。 1、輸入r1、r2,求出圓形墊?片面積。(實(shí)驗(yàn)指導(dǎo)書(shū)?P84) 2、輸入華氏溫?度h,輸出攝氏溫?度c。(實(shí)驗(yàn)指導(dǎo)書(shū)?P85
11、)
3、從鍵盤(pán)輸入?一個(gè)3位整?數(shù),將輸出該數(shù)?的逆序數(shù)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P89)
4、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。
#inclu?de
12、j=10;
print?f(“%d,%d\n”,i++,i);
}
5、輸入三角形?三條邊的邊?長(zhǎng),求三角形的?面積。(書(shū)P55)
6、輸入3個(gè)字?符型數(shù)據(jù),將其轉(zhuǎn)換成?相應(yīng)的整數(shù)?后,求它們的平?均值并輸出?。(書(shū)P55)
四、實(shí)驗(yàn)步驟與?過(guò)程:
1、輸入r1、r2,求出圓形墊?片面積。(實(shí)驗(yàn)指導(dǎo)書(shū)?P84)
#inclu?de
13、canf?("%f %f",&r1,&r2);
s2=r2*r2*p;
s1=r1*r1*p;
s=s2-s1;
print?f("s=%lf\n",s);
}
2、輸入華氏溫?度h,輸出攝氏溫?度c。(實(shí)驗(yàn)指導(dǎo)書(shū)?P85)
#inclu?de
14、89)
#inclu?de
15、 i=8; j=10; print?f(“%d,%d\n”,++i,++j); i=8; j=10; print?f(“%d,%d\n”,i++,j++); i=8; j=10; print?f(“%d,%d\n”,++i,i); i=8; j=10; print?f(“%d,%d\n”,i++,i); } 結(jié)果9,11 8,10 9,8 8,8 5、輸入三角形?三條邊的邊?長(zhǎng),求三角形的?面積。(書(shū)P55) #inclu?de"stdio?.h" #incl
16、u?de "math.h" void main() { int a,b,c; doubl?e area,s; scanf?("%d,%d,%d",&a,&b,&c); s=(doubl?e)(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); print?f("area=%.2lf",area); } 6、輸入3個(gè)字?符型數(shù)據(jù),將其轉(zhuǎn)換成?相應(yīng)的整數(shù)?后,求它們的平?均值并輸出?。(書(shū)P55) #inclu?de"stdio?.h" void main() {
17、 char a,b,c; float? x; print?f("pleas?e enter?:\n"); scanf?("%c%c%c",&a,&b,&c); x=(a+b+c)/3.0; print?f("(a+b+c)/3=%.2f\n",x); } 五、實(shí)驗(yàn)調(diào)試記?錄: 1、“p 3.14”中p為小寫(xiě)?,非大寫(xiě)! 2、float?為單精度,不是int?\doubl?e\型! 3、a=x/100; b=x/10-a*10; c=x/1-a*100-b*10; y=c*100+b*10+a; 數(shù)字的交換?!是整型,int。 4、
18、i=8; j=10; print?f(“%d,%d\n”,++i,++j);中 ++i,++j為先增加?1,再相應(yīng)的使?用i,j.故結(jié)果i=9,j=11. i=8; j=10; print?f(“%d,%d\n”,i++,j++); 中i++,j++為先使用i?,j;再增加1,故結(jié)果為i?=8; j=10. 5、sqrt中?是q,不是p. 六、參考答案:(省略) 實(shí)驗(yàn)三 選擇結(jié)構(gòu)程?序設(shè)計(jì)(2學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟練掌握i?f語(yǔ)句和s?witch?語(yǔ)句。 2、練習(xí)并掌握?多分支選擇?結(jié)構(gòu)的
19、編程?方法。 3、學(xué)習(xí)調(diào)試和?修改程序的?步驟。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前三題為必?做題目,后兩題為選?做題目。 1、讀入3個(gè)分?別表示箱子?長(zhǎng)、寬、高的整數(shù)值?,判斷并輸出?該箱子是立?方體還是長(zhǎng)?方體。(實(shí)驗(yàn)指導(dǎo)書(shū)?P104) 2、輸入某一年?月,輸出該月的?天數(shù)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P105) 3、有一函數(shù): x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10) 編寫(xiě)程序,輸入x值,輸出y值。 4、從鍵盤(pán)輸入?一個(gè)字符,如果該字符?為小寫(xiě)字母?,則轉(zhuǎn)換為大?寫(xiě)字母輸出?;如果該字符
20、?為大寫(xiě)字母?,則轉(zhuǎn)換為小?寫(xiě)字母輸出?;如果為其他?字符,原樣輸出。(書(shū)P94) 5、輸入4個(gè)整?數(shù),要求按由小?到大的順序?輸出。 四、實(shí)驗(yàn)步驟與?過(guò)程: 1、讀入3個(gè)分?別表示箱子?長(zhǎng)、寬、高的整數(shù)值?,判斷并輸出?該箱子是立?方體還是長(zhǎng)?方體。(實(shí)驗(yàn)指導(dǎo)書(shū)?P104) #inclu?de"stdio?.h" void main() { int l,w,h; print?f("請(qǐng)輸入箱子?的長(zhǎng)、寬、高:\n"); scanf?("%d%d%d",&l,&w,&h); if (l==w&&w==h&&h==l) prin
21、t?f("該箱子是立?方體。"); else print?f("該箱子是長(zhǎng)?方體。"); } 2、輸入某一年?月,輸出該月的?天數(shù)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P105) #inclu?de"stdio?.h" void main() { int year,month?,days; print?f("pleas?e enter? year and month?:\n"); scanf?("%d%d",&year,&month?); switc?h(month?) { case 2:if(year%400==0||(yea
22、r%4==0&&year%100!=0)) days=29; else days=28; break?; case 1: case 3: case 5: case 7: case 8: case 10: case 12:days=31; break?; case 4: case 6: case 9: case 11:days=30; break?; } print?f("該月的天數(shù)?為:%d\n",days); } 3、有
23、一函數(shù): x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10) 編寫(xiě)程序,輸入x值,輸出y值。 #inclu?de"stdio?.h" void main() { int x,y; scanf?("%d",&x); if (x<1) y=x; if (1<=x&&x<10) y=2*x-1; if (x>=10) y=3*x-11; print?f("y=%d\n",y); } 4、從鍵盤(pán)輸入?一個(gè)字符,如果該字符?為小寫(xiě)字
24、母?,則轉(zhuǎn)換為大?寫(xiě)字母輸出?;如果該字符?為大寫(xiě)字母?,則轉(zhuǎn)換為小?寫(xiě)字母輸出?;如果為其他?字符,原樣輸出。(書(shū)P94) #inclu?de"stdio?.h" void main() { char x; print?f("Enter? a char:\n"); x=getch?ar(); if((x>=a)&&(x<=z)) x-=a-A; else if((x>=A)&&(x<=Z)) x+=a-A; putch?ar(x); } 5、輸入4個(gè)整?數(shù),要求按由小?到大的順序?輸出 #inclu?de"stdio?.h
25、" void main() { int a,b,c,d,t; print?f("請(qǐng)輸入四個(gè)?整數(shù):\n"); scanf?("%d %d %d %d",&a,&b,&c,&d); if (a>b) {t=a,a=b,b=t;} if (a>c) {t=a,a=c,c=t;} if (a>d) {t=a,a=d,d=t;} if (b>c) {t=b,b=c,c=t;} if (b>d) {t=b,b=d,d=t;} if (c>d) {t=c,c=d,d=t;} print?f("%d,%d,%d,%d\
26、n",a,b,c,d); } 五、實(shí)驗(yàn)調(diào)試記?錄: 1\ if (l==w&&w==h&&h==l)判斷該箱子?是否為正方?體。 2、switc?h(month?)為一典型的?嵌套結(jié)構(gòu),再該嵌套結(jié)?構(gòu)的結(jié)束時(shí)?要記得加上?break?,否則無(wú)法跳?出該嵌套?。? if(year%400==0||(year%4==0&&year%100!=0))該語(yǔ)句為判?斷該年是否?為閏年。 3\ifd的循?環(huán)結(jié)構(gòu),判斷清楚當(dāng)?滿足什么條?件時(shí)執(zhí)行該?語(yǔ)句,if d嵌套的前?提是再滿足?上個(gè)if條?件的情況下?執(zhí)行該個(gè)i?f。 4、char為?字符型,獲取一字符?用char?類型。 5、if (
27、a>b) {t=a,a=b,b=t;} if (b>c) {t=b,b=c,c=t;} if (c>d) {t=c,c=d,d=c;} 并列if 判斷句,從上到下依?次執(zhí)行。 六、參考答案:(省略) 實(shí)驗(yàn)四 循環(huán)結(jié)構(gòu)程?序設(shè)計(jì)(4學(xué)時(shí)) 一、實(shí)驗(yàn)方式:一人一機(jī) 二、實(shí)驗(yàn)?zāi)康模? 1、熟練掌握w?hile語(yǔ)?句、do-while?語(yǔ)句和fo?r語(yǔ)句。 2、練習(xí)并掌握?循環(huán)結(jié)構(gòu)的?嵌套形式。 3、掌握循環(huán)結(jié)?構(gòu)的程序設(shè)?計(jì)方法。 三、實(shí)驗(yàn)內(nèi)容: 說(shuō)明:前四題為必?做題目,后兩題為選?做題目。 1、
28、從鍵盤(pán)上輸?入若干個(gè)學(xué)?生的成績(jī),統(tǒng)計(jì)并輸出?最高成績(jī)和?最低成績(jī),當(dāng)輸入負(fù)數(shù)?時(shí)結(jié)束輸入?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P117) 2、求所有的水?仙花數(shù)。水仙花數(shù)是?一個(gè)3位數(shù)?的自然數(shù),該數(shù)各位數(shù)?的立方和等?于該數(shù)本身?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P118) 3、判斷輸入的?某個(gè)數(shù)是否?為素?cái)?shù)。若是,輸出YES?,否則輸出N?O。(書(shū)P123?) 4、計(jì)算π的近?似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一?項(xiàng)的絕對(duì)值?小于10-6為止。(書(shū)P123?) 5、計(jì)算 s=1!+2!+……+20! 的值并輸出?。 6、輸入10個(gè)?整數(shù),統(tǒng)計(jì)并輸出?其中正數(shù)、負(fù)數(shù)和零的?個(gè)數(shù)。 四
29、、實(shí)驗(yàn)步驟與?過(guò)程:
1、從鍵盤(pán)上輸?入若干個(gè)學(xué)?生的成績(jī),統(tǒng)計(jì)并輸出?最高成績(jī)和?最低成績(jī),當(dāng)輸入負(fù)數(shù)?時(shí)結(jié)束輸入?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P117)
#inclu?de"stdio?.h"
void main()
{
float? x,max,min;
print?f("pleas?e input? score?s:\n");
scanf?("%f",&x);
max=min=x;
while?(x>=0)
{
if(x>max) max=x;
if(x 30、?("%f",&x);
}
print?f("\nmax=%f\nmin=%f\n",max,min);
}
2、求所有的水?仙花數(shù)。水仙花數(shù)是?一個(gè)3位數(shù)?的自然數(shù),該數(shù)各位數(shù)?的立方和等?于該數(shù)本身?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P118)
#inclu?de"stdio?.h"
void main()
{
int x,y,z;
int k=100;
while?(k<=999)
{
x=k/100;
y=(k-x*100)/10;
z=(k-x*100-y*10);
if(k==x*x 31、*x+y*y*y+z*z*z)
print?f("%d\n",k);
k++;
}
3、判斷輸入的?某個(gè)數(shù)是否?為素?cái)?shù)。若是,輸出YES?,否則輸出N?O。(書(shū)P123?)
#inclu?de"math.h"
void main()
{
int i,x,yes,a;
print?f("Enter? integ?er numbe?r:");
scanf?("%d",&x);
yes=1;
i=2;
a=sqrt(x);
while?(yes&&i<=a)
{
if(x%i==0)yes=0;
i=i+1;
32、 }
print?f("%d\n",x);
if(yes)
print?f("YES\n");
else
print?f("NO\n");
}
}
4、計(jì)算π的近?似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一?項(xiàng)的絕對(duì)值?小于10-6為止。(書(shū)P123?)
#inclu?de"math.h"
void main()
{
float? pi,t,n;
int sign=1;
pi=0.0;n=1.0;t=1.0;
while?(fabs(t)>=1e-6)
{ t=sign/n;
pi 33、+=t;
n+=2;
sign=-sign;
}
pi=pi*4;
print?f("pi=%f\n",pi);
}
5、計(jì)算 s=1!+2!+……+20! 的值并輸出?。
#inclu?de"stdio?.h" #inclu?de"stdio?.h"
void main()
{
int i,j;
doubl?e m,sum=0;
for(i=1;i<=20;i++)
{
for 34、(j=1,m=1;j<=i;j++)
m*=j;
sum+=m;
}
print?f("%.0lf\n",sum);
6、輸入10個(gè)?整數(shù),統(tǒng)計(jì)并輸出?其中正數(shù)、負(fù)數(shù)和零的?個(gè)數(shù)。
#inclu?de"stdio?.h"
void main()
{
int a,b,c,x,i;
a=0;
b=0;
c=0;
print?f("請(qǐng)輸入十個(gè)?整數(shù):\n");
scanf?("%d",&x);
for(i=1;i<=10;i++)
{
if(x==0)
a++;
if(x>0)
b++;
if(x 35、<0)
c++;
scanf?("%d",&x);
}
print?f("零:%d,正數(shù):%d,負(fù)數(shù):%d\n",a,b,c);
}
}五、實(shí)驗(yàn)調(diào)試記?錄:
1\while?(x>=0)后無(wú)‘;’!float? x,max,min; float?單精度。
2、x=k/100;
y=(k-x*100)/10;
z=(k-x*100-y*10);
依次求出該?數(shù)的百、十、個(gè)位:x,y,z.
if(k==x*x*x+y*y*y+z*z*z)判斷該數(shù)是?否為水仙花?數(shù)。
3、a=sqrt(x)為開(kāi)平方語(yǔ)?句、sqrt。該語(yǔ)句在i?nt(整型 36、)語(yǔ)句中執(zhí)行?。
4、fabs(t)為求實(shí)數(shù)t?的絕對(duì)值。1e-6為1乘以?1的0(-6)次方。sign=-sign分?子交換正負(fù)?值。
5、for(i=1;i<=20;i++)
{
for(j=1,m=1;j<=i;j++)
為循環(huán)的嵌?套for(j=1,m=1;j<=i;j++)語(yǔ)句為在滿?足for(i=1;i<=20;i++)語(yǔ)句的前提?下執(zhí)行。
6、for(i=1;i<=10;i++)
{
if(x==0)
a++;
if(x>0)
b++;
if(x<0)
c++;
循環(huán)判斷語(yǔ)?句,i限制循環(huán)?的次數(shù)為1?0 37、.
六、參考答案:(省略)
實(shí)驗(yàn)五 綜合實(shí)驗(yàn)1?:結(jié)構(gòu)化程序?設(shè)計(jì)(2學(xué)時(shí))
一、實(shí)驗(yàn)方式:一人一機(jī)
二、實(shí)驗(yàn)?zāi)康模?
1、進(jìn)一步掌握?選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的?編程特點(diǎn)。
2、掌握C語(yǔ)言?的結(jié)構(gòu)化程?序設(shè)計(jì)思想?。
3、學(xué)習(xí)利用循?環(huán)結(jié)構(gòu)實(shí)現(xiàn)?的一些常用?算法(如窮舉、迭代、遞推等)。
三、實(shí)驗(yàn)內(nèi)容:
說(shuō)明:前兩題為必?做題目,后兩題為選?做題目。
1、編一程序,對(duì)于給定的?一個(gè)百分制?成績(jī),輸出對(duì)應(yīng)A?,B,C,D,E表示的的?等級(jí)成績(jī)。設(shè):90分以上?為A,80-89分為B?,70-79分為C?,60-69分 38、為D?,60分以下?為E。(書(shū)P93)
2、百馬百擔(dān)問(wèn)?題。(實(shí)驗(yàn)指導(dǎo)書(shū)?P121)
3、輸入一行字?符,分別統(tǒng)計(jì)出?其中英文字?母、空格、數(shù)字和其他?字符的個(gè)數(shù)?。
4、輸出如下圖?案: *
***
*****
*******
*****
***
*
四、實(shí)驗(yàn)步驟與?過(guò)程:
1、編一程序,對(duì)于給定的?一個(gè)百分制?成績(jī),輸出對(duì)應(yīng)A?,B 39、,C,D,E表示的的?等級(jí)成績(jī)。設(shè):90分以上?為A,80-89分為B?,70-79分為C?,60-69分為D?,60分以下?為E。(書(shū)P93)
int score?,temp,logic?;
char grade?;
logic?=1;
while?(logic?)
{ print?f("Input? Score?:");
scanf?("%d",&score?);
if((score?>=100)||(score?==0))
print?f("\n Error?,Input? again?!\n" 40、);
else
logic?=0;
print?f("\n");
}
if(score?==100)
temp=9;
else
temp=(score?-score?%10)/10;
switc?h(temp)
{ case 9:grade?=A;break?;
case 8:grade?=B;break?;
case 7:grade?=C;break?;
case 6:grade?=D;break?;
case 5:
41、 case 4:
case 3:
case 2:
case 1:
case 0:grade?=E;
}
print?f("Score? is:%d,the grade? is:%c\n",score?,grade?);
}
2、百馬百擔(dān)問(wèn)?題。(實(shí)驗(yàn)指導(dǎo)書(shū)?P121)
#inclu?de"stdio?.h"
void main()
{
int m,n,k;
int sum=0;
print?f("各種駝法如?下:\n");
for(m=1;m<=100;m++)
for( 42、n=1;n<=100-m;n++)
{ k=100-m-n;
if(m*3+n*2+k/2==100&&k%2==0)
{
print?f("大馬%3d匹;中馬%3d匹;小馬%3d匹.\n",m,n,k);
sum++;
}
}
print?f("共有%d種馱法.\n",sum);
}
3、輸入一行字?符,分別統(tǒng)計(jì)出?其中英文字?母、空格、數(shù)字和其他?字符的個(gè)數(shù)?。
#inclu?de"stdio?.h"
void main()
{
char c;
int le 43、tte?r=0,space?=0,digit?=0,other?=0;
print?f("請(qǐng)輸入一行?字符:\n");
while?((c=getch?ar())!=\n)
{
if(c>=a&&c<=z||c>=A&&c<=Z)
lette?r++;
else if(c= )
space?++;
else if(c>=0&&c<=9)
digit?++;
else
other?++;
}
print?f("lette?r:%d,space? 44、:%d,digit?:%d,other?:%d\n",lette?r,space?,digit?,other?);
}
4、輸出如下圖?案: *
***
*****
*******
*****
***
*
#inclu?de"stdio?.h"
void main()
{
int k,k1,k2;
45、for(k=1;k<=4;k++)
{
for(k1=1;k1<=20-k;k1++) print?f(" ");
for(k2=1;k2<=k*2-1;k2++) print?f("*");
print?f("\n");
}
for(k=3;k>0;k--)
{
for(k1=1;k1<=20-k;k1++) print?f(" ");
for(k2=1;k2<=2*k-1;k2++) print?f("*");
print?f("\n");
}
}
五、實(shí)驗(yàn)調(diào)試記?錄:
1 46、、switc?h(temp)嵌套,正確運(yùn)用。
3、while?((c=getch?ar())!=\n)關(guān)鍵語(yǔ)句。獲取字符。
4、for(k=1;k<=4;k++)
{
for(k1=1;k1<=20-k;k1++) print?f(" ");
for(k2=1;k2<=k*2-1;k2++) print?f("*");
print?f("\n");
}
for(k=3;k>0;k--)
{
for(k1=1;k1<=20-k;k1++) print?f(" ");
for(k2=1;k2<=2*k-1 47、;k2++) print?f("*");
循環(huán)的嵌套?,打印出預(yù)定?*。
六、參考答案:(
實(shí)驗(yàn)六 函數(shù)程序設(shè)?計(jì)(4學(xué)時(shí))
一、實(shí)驗(yàn)方式:一人一機(jī)
二、實(shí)驗(yàn)?zāi)康模?
1、掌握C語(yǔ)言?中函數(shù)的三?要素:函數(shù)定義、函數(shù)調(diào)用和?函數(shù)說(shuō)明。
2、掌握通過(guò)參?數(shù)在函數(shù)間?傳遞數(shù)據(jù)的?方法。
3、掌握全局變?量、局部變量、動(dòng)態(tài)變量、靜態(tài)變量的?概念和使用?方法。
三、實(shí)驗(yàn)內(nèi)容:
說(shuō)明:前四題為必?做題目,后兩題為選?做題目。
1、從鍵盤(pán)輸入?三角形的3?條邊,調(diào)用三角形?面積函數(shù)求?出其面積,并輸出結(jié)果?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P130)
2、輸入 48、整數(shù)n?,輸出高度為?n的等邊三?角形。當(dāng)n=5時(shí)的等邊?三角形如下?:(實(shí)驗(yàn)指導(dǎo)書(shū)?P134)
*
***
*****
*******
*********
3、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。
#inclu?de 49、z=x+y;
retur?n (z);
}
4、求500以?內(nèi)的所有親?密數(shù)對(duì)。若正整數(shù)A?的所有因子?(包括1但不?包括自身,下同)之和為B,而B(niǎo)的因子?之和為A,則稱A和B?為一對(duì)親密?數(shù)對(duì)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P136)
5、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。
#inclu?de 50、{ int a=3;
print?f(“%d ”,fun(a+fun(d)));
}
6、設(shè)計(jì)一個(gè)函?數(shù),輸出整數(shù)n?的所有素?cái)?shù)?因子。(書(shū)P157?)
四、實(shí)驗(yàn)步驟與?過(guò)程:
1、從鍵盤(pán)輸入?三角形的3?條邊,調(diào)用三角形?面積函數(shù)求?出其面積,并輸出結(jié)果?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P130)
#inclu?de"math.h"
#inclu?de"stdio?.h"
float? area(float? a,float? b,float? c)
{
float? s,p,area;
p=(a+b+c)/2;
s=p*(p-a)*(p 51、-b)*(p-c);
area=sqrt(s);
retur?n(area);
}
main()
{
float? x,y,t,ts;
scanf?("%f%f%f",&x,&y,&t);
if(x>0&&y>0&&t>0&&x+y>t&&x+t>y&&t+y>x)
{ts=area(x,y,t);
print?f("area=%f\n",ts);
}
else
print?f("data error?!\n");
}
2、輸入整數(shù)n?,輸出高度為?n的等邊三?角形。當(dāng)n=5時(shí) 52、的等邊?三角形如下?:(實(shí)驗(yàn)指導(dǎo)書(shū)?P134)
*
***
*****
*******
*********
#inclu?de"stdio?.h"
void trang?le(int n)
{
int i,j;
for(i=0;i 53、 main()
{
int n;
print?f("Pleas?e enter? n:\n");
scanf?("%d",&n);
print?f("\n");
trang?le(n);
}
3、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。
#inclu?de 54、s(int x,int y)
{ int z;
z=x+y;
retur?n (z);
}
結(jié)果a+b=9; int a=5;int b=7;為全局變量?,int a=4,b=5,c;為局部變量?,而局部變量?的優(yōu)先級(jí)比?全局變量的?優(yōu)先級(jí)高,故只算a=4,b=5,時(shí)的a,b值,所以結(jié)果a?+b=9。
4、求500以?內(nèi)的所有親?密數(shù)對(duì)。若正整數(shù)A?的所有因子?(包括1但不?包括自身,下同)之和為B,而B(niǎo)的因子?之和為A,則稱A和B?為一對(duì)親密?數(shù)對(duì)。(實(shí)驗(yàn)指導(dǎo)書(shū)?P136)
#inclu?de"stdio?.h"
int facsu?m(int m)
{
55、 int sum=1,f=2;
while?(f<=m/2)
{
if(m%f==0) sum+=f;
f++;
}
retur?n sum;
}
main()
{
int m=3,n,k;
while?(m<=500)
{
n=facsu?m(m);
k=facsu?m(n);
if(m==k&&m<=k)
print?f("%d,%d\n",m,n);
m++;
}
}
5、輸入并運(yùn)行?以下程序,分析運(yùn)行結(jié)?果。
#inclu?de < 56、stdio?.h>
int d=1;
fun(int p)
{ stati?c int d=5;
d+=p;
print?f(“%d ”,d);
retur?n (d);
}
void main( )
{ int a=3;
print?f(“%d ”,fun(a+fun(d)));
}
6、設(shè)計(jì)一個(gè)函?數(shù),輸出整數(shù)n?的所有素?cái)?shù)?因子。(書(shū)P157?)
#inclu?de"stdio?.h"
int prime?(int n)
{
int 57、 i,flag=1;
for(i=2;i<=n/2;i++)
if(n%i==0)
{ flag=0;
retur?n flag;
}
retur?n flag;
}
void facto?r(int n)
{ int i;
i=2;
while?(i<=n)
{ if((n%i==0)&&prime?(i))
{print?f("%d \n",i);
n=n/i;
conti?nue;
}
i++;
}
}
ma 58、in()
{
int num;
print?f("Enter? num:");
scanf?("%d",&num);
print?f("primr? facto?r is:\n");
facto?r(num);
}
五、實(shí)驗(yàn)調(diào)試記?錄:
5、結(jié)果6 15 15.局部變量掩?蓋整體變量?。
6、d:\10020?10806?寧加彬?qū)嶒?yàn)?.doc\10020?10806?--應(yīng)化-108.do\6-06.c(13) : error? C2449?: found? { at file scope? (missi?ng funct?ion heade?r?)
d 59、:\10020?10806?寧加彬?qū)嶒?yàn)?.doc\10020?10806?--應(yīng)化-108.do\6-06.c(24) : error? C2059?: synta?x error? : }
Error? execu?ting cl.exe.
6-06.obj - 2 error?(s), 0 warni?ng(s)
六、參考答案:(省略)
實(shí)驗(yàn)七 數(shù)組程序設(shè)?計(jì)(4學(xué)時(shí))
一、實(shí)驗(yàn)方式:一人一機(jī)
二、實(shí)驗(yàn)?zāi)康模?
1、掌握數(shù)組的?定義、賦值和輸入?輸出的方法?。
2、學(xué)習(xí)用 60、數(shù)組?實(shí)現(xiàn)相關(guān)的?算法(特別是排序?算法)。
3、掌握C語(yǔ)言?中字符數(shù)組?和字符串處?理函數(shù)的使?用。
三、實(shí)驗(yàn)內(nèi)容:
說(shuō)明:前四題為必?做題目,后兩題為選?做題目。
1、下列程序的?功能是:輸入10個(gè)?整數(shù),按每行3個(gè)?數(shù)輸出這些?整數(shù),最后輸出1?0個(gè)整數(shù)的?平均值。程序中有幾?處錯(cuò)誤,試找出它們?后加以修改?,并上機(jī)驗(yàn)證?修改結(jié)果。
#inclu?de 61、?(“%d”,&a[i]);
for(if(i%3==0) print?f(“\n”);
print?f(“%d=0;i 62、?的字符串。(實(shí)驗(yàn)指導(dǎo)書(shū)?P153)
4、輸入一個(gè)3?行3列矩陣?的所有元素?,然后求出主?對(duì)角線元素?之和。
5、給定某年某?月某日,將其轉(zhuǎn)換成?這一年的第?幾天并輸出?。(實(shí)驗(yàn)指導(dǎo)書(shū)?P152)
6、編寫(xiě)程序,在有序的數(shù)?列中查找某?數(shù),若該數(shù)在此?數(shù)列中,則輸出它所?在的位置,否則輸出n?o found?。(書(shū)P191?)
四、實(shí)驗(yàn)步驟與?過(guò)程:
1、下列程序的?功能是:輸入10個(gè)?整數(shù),按每行3個(gè)?數(shù)輸出這些?整數(shù),最后輸出1?0個(gè)整數(shù)的?平均值。程序中有幾?處錯(cuò)誤,試找出它們?后加以修改?,并上機(jī)驗(yàn)證?修改結(jié)果。
#inclu?de 63、oid main( )
{ int i,n,a[10],avg;
n=10;
for(i=0;i 64、對(duì)輸入的1?0個(gè)整數(shù)按?從小到大的?順序排序(升序,用冒泡排序?實(shí)現(xiàn))。(實(shí)驗(yàn)指導(dǎo)書(shū)?P147)
#inclu?de 65、入十個(gè)?整數(shù):");
for(i=0;i<10;i++)
scanf?("%d",&a[i]);
sortl?(a,10);
print?f("排序后的輸?出為:\n");
for(i=0;i<10;i++)
print?f("%d \n",a[i]);
}
(1)題7.37 編寫(xiě)程序,用冒泡法對(duì)?20個(gè)整數(shù)?排序(按升序排序?)。
#inclu?de"stdio?.h"
#defin?e N 20
void main()
{ int data[N];
int i,j,t;
print?f("請(qǐng)輸入 %d 個(gè)整數(shù):\n" 66、,N);
for(i=0;i
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 隱蔽工程驗(yàn)收要點(diǎn)
- 給排水中水泵揚(yáng)程與壓力的關(guān)系
- 水泥廠燒成回轉(zhuǎn)窯中控操作問(wèn)題解答
- 地暖安裝注意事項(xiàng)
- 水泥廠中控操作自動(dòng)化專業(yè)試題(附答案)
- 防水套管的應(yīng)用與分類
- 施工現(xiàn)場(chǎng)職業(yè)健康管理制度
- 常見(jiàn)基坑工程的支護(hù)方式
- 水泥包裝車(chē)間各崗位職責(zé)
- 打樁機(jī)的種類
- 水泥磨操作員試題(附答案)
- 鋼結(jié)構(gòu)工程量計(jì)算注意事項(xiàng)
- 水泥控制工試題(附答案)
- 水泥生產(chǎn)工藝類知識(shí)考試題(附答案)-
- 鋼結(jié)構(gòu)安裝施工安全技術(shù)交底范文