3.3 程序舉例
【例3.5】 已知a=5.0,b=2.5,c=7.8,計算
程序代碼如下:
#include "stdio.h"
#define PI 3.14
main( )
{
float a=5.0,b=2.5,c=7.8,y;
y=PI*a*b/(a+b*c);
printf("y=%f\n",y);
}
程序運行結果為:
y=1.602041
【例3.6】 從鍵盤輸入兩個整數賦給變量a和b,要求交換變量a和b中的值。
分析:定義3個整型變量a、b、t,a和b兩個變量分別存儲從鍵盤輸入的兩個整數,這兩個整數可以調用scanf( )函數實現輸入。交換a和b中值的方法是,首先將a中的值用臨時變量t保存起來(在此可通過賦值語句“t=a;”來實現),然后將b的值賦給a(即“a=b;”),再把保存在臨時變量t中的值賦給b(即“b=t;”)。根據此思路編寫程序代碼如下:
#include "stdio.h"
main( )
{
int a,b,t;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
t=a;a=b;b=t;
printf("a=%d,b=%d\n",a,b);
}
程序運行結果為:
輸入:22 66<Enter>
輸出: a=22,b=66
a=66,b=22
【例3.7】 從鍵盤輸入一個大寫字母,要求改用小寫字母輸出,并輸出大寫字母和小寫字母的ASCII碼值。
分析:定義c1、c2兩個字符型變量來分別存儲大寫字母和小寫字母,大寫字母可以用getchar( )函數實現輸入。大小寫字母間轉換的方法前面已經介紹過。根據此思路編寫程序代碼如下:
#include "stdio.h"
main( )
{
char c1,c2;
c1=getchar( );
printf("%c,%d\n",c1,c1);
c2=c1+32;
printf("%c,%d\n",c2,c2);
}
程序運行結果為:
輸入: A<Enter>
輸出: A, 65
a, 97
【例3.8】 設一元二次方程為ax2+bx+c=0,輸入3個系數a、b、(c 設a不為0,且b2>4ac),求兩個實根。
分析:定義變量a、b、c為實型,代表方程的3個系數,可以用scanf( )函數實現數據的輸入;定義x1、x2兩個實型變量來存儲兩個實數根。
一元二次方程的求根公式為:
#include "stdio.h"
#include "math.h"
main( )
{
float a,b,c,x1,x2;
scanf("%f%f%f",&a,&b,&c);
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);
}
程序運行結果為:
輸入:2.3 6.7 3.1<Enter>
輸出: x1=-0.58
x2=-2.34
本例中,sqrt( )是求平方根函數,其頭文件為math.h,所以在程序的開頭加#include "math.h"語句。
從本節的例題可以看出,順序程序結構是一種按照語句書寫順序執行的簡單的程序結構,可解決一些簡單的問題。