C語言上機實驗 答案
《C語言上機實驗 答案》由會員分享,可在線閱讀,更多相關《C語言上機實驗 答案(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、實驗一 上機操作初步(2學時) 一、實驗方式:一人一機 二、實驗目的: 1、熟悉VC++語言的上機環(huán)境及上機操作過程。 2、了解如何編輯、編譯、連接和運行一個C程序。 3、初步了解C程序的特點。 三、實驗內(nèi)容: 說明:前三題為必做題目,后兩題為選做題目。 1、輸出入下信息:(實驗指導書P79) ************************* Very Good ************************* 2、計算兩個整數(shù)的和與積。(實驗指導書P81) 3
2、、從鍵盤輸入一個角度的弧度值x,計算該角度的余弦值,將計算結果輸出到屏幕。(書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,求出圓形墊片面積。(實驗指導書P84)
2、輸入華氏溫度h,輸出攝氏溫度c。(實驗指導書P85)
3、從鍵盤輸入一個3位整數(shù),將輸出該數(shù)的逆序數(shù)。(實驗指導書P89)
4、輸入并運行以下程序,分析運行結果。
#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ù),將其轉換成相應的整數(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、運行結果: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); } 實驗三 選擇結構程序設計(2學時) 一、實驗方式:一人一機 二、實驗目的: 1、熟練掌握if語句和switch語句。 2、練習并掌握多分支選擇結構的編程方法。 3、學習調(diào)試和修改程序的步驟。 三、實驗內(nèi)容: 說明:前三題為必做題目,后兩題為選做題目。 1、讀入3個分別表示箱子長、寬、高的整數(shù)值,判斷并輸出該箱
14、子是立方體還是長方體。(實驗指導書P104) 2、輸入某一年月,輸出該月的天數(shù)。(實驗指導書P105) 3、有一函數(shù): x (x<1) y= 2x-1 (1≤x<10) 3x-11 (x≥10) 編寫程序,輸入x值,輸出y值。 4、從鍵盤輸入一個字符,如果該字符為小寫字母,則轉換為大寫字母輸出;如果該字符為大寫字母,則轉換為小寫字母輸出;如果為其他字符,原樣輸出。(書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(“排序結果如下:\n”); printf(“%d,%d,%d,%d\n”,a,b,c,d); } 實驗四 循環(huán)結構程序設計(4學時) 一、實驗方式:一人一機
21、 二、實驗目的: 1、熟練掌握while語句、do-while語句和for語句。 2、練習并掌握循環(huán)結構的嵌套形式。 3、掌握循環(huán)結構的程序設計方法。 三、實驗內(nèi)容: 說明:前四題為必做題目,后兩題為選做題目。 1、從鍵盤上輸入若干個學生的成績,統(tǒng)計并輸出最高成績和最低成績,當輸入負數(shù)時結束輸入。(實驗指導書P117) 2、求所有的水仙花數(shù)。水仙花數(shù)是一個3位數(shù)的自然數(shù),該數(shù)各位數(shù)的立方和等于該數(shù)本身。(實驗指導書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ù)、負數(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個,負數(shù)有%d個,零有%d個\n”,a1,b1,c1); } 實驗五 綜合實驗1:結構化程序設計(2學時) 一、實驗方式:一人一機 二、實驗目的: 1、進一步掌握選擇結構、循環(huán)結構的編程特點。 2、掌握C語言的結構化程序設計思想。 3、學習利用循環(huán)結構實現(xiàn)的一些常用
29、算法(如窮舉、迭代、遞推等)。 三、實驗內(nèi)容: 說明:前兩題為必做題目,后兩題為選做題目。 1、編一程序,對于給定的一個百分制成績,輸出對應A,B,C,D,E表示的的等級成績。設:90分以上為A,80-89分為B,70-79分為C,60-69分為D,60分以下為E。(書P93) 2、百馬百擔問題。(實驗指導書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ù)字數(shù)=%d,其他字符數(shù)=%d\n”,digit,other);
}
4、#include
36、;k++) printf(“*”); printf(“\n”); } } 實驗六 函數(shù)程序設計(4學時) 一、實驗方式:一人一機 二、實驗目的: 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ù)求出其面積,并輸出結果。(實驗指導書P130) 2、輸入整數(shù)n,輸出高度為n的等邊三角形。當n=5時的等邊三角形如下:(實驗指導書P1
37、34)
*
***
*****
*******
*********
3、輸入并運行以下程序,分析運行結果。
#include
38、A的所有因子(包括1但不包括自身,下同)之和為B,而B的因子之和為A,則稱A和B為一對親密數(shù)對。(實驗指導書P136)
5、輸入并運行以下程序,分析運行結果。
#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ù)組程序設計(4學時)
一、實驗方式:一人一機
二、實驗目的:
1、掌握數(shù)組的定義、賦值和輸入輸出的方法。
2、學習用數(shù)組實現(xiàn)相關的算法(特別是排序算法)。
3、掌握C語言中字符數(shù)組和字符串處理函數(shù)的使用。
三、實驗內(nèi)容:
說明:前四題為必做題目,后兩題為選做題目。
1、下列程序的功能是:輸入10個整數(shù),按每行3個數(shù)輸出這些整數(shù),最后輸出10個整數(shù)的平均值。程序中有幾處錯誤,試找出它們后加以修改,并上機驗證修改結果。
#include 46、avg;
for(i=0;i 47、數(shù)是從左至右或從右至左讀起來都是一樣的字符串。(實驗指導書P153)
4、輸入一個3行3列矩陣的所有元素,然后求出主對角線元素之和。
5、給定某年某月某日,將其轉換成這一年的第幾天并輸出。(實驗指導書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、
實驗八 指針程序設計(2學時)
一、實驗方式:一人一機
二、實驗目的:
1、通過實驗進一步掌握指針的概念,會定義和使用指針變量。
2、能正確使用指向數(shù)組和字符串的指針變量。
3、熟悉指針作為函數(shù)參數(shù)的編程特點。
三、實驗內(nèi)容:
說明:前兩題為必做題目,后兩題為選做題目。要求用指針方法實現(xiàn)。
1、指針基礎及指針運算。(實驗指導書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的結果。(實驗指導書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ù)組、指針的綜合應用(2學時)
一、實驗方式:一人一機
二、實驗目的:
1、進一步掌握通過指針引用數(shù)組元素的方法。
2、綜合運用函數(shù)、數(shù)組、指針的知識,實現(xiàn)復雜程序的編程。
3、掌握調(diào)試復雜程序的技巧。
三、實驗內(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ù),打印輸出結果。(實驗指導書P172)
2、編寫函數(shù)lower( )模擬標準函數(shù)strlwr( ),調(diào)用形式為lower(char *st),其作用是將字符串st中的大寫字母轉換成小寫。(書P192)
3、編寫函數(shù),比較兩個字符串是否相等。(書P234)
4、編寫函數(shù)reverse( )模擬標準函數(shù)strrev( ),調(diào)用形式為reverse(char *st),其作用是顛倒字符
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學下冊6整理和復習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊2百分數(shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊1負數(shù)第1課時負數(shù)的初步認識作業(yè)課件新人教版
- 2023年六年級數(shù)學上冊期末復習考前模擬期末模擬訓練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習4數(shù)學思考第1課時數(shù)學思考1練習課件新人教版