C語言上機實驗 答案
《C語言上機實驗 答案》由會員分享,可在線閱讀,更多相關(guān)《C語言上機實驗 答案(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、實驗一 上機操作初步(2學(xué)時) 一、實驗方式:一人一機 二、實驗?zāi)康模? 1、熟悉VC++語言的上機環(huán)境及上機操作過程。 2、了解如何編輯、編譯、連接和運行一個C程序。 3、初步了解C程序的特點。 三、實驗內(nèi)容: 說明:前三題為必做題目,后兩題為選做題目。 1、輸出入下信息:(實驗指導(dǎo)書P79) ************************* Very Good ************************* 2、計算兩個整數(shù)的和與積。(實驗指導(dǎo)書P81) 3
2、、從鍵盤輸入一個角度的弧度值x,計算該角度的余弦值,將計算結(jié)果輸出到屏幕。(書P3) 4、在屏幕上顯示一個文字菜單模樣的圖案: ================================= 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù) 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù) ================================= 5、從鍵盤上輸入兩個整數(shù),交換這兩個整數(shù)。 四、實驗步驟與過程: 五、實驗調(diào)試記錄: 六、參考答案: 1、#
3、include
4、,&a,&b);
c=a+b; d=a*b;
printf(“%d+%d=%d\n”,a,b,c);
printf(“%d*%d=%d\n”,a,b,d);
}
3、#include
5、 printf(“cos(%lf)=%lf\n”,x,s);
}
4、#include
6、
5、#include
7、
3、掌握不同數(shù)據(jù)類型的輸入輸出方法。
三、實驗內(nèi)容:
說明:前四題為必做題目,后兩題為選做題目。
1、輸入r1、r2,求出圓形墊片面積。(實驗指導(dǎo)書P84)
2、輸入華氏溫度h,輸出攝氏溫度c。(實驗指導(dǎo)書P85)
3、從鍵盤輸入一個3位整數(shù),將輸出該數(shù)的逆序數(shù)。(實驗指導(dǎo)書P89)
4、輸入并運行以下程序,分析運行結(jié)果。
#include
8、; j=10;
printf(“%d,%d\n”,i++,j++);
i=8; j=10;
printf(“%d,%d\n”,++i,i);
i=8; j=10;
printf(“%d,%d\n”,i++,i);
}
5、輸入三角形三條邊的邊長,求三角形的面積。(書P55)
6、輸入3個字符型數(shù)據(jù),將其轉(zhuǎn)換成相應(yīng)的整數(shù)后,求它們的平均值并輸出。(書P55)
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include
9、 void main( )
{ float r1,r2;
double s1,s2,s;
printf(“Please enter r1,r2:\n”);
scanf(“%f%f”,&r1,&r2);
s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1;
printf(“s=%lf\n”,s);
}
2、#include
10、 printf(“請輸入華氏溫度:”);
scanf(“%f”,&h);
c=5.0/9*(h-32);
printf(“\n攝氏溫度:%f\n”,c);
}
3、#include
11、*100)/10; /*求x的十位數(shù)*/
c=x-a*100-b*10; /*求x的個位數(shù)*/
y=c*100+b*10+a;
printf(“%d:%d\n”,x,y);
}
4、運行結(jié)果:9,11
8,10
9,8
8,8
5、#include
12、 printf(“Please enter a,b,c:”);
scanf(“%d,%d,%d”,&a,&b,&c);
s=(double)(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“area=%.2lf\n”,area);
}
6、#include
13、 a=getchar(); b=getchar(); c=getchar(); x=(a+b+c)/3.0; printf(“(a+b+c)/3=%.2f\n”,x); } 實驗三 選擇結(jié)構(gòu)程序設(shè)計(2學(xué)時) 一、實驗方式:一人一機 二、實驗?zāi)康模? 1、熟練掌握if語句和switch語句。 2、練習(xí)并掌握多分支選擇結(jié)構(gòu)的編程方法。 3、學(xué)習(xí)調(diào)試和修改程序的步驟。 三、實驗內(nèi)容: 說明:前三題為必做題目,后兩題為選做題目。 1、讀入3個分別表示箱子長、寬、高的整數(shù)值,判斷并輸出該箱
14、子是立方體還是長方體。(實驗指導(dǎo)書P104) 2、輸入某一年月,輸出該月的天數(shù)。(實驗指導(dǎo)書P105) 3、有一函數(shù): x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10) 編寫程序,輸入x值,輸出y值。 4、從鍵盤輸入一個字符,如果該字符為小寫字母,則轉(zhuǎn)換為大寫字母輸出;如果該字符為大寫字母,則轉(zhuǎn)換為小寫字母輸出;如果為其他字符,原樣輸出。(書P94) 5、輸入4個整數(shù),要求按由小到大的順序輸出。 四、實驗步驟與過程: 五、實驗調(diào)試記錄: 六、參考答案: 1、#incl
15、ude
16、 { int year,month,days; printf(“Please enter year and month:\n”); switch(month) { case 2: if(year%4==0&&year%100!=0||year%400==0) days=29; else days=28; brea
17、k;
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;
}
printf(“%d年%d月有%d天\n”,year,month,days);
}
3、#include
18、 scanf(“%f”,&x);
if(x<1)
y=x;
else if(x<10)
y=2*x-1;
else
y=3*x-11;
printf(“y=%f\n”,y);
}
4、#include
19、 x=getchar();
if(x>=‘a(chǎn)’&&x<=‘z’)
x=x-32;
else if(x>=‘A’&&x<=‘Z’)
x=x+32;
putchar(x);
}
5、#include
20、>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; } printf(“排序結(jié)果如下:\n”); printf(“%d,%d,%d,%d\n”,a,b,c,d); } 實驗四 循環(huán)結(jié)構(gòu)程序設(shè)計(4學(xué)時) 一、實驗方式:一人一機
21、 二、實驗?zāi)康模? 1、熟練掌握while語句、do-while語句和for語句。 2、練習(xí)并掌握循環(huán)結(jié)構(gòu)的嵌套形式。 3、掌握循環(huán)結(jié)構(gòu)的程序設(shè)計方法。 三、實驗內(nèi)容: 說明:前四題為必做題目,后兩題為選做題目。 1、從鍵盤上輸入若干個學(xué)生的成績,統(tǒng)計并輸出最高成績和最低成績,當(dāng)輸入負(fù)數(shù)時結(jié)束輸入。(實驗指導(dǎo)書P117) 2、求所有的水仙花數(shù)。水仙花數(shù)是一個3位數(shù)的自然數(shù),該數(shù)各位數(shù)的立方和等于該數(shù)本身。(實驗指導(dǎo)書P118) 3、判斷輸入的某個數(shù)是否為素數(shù)。若是,輸出YES,否則輸出NO。(書P123) 4、計算π的近似值。公式如下:π/4=1-1/3+1/5-1/7
22、+……,直到最后一項的絕對值小于10-6為止。(書P123)‘
5、計算 s=1!+2!+……+20! 的值并輸出。
6、輸入10個整數(shù),統(tǒng)計并輸出其中正數(shù)、負(fù)數(shù)和零的個數(shù)。
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include
23、 while(x>=0)
{ if(x>max) max=x;
if(x
24、100;
y=(k-x*100)/10;
z=k-x*100-y*10;
if(k==x*x*x+y*y*y+z*z*z)
printf(“%d\n”,k);
k++;
}
}
3、#include
25、er number:”); scanf(“%d”,&x); yes=1; i=2; a=(int)sqrt((double)x); while(yes&&i<=a) { if(x%i==0) yes=0; i++; } printf(“%d”,x); if(yes) printf(“YES\n”); else printf(“NO\n”); } 4、#include
26、
27、
5、#include
28、;i<=10;i++) { printf(“\n請輸入第%d個數(shù):”,i); scanf(“%d”,&x); if(x>0) a1++; else if(x<0) b1++; else c1++; } printf(“整數(shù)有%d個,負(fù)數(shù)有%d個,零有%d個\n”,a1,b1,c1); } 實驗五 綜合實驗1:結(jié)構(gòu)化程序設(shè)計(2學(xué)時) 一、實驗方式:一人一機 二、實驗?zāi)康模? 1、進一步掌握選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)的編程特點。 2、掌握C語言的結(jié)構(gòu)化程序設(shè)計思想。 3、學(xué)習(xí)利用循環(huán)結(jié)構(gòu)實現(xiàn)的一些常用
29、算法(如窮舉、迭代、遞推等)。 三、實驗內(nèi)容: 說明:前兩題為必做題目,后兩題為選做題目。 1、編一程序,對于給定的一個百分制成績,輸出對應(yīng)A,B,C,D,E表示的的等級成績。設(shè):90分以上為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。(書P93) 2、百馬百擔(dān)問題。(實驗指導(dǎo)書P121) 3、輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其他字符的個數(shù)。 4、輸出如下圖案: * *** ***** *******
30、
*****
***
*
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include
31、ore>100||score<0) printf(“\nError,Input again!\n”); else logic=0; printf(“\n”); } if(score==100) temp=9; else temp=score/10; switch(temp) { case 9: grade=‘A’;break; case 8: grade=‘B’;break; case 7: grade=‘C’;break; case 6: grade=‘
32、D’;break;
default: grade=‘E’;
}
printf(“Score is %d,the grade is %c.\n”,score,grade);
}
2、#include
33、100-m-n;
if(k%2==0&&m*3+n*2+k/2==100)
{ printf(“大馬%3d匹;中馬%3d匹;小馬%3d匹.\n”,m,n,k);
sum++;
}
}
printf(“共有%d種馱法.\n”,sum);
}
3、#include
34、0; printf(“請輸入一行字符:\n”); while((c=getchar( ))!=‘\n’) { if(c>=‘a(chǎn)’&&c<=‘z’||c>=‘A’&&c<=‘Z’) letter++; else if(c==‘ ’) space++; else if(c>=‘0’&&c<=‘9’) digit++; else other++; } printf(“字母數(shù)=%d,空格數(shù)=%d\n”,letter,space
35、);
printf(“數(shù)字?jǐn)?shù)=%d,其他字符數(shù)=%d\n”,digit,other);
}
4、#include
36、;k++) printf(“*”); printf(“\n”); } } 實驗六 函數(shù)程序設(shè)計(4學(xué)時) 一、實驗方式:一人一機 二、實驗?zāi)康模? 1、掌握C語言中函數(shù)的三要素:函數(shù)定義、函數(shù)調(diào)用和函數(shù)說明。 2、掌握通過參數(shù)在函數(shù)間傳遞數(shù)據(jù)的方法。 3、掌握全局變量、局部變量、動態(tài)變量、靜態(tài)變量的概念和使用方法。 三、實驗內(nèi)容: 說明:前四題為必做題目,后兩題為選做題目。 1、從鍵盤輸入三角形的3條邊,調(diào)用三角形面積函數(shù)求出其面積,并輸出結(jié)果。(實驗指導(dǎo)書P130) 2、輸入整數(shù)n,輸出高度為n的等邊三角形。當(dāng)n=5時的等邊三角形如下:(實驗指導(dǎo)書P1
37、34)
*
***
*****
*******
*********
3、輸入并運行以下程序,分析運行結(jié)果。
#include
38、A的所有因子(包括1但不包括自身,下同)之和為B,而B的因子之和為A,則稱A和B為一對親密數(shù)對。(實驗指導(dǎo)書P136)
5、輸入并運行以下程序,分析運行結(jié)果。
#include
39、,輸出整數(shù)n的所有素數(shù)因子。(書P157)
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include
40、t x,y,z,ts;
scanf(“%f%f%f”,&x,&y,&z);
if(x>0&&y>0&&z>0&&x+y>z&&y+z>x&&x+z>y)
{ ts=area(x,y,z);
printf(“area=%f\n”,ts);
}
else
printf(“data error!\n”);
}
2、#include
41、n;i++)
{ for(j=0;j<=n-i;j++) putchar(‘ ’); /*打印每一行的空格*/
for(j=0;j<=2*i;j++) putchar(‘*’); /*打印每一行的*號*/
putchar(‘\n’);
}
}
void main( )
{ int n;
printf(“Please enter n:”);
scanf(“%d”,&n);
printf(“\n”);
trangle(n);
}
3、a+b=9
4、#include 42、o.h>
int facsum(int m)
{ int sum=1,f=2;
while(f<=m/2)
{ if(m%f==0) sum=sum+f;
f++;
}
return sum;
}
void main( )
{ int m=3,n,k;
while(m<=500)
{ n=facsum(m);
k=facsum(n);
if(m==k&&m<=n)
printf(“ 43、%d,%d\n”,m,n);
m++;
}
}
5、6 15 15
6、#include 44、 { if((n%i==0)&&prime(i))
{ printf(“%d ”,i);
n=n/i;
continue;
}
i++;
}
}
void main( )
{ int num;
printf(“Enter num:”);
scanf(“%d”,&num);
printf(“prime factor is:\n”);
factor( 45、num);
}
實驗七 數(shù)組程序設(shè)計(4學(xué)時)
一、實驗方式:一人一機
二、實驗?zāi)康模?
1、掌握數(shù)組的定義、賦值和輸入輸出的方法。
2、學(xué)習(xí)用數(shù)組實現(xiàn)相關(guān)的算法(特別是排序算法)。
3、掌握C語言中字符數(shù)組和字符串處理函數(shù)的使用。
三、實驗內(nèi)容:
說明:前四題為必做題目,后兩題為選做題目。
1、下列程序的功能是:輸入10個整數(shù),按每行3個數(shù)輸出這些整數(shù),最后輸出10個整數(shù)的平均值。程序中有幾處錯誤,試找出它們后加以修改,并上機驗證修改結(jié)果。
#include 46、avg;
for(i=0;i 47、數(shù)是從左至右或從右至左讀起來都是一樣的字符串。(實驗指導(dǎo)書P153)
4、輸入一個3行3列矩陣的所有元素,然后求出主對角線元素之和。
5、給定某年某月某日,將其轉(zhuǎn)換成這一年的第幾天并輸出。(實驗指導(dǎo)書P152)
6、編寫程序,在有序的數(shù)列中查找某數(shù),若該數(shù)在此數(shù)列中,則輸出它所在的位置,否則輸出no found。(書P191)
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include 48、=0;i 49、
for(i=0;i 50、“The sorted 10 numbers:\n”);
for(i=0;i<10;i++)
printf(“%d ”,a[i]);
}
3、#include 51、tr);
for(i=0;i 52、a[3][3],sum;
int i,j;
sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf(“%d”,&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf(“sum=%d\n”,sum);
}
5、#include 53、t day_tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int day_year(int year,int month,int day)
{ int i,j,s=0;
if(year%4==0&&year%100!=0||year%400==0) i=1; else i=0;
for(j=1;j 54、=s+day_tab[i][j];
return (s+day);
}
void main( )
{ int y,m,d;
printf(“Input year,month and day:\n”);
scanf(“%d%d%d”,&y,&m,&d);
printf(“是這年的第%d天\n”,day_year(y,m,d));
}
6、#include 55、 { int a[N];
int num,i;
char ch=‘n’;
printf(“請輸入一個數(shù)組:\n”);
for(i=0;i 56、 printf(“請輸入一個數(shù):\n”);
scanf(“%d”,&num);
printf(“開始查找\n”);
for(i=0;i 57、
實驗八 指針程序設(shè)計(2學(xué)時)
一、實驗方式:一人一機
二、實驗?zāi)康模?
1、通過實驗進一步掌握指針的概念,會定義和使用指針變量。
2、能正確使用指向數(shù)組和字符串的指針變量。
3、熟悉指針作為函數(shù)參數(shù)的編程特點。
三、實驗內(nèi)容:
說明:前兩題為必做題目,后兩題為選做題目。要求用指針方法實現(xiàn)。
1、指針基礎(chǔ)及指針運算。(實驗指導(dǎo)書P168)
2、輸入3個整數(shù),按從小到大的次序輸出。 (書P234)
3、數(shù)據(jù)交換。實驗要求:1)定義兩個函數(shù),分別為void swap1(int a,int b)和void swap2(int *a,int *b),用于交換a,b的值。2)從 58、主函數(shù)中分別輸入兩個整型變量a、b。3)從主函數(shù)中分別調(diào)用上述兩個交換函數(shù),并打印輸出交換后a、b的結(jié)果。(實驗指導(dǎo)書P169)
4、編寫一個程序計算字符串長度的函數(shù),模擬C的 59、 q=(int *)malloc(N*sizeof(int));
printf(“Please input the first group:”);
for(i=0;i 60、r(i=0;i 61、
printf(“The memory address of p,a,q are:%x,%x,%x\n”,p,a,q);
free(q);
}
2、#include 62、scanf(“%d%d%d”,&n1,&n2,&n3);
p1=&n1; p2=&n2; p3=&n3;
if(n1 63、id main( )
{ int a,b;
printf(“Please input a=:”);
scanf(“%d”,&a);
printf(“Please input b=:”);
scanf(“%d”,&b);
swap1(a,b);
printf(“\nAfter call swap1:a=%d b=%d\n”,a,b);
swap2(&a,&b);
printf(“\nAfter call swap2:a=%d b=%d\n”,a,b);
} 64、
void swap1(int x,int y)
{ int temp;
temp=x; x=y; y=temp;
}
void swap2(int *x,int *y)
{ int temp;
temp=*x; *x=*y; *y=temp;
}
4、#include 65、“blind and deaf?”;
n1=strlength(list1);
n2=strlength(list2);
puts(list1);
printf(“The length of list1=%d\n”,n1);
puts(list2);
printf(“The length of list2=%d\n”,n2);
}
int strlength(char *s)
{ int n=0;
while(*s!=‘\0’)
{ n++;
s++;
}
66、 return n;
}
實驗九 綜合實驗2:函數(shù)、數(shù)組、指針的綜合應(yīng)用(2學(xué)時)
一、實驗方式:一人一機
二、實驗?zāi)康模?
1、進一步掌握通過指針引用數(shù)組元素的方法。
2、綜合運用函數(shù)、數(shù)組、指針的知識,實現(xiàn)復(fù)雜程序的編程。
3、掌握調(diào)試復(fù)雜程序的技巧。
三、實驗內(nèi)容:
說明:前兩題為必做題目,后兩題為選做題目。要求用指針方法實現(xiàn)。
1、數(shù)組元素奇偶排列。實驗要求:1)定義一個整型一維數(shù)組,任意輸入數(shù)組的元素,其中包含奇數(shù)和偶數(shù)。2)定義一個函數(shù),實現(xiàn)將數(shù)組元素奇數(shù)排列在左,偶數(shù)排列在右的排列。3)在上述定義的函數(shù)中,不允許再增加新的數(shù)組。4)從主函數(shù)中分別調(diào)用上述函數(shù),打印輸出結(jié)果。(實驗指導(dǎo)書P172)
2、編寫函數(shù)lower( )模擬標(biāo)準(zhǔn)函數(shù)strlwr( ),調(diào)用形式為lower(char *st),其作用是將字符串st中的大寫字母轉(zhuǎn)換成小寫。(書P192)
3、編寫函數(shù),比較兩個字符串是否相等。(書P234)
4、編寫函數(shù)reverse( )模擬標(biāo)準(zhǔn)函數(shù)strrev( ),調(diào)用形式為reverse(char *st),其作用是顛倒字符
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案