C程序設計實驗報告
實驗項目:1、字符與ASCII碼
2、運算符與表達式的應用
3、順序結構應用程序
4、數學函數的算法描述
5、雞兔同籠的算法描述
6、確定坐標的算法描述
姓名:徐瑾琳
實驗地點:家
實驗時間:2020.3.11
一、實驗目的與要求
1、掌握自增++、自減--運算符的正確使用。
2、掌握基本的輸入/輸出函數的基本功能、調用方法、輸入/輸出格式控制規定等。
3、掌握結構化程序的算法描述方法。
4、熟練掌握C語言的運算符,即運算符的優先級和結核性、運算規則、運算對象類型等。
二、實驗內容
1、實驗練習:2.3.3字符與ASCALL碼
1問題的簡單描述:輸入一個大寫字母,轉換為小寫字母並輸出,同時輸出小寫字母相鄰的兩個字母及ASCALL值
2實驗代碼:
#include<stdio.h> main() { char a,b,c,d; printf("請輸入一個大寫字母:\n"); scanf("%c",&a); b=a+31; c=a+32; d=a+33; printf("小寫字母為:%c,%c,%c\n",b,c,d); printf("ASCLL值為:%d,%d,%d",b,c,d); }
3問題分析:要記住大小寫字母ASCALL值的轉換
2、實驗練習:2.3.4運算符與表達式的應用
1問題的簡單描述:輸入一個三位數,要求輸出逆序數
2實驗代碼:
#include <stdio.h> int main() { int a,b,c,x,y; printf("請輸入一個3位正整數:\n"); scanf("%d",&x); c=x%100%10; b=x%100/10; a=x/100; y=c*100+b*10+a; printf("%d: %d\n",x,y); return 0; }
3問題分析:需清楚數據中每位數的表示方法
3、實驗練習:2.3.5順序結構運用程序
1問題的簡單描述:編寫程序方便醫院收費處出納算賬
2實驗代碼:
#include <stdio.h> int main() { float x,j,c,cw,g,f,hj,fk,zh; /*其中,x代表西葯費;j代表檢查費;c代表床位費;g代表觀察費; f代表護理費;hj代表應付款;fk代表病人付款額;zh代表應找回的金額;*/ printf("請輸入西葯費,檢查費,材料費,床位費,觀察費,護理費:\n"); scanf("%f,%f,%f,%f,%f,%f",&x,&j,&c,&cw,&g,&f); hj=x+j+c+cw+g+f; printf("應付款(元):%.2f",hj); printf("病人付款(元):"); scanf("%f",&fk); zh=fk-hj; printf("計算結果:\n"); printf("病人付款=%6.2f元\n應收款=%6.2f元,應找回=%6.2f元\n",fk,hj,zh); return 0; }
3問題分析:注意中英文輸入法的切換
4、實驗練習:3.3.1數學函數的算法描述
1問題的簡單描述:輸入x的值,然后輸出滿足關系式的y的值
2實驗代碼:
#include <stdio.h> void main() { float x,y; printf("請輸入x的值:"); scanf("%f",&x); if(x<1) y=x; else if(x>=1&&x<10) y=2*x-1; else y=3*x-1; printf("y的值為%.2f",y); }
3問題分析:數值與字母相乘中間用*連接
4算法流程圖:
5、實驗練習:3.3.2雞兔同籠的算法描述
1問題的簡單描述:用算法流程圖解決雞兔同籠問題的算法
2實驗代碼:
#include <stdio.h> main() { int x,y,h,f; printf("雞兔總數,雞兔腳總數:"); scanf("%d,%d",&h,&f); if(h>0&&f>0) { y=(f-2*h)/2; x=(4*h-f)/2; printf("雞有%d,兔有%d\n",x,y); } else printf("輸入錯誤!\n"); }
3問題分析:if函數中判斷的條件變量應為輸出時的變量h,f
4流程圖:
6、實驗練習:3.3.3確定坐標的算法描述
1問題的簡單描述:
2實驗代碼:
#include <stdio.h> #include <math.h> main() { int h; float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4; printf("請輸入一個點(x,y):"); scanf("%f,%f",&x,&y); d1=sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1)); d2=sqrt((x-x2)*(x-x2)+(y-y2)*(y-y2)); d3=sqrt((x-x3)*(x-x3)+(y-y3)*(y-y3)); d4=sqrt((x-x4)*(x-x4)+(y-y4)*(y-y4)); if(d1>1&&d2>1&&d3>1&&d4>1) { h=0; printf("圓塔的高度為%d",h); } else { h=10; printf("圓塔的高度為%d",h); } }
3問題分析:使用sqrt函數前應調用數學函數
三、實驗小結
通過此次實驗,我現在可以編寫簡單的C語言程序以及基本的算法流程圖,進一步掌握了變量的定義,輸入輸出函數的使用以及運算符的使用。