簡單的C語言順序結構例題介紹

2020-08-07 21:34:23

本期將會介紹順序結構。
順序結構是最簡單的一種程式結構,其它的結構可以包含順序結構也可以作爲順序結構的組成部分,可見順序結構無處不在,他是構成其他程式結構的基礎。在順序結構程式中,各語句是按自上而下的順序執行的,執行完上一個語句就自動執行下一個語句,是無條件的,不必作任何判斷。下面 下麪將會介紹幾道例題來幫助大家加深印象。

First
數學計算
首先要明白其中的相關知識
1.數學函數庫
2.abs 函數
3.fabs 函數
4.sqrt 函數
5.sin 函數

數學函數庫
C 語言提供了許多的數學函數,要使用這些函數時,在程式檔案頭必須加入: #include <math.h>或 #include 「math.h」
abs 函數
求整型變數 x 的絕對值,返回計算結果爲整型。函數原型爲:int abs(int x)
for example:
1.int a = -5;
2.printf("%d",abs(a));
輸出的結果: 5
fabs 函數
求浮點型變數 x 的絕對值,返回計算結果爲浮點型。函數原型爲:double fabs(double x)
for example:
1.double a = -5.654;
2.printf("%lf",fabs(a));
輸出的結果: 5.654000
在這裏保留了6位小數,要注意的是:
float型數據只能保證6位有效數位,
double型數據能保證15位有效數位,
計算機輸出的數位不都是絕對精確有效的。

sqrt 函數
計算根號 x( x >= 0 ),返回計算結果。函數原型爲:double sqrt(double x)
for example
1.double b = 9;
2.double a = sqrt(b); // 對9求根號
3.printf("%f",a);
輸出的結果: 3.000000
sin 函數
計算 SINx 的值(x 單位爲弧度),返回計算結果。函數原型爲: double sin(double x)
for example
1.double pi =3.1415;
2.double a = sin(pi);
3.printf("%f",a);
輸出的結果: 0.000093

下面 下麪進入正題!
給定數學公式,請你計算出它的值。
c=x+y5+sinπ4c=\frac{\sqrt{x}+\sqrt{y}}{\mid{-5+sin\frac{\pi}{4}}\mid}
其中x、y爲正整數,π=3.1415926

這道題說白了就是要學會運用數學函數庫中的常用函數。

#include <stdio.h>//包含標準輸入輸出函數
#include <math.h>//包含數學函數
int main()       //定義main函數
{ 
    int x,y;    
    double pi=3.1415926,c;    
    scanf("%d%d",&x,&y);          
    c=(sqrt(x)+sqrt(y))/fabs(-5+sin(pi/4));    
    printf("%f",c);                   
    return 0;
}

最後列印出c時,記住要用%f,%f 輸出單精度浮點數,float型別
浮點型的佔位符。

Second
第二題講的就是兩點間的距離的演算法,相信大家在數學中早已經對這個演算法熟能生巧了,但放在程式設計裏面,還是要注意!
首先介紹相關公式:
pow函數
在 C 語言中,提供了用於求x的y次冪的函數。
函數原型爲:double pow(double x, double y)
例如,求2102^{10} 可以表示爲:printf("%lf",pow(2,10));
這個是比較好理解的。輸出的結果:1024.000000
如果不想輸出多餘的0,則可以採用g格式符。
如:printf("%g",pow(2,10));
輸出的結果就是:1024
程式設計要求
1.輸入一行 4 個雙精度浮點型(x1,y1,x2,y2)數據;
2.前兩個數據分別用於表示第一個點的橫座標與縱座標,即(x1,y1);
3.後兩個數據分別用於表示第二個點的橫座標與縱座標,即(x2,y2)。

測試輸入:0 0 3 4
預期輸出:5

測試輸入:1 1 6 6
預期輸出:7.07107

#include <stdio.h>//包含標準輸入輸出函數
#include <math.h>//包含數學函數
int main()       //定義main函數
{       
    double x1,y1;   //定義第一個點的座標(x1,y1)    
    double x2,y2;   //定義第二個點的座標(x2,y2)
    double d;    
    scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);    
    d= sqrt(pow(x2-x1,2)+pow(y2-y1,2));    
    printf("%g",d);        
    return 0;
}

在此,pow函數巧妙地顯示出了橫座標與縱座標差的平方,更加淺顯易懂。

Third
最後一題介紹拆分三位整數。
輸入一個三位數 x,分別求出 x 的個位數字,十位數位,百位數位的值。
在此,大家一定要搞清楚算數運算子的特點,算數運算子包括 + 、 - 、 * 、 / 、% ,其運算順序是從左至右。
% 運算子是取餘運算,在 C 語言中,要求兩個運算元必須爲整數,否則,不同的編譯器會得不同結果。
1.int a = 13 % 7;
2.int b = 13.0 / 7;
3.printf("%d \n",a);
4.printf("%f",b);
結果分別爲
1.6 // 計算結果表示爲 13 除以 7 餘 6
2.1.857143 //表示做除法運算
一定不要搞混淆了!!!
想要結果爲 1.5 ,則在編寫程式時需寫成 3.0/2 ,而不是3/2!!!

程式設計要求
獲取指定三位數 x,並輸出 x 的個位數字,十位數位,百位數位的值,輸出的每個值用一個空格隔開。
測試輸入:123
預期輸出:3 2 1

測試輸入:724
預期輸出:4 2 7

#include <stdio.h>//定義main函數
int main()
{         
    int a,ge,shi,bai;    
    scanf("%d",&a);    
    ge=a%10;    
    shi=(a/10)%10;    
    bai=a/100;    
    printf("%d %d %d",ge,shi,bai);       
    return 0;
}

簡單來說:
% 取餘
/ 取整
如此一來,就非常好理解了。