C語言上機實驗 問題詳解
《C語言上機實驗 問題詳解》由會員分享,可在線閱讀,更多相關《C語言上機實驗 問題詳解(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、word 實驗一 上機操作初步(2學時) 一、實驗方式:一人一機 二、實驗目的: 1、熟悉VC++語言的上機環(huán)境與上機操作過程。 2、了解如何編輯、編譯、連接和運行一個C程序。 3、初步了解C程序的特點。 三、實驗容: 說明:前三題為必做題目,后兩題為選做題目。 1、輸出入下信息:(實驗指導書P79) ************************* Very Good ************************* 2、計算兩個整數(shù)的和與積。(實驗指導書P8
2、1) 3、從鍵盤輸入一個角度的弧度值x,計算該角度的余弦值,將計算結果輸出到屏幕。(書P3) 4、在屏幕上顯示一個文字菜單模樣的圖案: ================================= 1 輸入數(shù)據(jù) 2 修改數(shù)據(jù) 3 查詢數(shù)據(jù) 4 打印數(shù)據(jù) ================================= 5、從鍵盤上輸入兩個整數(shù),交換這兩個整數(shù)。 四、實驗步驟與過程: 五、實驗調(diào)試記錄: 六、參考答案:
3、
1、#include
4、d,%d〞,&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、x);
printf(“cos(%lf)=%lf\n〞,x,s);
}
4、#include
6、);
}
5、#include
7、、掌握不同數(shù)據(jù)類型的輸入輸出方法。
三、實驗容:
說明:前四題為必做題目,后兩題為選做題目。
1、輸入r1、r2,求出圓形墊片面積。(實驗指導書P84)
2、輸入華氏溫度h,輸出攝氏溫度c。(實驗指導書P85)
3、從鍵盤輸入一個3位整數(shù),將輸出該數(shù)的逆序數(shù)。(實驗指導書P89)
4、輸入并運行以下程序,分析運行結果。
#include
8、=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、 { 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、%f〞,&h);
c=5.0/9*(h-32);
printf(“\n攝氏溫度:%f\n〞,c);
}
3、#include
11、的個位數(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、“%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、 x=(a+b+c)/3.0; printf(“(a+b+c)/3=%.2f\n〞,x); } 實驗三 選擇結構程序設計(2學時) 一、實驗方式:一人一機 二、實驗目的: 1、熟練掌握if語句和switch語句。 2、練習并掌握多分支選擇結構的編程方法。 3、學習調(diào)試和修改程序的步驟。 三、實驗容: 說明:前三題為必做題目,后兩題為選做題目。 1、讀入3個分別表示箱子長、寬、高的整數(shù)值,判斷并輸出該箱子是立方體還是長方體。(實驗指導書P104) 2、輸入某一年月,輸出該月的天數(shù)。(實驗指導書P105) 3、
14、有一函數(shù): x (x<1)
y= 2x-1 (1≤x<10)
3x-11 (x≥10) 編寫程序,輸入x值,輸出y值。
4、從鍵盤輸入一個字符,如果該字符為小寫字母,如此轉換為大寫字母輸出;如果該字符為大寫字母,如此轉換為小寫字母輸出;如果為其他字符,原樣輸出。(書P94)
5、輸入4個整數(shù),要求按由小到大的順序輸出。
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include
15、
printf(“請輸入箱子的長、寬、高:\n〞);
scanf(“%d%d%d〞,&l,&w,&h);
if(l==w&&w==h) /*如果長、寬、高相等,如此為立方體*/
printf(“該箱子是立方體。〞);
else
printf(“該箱子是長方體。〞);
}
2、#include
16、 enter year and month:\n〞); switch(month) { case 2: if(year%4==0&&year%100!=0||year%400==0) days=29; else days=28; break; case 1:case 3:case 5:case 7:case 8
17、: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、 y=x;
else if(x<10)
y=2*x-1;
else
y=3*x-11;
printf(“y=%f\n〞,y);
}
4、#include
19、&&x<=‘Z’)
x=x+32;
putchar(x);
}
5、#include
20、(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學時) 一、實驗方式:一人一機 二、實驗目的: 1、熟練掌握while語句、do-while語句和for語句。 2、練習并掌握循環(huán)結構的嵌套形式。 3、掌握循環(huán)結構的程序設計方法。 三、實驗容:
21、 說明:前四題為必做題目,后兩題為選做題目。 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+……,直到最后一項的絕對值小于10-6為止。(書P123)‘ 5、計算 s=1!+2!+……+20! 的值并輸出。 6、輸入10個整數(shù),統(tǒng)計并輸出其中正數(shù)、負數(shù)和零的個
22、數(shù)。
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include 23、canf(“%f〞,&x);
}
printf(“\nmax=%f\nmin=%f\n〞,max,min);
}
2、#include 24、 }
3、#include 25、;
i++;
}
printf(“%d〞,x);
if(yes)
printf(“YES\n〞);
else
printf(“NO\n〞);
}
4、#include 26、;
n+=2;
sign=-sign;
}
pi=pi*4;
printf(“pi=%f\n〞,pi);
}
5、#include 27、
6、#include 28、化程序設計(2學時)
一、實驗方式:一人一機
二、實驗目的:
1、進一步掌握選擇結構、循環(huán)結構的編程特點。
2、掌握C語言的結構化程序設計思想。
3、學習利用循環(huán)結構實現(xiàn)的一些常用算法〔如窮舉、迭代、遞推等〕。
三、實驗容:
說明:前兩題為必做題目,后兩題為選做題目。
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ù)。
29、
4、輸出如如如下圖案: *
***
*****
*******
*****
***
*
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include 30、
logic=1;
while(logic)
{ printf(“Input score:〞);
scanf(“%d〞,&score);
if(score>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’;b 31、reak;
case 8: grade=‘B’;break;
case 7: grade=‘C’;break;
case 6: grade=‘D’;break;
default: grade=‘E’;
}
printf(“Score is %d,the grade is %c.\n〞,score,grade);
}
2、#include 32、 for(m=1;m<=100;m++)
for(n=1;n<=100-m;n++)
{ k=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 33、o.h>
void main( )
{ char c;
int letter=0,space=0,digit=0,other=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>= 34、‘0’&&c<=‘9’)
digit++;
else
other++;
}
printf(“字母數(shù)=%d,空格數(shù)=%d\n〞,letter,space);
printf(“數(shù)字數(shù)=%d,其他字符數(shù)=%d\n〞,digit,other);
}
4、#include 35、}
for(i=0;i<=2;i++)
{for(j=0;j<=i;j++) printf(“〞);
for(k=0;k<=4-2*i;k++) printf(“*〞);
printf(“\n〞);
}
}
實驗六 函數(shù)程序設計(4學時)
一、實驗方式:一人一機
二、實驗目的:
1、掌握C語言中函數(shù)的三要素:函數(shù)定義、函數(shù)調(diào)用和函數(shù)說明。
2、掌握通過參數(shù)在函數(shù)間傳遞數(shù)據(jù)的方法。
3、掌握全局變量、局部變量、動態(tài)變量、靜態(tài)變量的概念和使用方法。
三、實驗容:
說明:前四題為必做題目,后兩題為選做題目。
1、從鍵盤輸入三角形的3條邊,調(diào)用三角形面積 36、函數(shù)求出其面積,并輸出結果。(實驗指導書P130)
2、輸入整數(shù)n,輸出高度為n的等邊三角形。當n=5時的等邊三角形如下:(實驗指導書P134)
*
***
*****
*******
*********
3、輸入并運行以下程序,分析運行結果。
#include 37、,int y)
{ int z;
z=x+y;
return (z);
}
4、求500以的所有親密數(shù)對。假設正整數(shù)A的所有因子〔包括1但不包括自身,下同〕之和為B,而B的因子之和為A,如此稱A和B為一對親密數(shù)對。(實驗指導書P136)
5、輸入并運行以下程序,分析運行結果。
#include 38、 )
{ int a=3;
printf(“%d 〞,fun(a+fun(d)));
}
6、設計一個函數(shù),輸出整數(shù)n的所有素數(shù)因子。(書P157)
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include 39、 area=sqrt(p);
return (area);
}
void main( )
{ float 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 40、h>
void trangle(int n)
{ int i,j;
for(i=0;i 41、n〞);
trangle(n);
}
3、a+b=9
4、#include 42、 if(m==k&&m<=n)
printf(“%d,%d\n〞,m,n);
m++;
}
}
5、6 15 15
6、#include 43、)
{ int i;
i=2;
while(i<=n)
{ 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 44、(“prime factor is:\n〞);
factor(num);
}
實驗七 數(shù)組程序設計(4學時)
一、實驗方式:一人一機
二、實驗目的:
1、掌握數(shù)組的定義、賦值和輸入輸出的方法。
2、學習用數(shù)組實現(xiàn)相關的算法〔特別是排序算法〕。
3、掌握C語言中字符數(shù)組和字符串處理函數(shù)的使用。
三、實驗容:
說明:前四題為必做題目,后兩題為選做題目。
1、如下程序的功能是:輸入10個整數(shù),按每行3個數(shù)輸出這些整數(shù),最后輸出10個整數(shù)的平均值。程序中有幾處錯誤,試找出它們后加以修改,并上機驗證修改結果。
#include 45、h>
void main( )
{ int i,n,a[10],avg;
for(i=0;i 46、實現(xiàn)〕。(實驗指導書P147)
3、編寫程序,判斷某一字符串是不是“回文數(shù)〞,回文數(shù)是從左至右或從右至左讀起來都是一樣的字符串。(實驗指導書P153)
4、輸入一個3行3列矩陣的所有元素,然后求出主對角線元素之和。
5、給定某年某月某日,將其轉換成這一年的第幾天并輸出。(實驗指導書P152)
6、編寫程序,在有序的數(shù)列中查找某數(shù),假設該數(shù)在此數(shù)列中,如此輸出它所在的位置,否如此輸出no found。(書P191)
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include 47、int i,n=10,a[10];
float avg=0;
for(i=0;i 48、t s[ ],int n)
{ int i,j;
int t;
for(i=0;i 49、
scanf(“%d〞,&a[i]);
sort1(a,10);
printf(“The sorted 10 numbers:\n〞);
for(i=0;i<10;i++)
printf(“%d 〞,a[i]);
}
3、#include 50、n〞);
scanf(“%s〞,str);
len=strlen(str);
for(i=0;i 51、o.h>
void main( )
{ int 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 52、);
}
5、#include 53、 for(j=1;j 54、define N 10
void main( )
{ int a[N];
int num,i;
char ch=‘n’;
printf(“請輸入一個數(shù)組:\n〞);
for(i=0;i 55、 printf(“\n〞);
printf(“請輸入一個數(shù):\n〞);
scanf(“%d〞,&num);
printf(“開始查找\n〞);
for(i=0;i 56、no found\n〞);
}
實驗八 指針程序設計(2學時)
一、實驗方式:一人一機
二、實驗目的:
1、通過實驗進一步掌握指針的概念,會定義和使用指針變量。
2、能正確使用指向數(shù)組和字符串的指針變量。
3、熟悉指針作為函數(shù)參數(shù)的編程特點。
三、實驗容:
說明:前兩題為必做題目,后兩題為選做題目。要求用指針方法實現(xiàn)。
1、指針根底與指針運算。(實驗指導書P168)
2、輸入3個整數(shù),按從小到大的次序輸出。 (書P234)
3、數(shù)據(jù)交換。實驗要求:1)定義兩個函數(shù),分別為void swap1(int a,int b)和void swap2(int *a,int * 57、b),用于交換a,b的值。2)從主函數(shù)中分別輸入兩個整型變量a、b。3)從主函數(shù)中分別調(diào)用上述兩個交換函數(shù),并打印輸出交換后a、b的結果。(實驗指導書P169)
4、編寫一個程序計算字符串長度的函數(shù),模擬C的 58、 p=a;
q=(int *)malloc(N*sizeof(int));
printf(“Please input the first group:〞);
for(i=0;i 59、整數(shù)*/
for(i=0;i 60、 /*按數(shù)組輸出第二組數(shù)*/
printf(“The memory address of p,a,q are:%x,%x,%x\n〞,p,a,q);
free(q);
}
2、#include 61、as:〞);
scanf(“%d%d%d〞,&n1,&n2,&n3);
p1=&n1; p2=&n2; p3=&n3;
if(n1 62、 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);
}
63、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 64、lind 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++;
}
65、return n;
}
實驗九 綜合實驗2:函數(shù)、數(shù)組、指針的綜合應用(2學時)
一、實驗方式:一人一機
二、實驗目的:
1、進一步掌握通過指針引用數(shù)組元素的方法。
2、綜合運用函數(shù)、數(shù)組、指針的知識,實現(xiàn)復雜程序的編程。
3、掌握調(diào)試復雜程序的技巧。
三、實驗容:
說明:前兩題為必做題目,后兩題為選做題目。要求用指針方法實現(xiàn)。
1、數(shù)組元素奇偶排列。實驗要求:1)定義一個整型一維數(shù)組,任意輸入數(shù)組的元素,其中包含奇數(shù)和偶數(shù)。2)定義一個函數(shù),實現(xiàn)將數(shù)組元素奇數(shù)排列在左,偶數(shù)排列在右的排列。3)在上述定義的函數(shù)中,不允許再增加新的數(shù)組。4)從主函數(shù)中分別調(diào)用上 66、述函數(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),其作用是顛倒字符串st的順序,即按與原來相反的順序排列。(書P192)
四、實驗步驟與過程:
五、實驗調(diào)試記錄:
六、參考答案:
1、#include
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。