C語言程序設計實驗報告(二)


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語言程序以及基本的算法流程圖,進一步掌握了變量的定義,輸入輸出函數的使用以及運算符的使用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM