第二章,第三章實驗報告

C程序設計實驗報告(第二次)

姓名:熊毅

實驗地點:家

實驗時間:2020.03.10

實驗項目:字符與ASCII碼;運算符與表達式的應用;順序結構應用程序;數學函數;雞兔同籠;肯定座標

1、實驗目的與要求

一、掌握自增++、自減--運算符的正確使用。
二、掌握基本的輸入/輸出函數的基本功能、調用方法、輸入/輸出格式控制規定等。
三、掌握結構化程序的算法描述方法。
四、熟練掌握C語言的運算符,即運算符的優先級和結核性、運算規則、運算對象類型等。算法

2、實驗內容

一、實驗練習:實驗2.3.3 字符與ASCII碼

1問題的簡單描述:從鍵盤輸入一個大寫字母,要求將其轉換成小寫字母並輸出,同時輸出這個小寫字母相鄰的兩個字母,以及它們的ASCLL值。
2實驗代碼:markdown

#include<stdio.h>
main()
{
    int a,b,c,d;
    printf("請輸入一個大寫字母:\n") ;
    scanf("%c",&a);
    b=a+32;
    c=b-1;
    d=b+1;
    printf("小寫字母爲:%c,%c,%c\n",c,b,d);
    printf("ASCII碼值爲:%d,%d,%d",c,b,d);
 
}

3問題分析:要注意字母大小寫的轉換,以及中間的差值。函數

二、實驗練習:實驗2.3.4 運算符與表達式的應用

1問題的簡單描述:從鍵盤輸入一個3位正整數,要求輸出該數的逆序數。
2實驗代碼:學習

#include<stdio.h>
int main()
{
    int a,b,c,x,y;
    printf("請輸入一個3位正整數:\n");
    scanf("%d",&x);
    a=x/100;   //個位 
    b=x%100/10;  //十位 
    c=x%10;  //百位 
    y=c*100+b*10+a;
    printf("%d: %d\n",x,y) ;
    return 0;   
}

3問題分析:注意%和/的使用和要區分%和/所表示的意義,用「/」表示除法,用「%」表示整數相除,取餘數。設計

三、實驗練習:2.3.5 順序結構應用程序

1問題的簡單描述:編寫出一個程序,方便醫院收費處利用此程序出納算帳。
2實驗代碼:code

#include<stdio.h>
int main()
{
    float a,b,c,d,e,f,g,h,j;  //其中,a表明西藥費;b表明檢查費;c表明材料費;d表明牀位費;e表明觀察費;f表明護理費;g表明應付款;h表明病人付款額,j表明應找回的金額//
    printf("請輸入西藥費,檢查費,材料費,牀位費,觀察費,護理費:\n");
    scanf("%f,%f,%f,%f,%f,%f",&a,&b,&c,&d,&e,&f);
    g=a+b+c+d+e+f;
    printf("應付款:%.2f",g);
    printf("病人付款:");
    scanf("%f",&h);
    j=h-g;
    printf("計算結果:\n");
    printf("病人付款=%6.2f元\n應收款=%6.2f元,應找回=%6.2f元\n",g,h,j);
    return 0;
}

3問題分析:在輸入代碼的過程當中,注意中英文輸入法的切換,以及注意printf(),scanf()語句的應用。對象

四、實驗練習:實驗3.3.1 數學函數的算法描述

1問題的簡單描述:blog

,請用算法流程圖表示該函數的算法。ci

2實驗代碼:博客

#include<stdio.h>
main()
{
    float x,y;
    printf("請輸入x的值:\n");
    scanf("%f",&x);
    if(x<1)       y=x;
    if(1<=x<10)   y=2*x-1;
    if(x>=10)     y=3*x-1;
    printf("y的值爲%.2f\n",y);
}

3問題分析 :在進行代碼編譯的前,須要先分析問題中各個條件之間的關係
4流程圖

##五、實驗練習:實驗3.3.2 雞兔同籠的算法描述
1問題的簡單描述:用算法流程圖描述求解雞兔同籠問題的算法。
2實驗代碼:

#include<stdio.h>
int main()
{
    int h,f,x,y;
    printf("雞兔總數量,雞兔腳總數量:");
    scanf("%d %d",&h,&f);
    if(h>0&&f>0)  
    {
        x=(4*h-f)/2;
        y=(f-2*h)/2;
        printf("雞有%d 兔有%d\n",x,y);
    }
    else
    {
        printf("輸入錯誤!\n");
    }
    return 0;
}

3問題分析:整型變量注意用int,if else的使用以及在出現多個函數時{}的使用。
4流程圖:

六、實驗練習:實驗3.3.3 肯定座標的算法描述

1問題的簡單描述:圓塔位置如圖所示,現輸入任意座標,該點座標在任意一個圓塔內,則輸出圓塔的高度;若該點不在圓塔內,則輸出0。
2實驗代碼:

#include<stdio.h> 
#include<math.h>
main()
{
    int h=10;
    float x1=1,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;
    else h=10;
    printf("該塔高度爲%d",h);
}

3問題分析:#include<math.h>的使用,和sqrt()的使用,以及平方的表示。

3、實驗小結

一、學習了markdown的使用方法,以及發現了本身對博客園不熟悉的地方比較多,要多加練習和理解。 二、在本次實驗中對#include<math.h>使用更加加深,兩次實驗都運用了#include<math.h>頭文件,對數學函數的程序理解更加深入。 三、在實驗分享,共享屏幕分析代碼時,發現本身只會使用課本上的實驗代碼,課外的方法一律不知,說明課外拓展不夠充實。

相關文章
相關標籤/搜索