例2-1 在屏幕上顯示一個短句“Hello World!”.
#include <stdio.h>
int main(void)
{
printf("hello world!\n");
return 0;
}
例2-2 在屏幕上顯示兩個短句“Programming is fun.”和”And programming in C is even more fun!“,每行顯示一句。
#include <stdio.h>
int main(void)
{
printf("Programming is fun.\n");
printf("And programming in C is even more fun!\n");
return 0;
}
例2-3 求華氏溫度100F對應的攝氏溫度。計算公式如下:
c=
式中:c表示攝氏溫度,f表示華氏溫度。
#include<stdio.h>
int main(void)
{
/*定義兩個整形變量,celsius表示攝氏度,fahr表示華氏度*/
int celsius,fahr;
fahr=100;
celsius=5*(fahr-32)/9;
printf("fahr=%d,celsius=%d\n",fahr,celsius);
return 0;
}
例2-4 為鼓勵居民節約用水,自來水公司采取用水量按月分段計費的辦法,居民應交水費y(元)與月用水量x(噸)的函數關系式如下(設x≥0)。輸入用戶的月用水量x(噸),計算並輸出該用戶應支付的水費y(元)(保留兩位小數)。
/*計算二分段函數*/
#include<stdio.h>
int main(void)
{
double x,y;
printf("Enter x(x>=0):\n");
scanf("%lf",&x);
if(x<=15){
y=4*x/3;
}
else{
y=2.5*x-10.5;
}
printf("y=f(%f)=%.2f\n",x,y);
return 0;
}
例2-5 堅持的力量。以第一天的能力值為基數,用initial表示,能力值相比前一天提高的值factor就是努力參數,堅持天數為day,讓我們一起來看看堅持的力量。輸入能力的初始值initial、努力參數factor和堅持天數day,根據下列公式計算出堅持努力后達到的能力值,輸出時保留兩位小數。
/* 堅持的力量*/
#include<stdio.h>
#include<math.h>
int main(void)
{
int day;
double factor,initial,result;
printf("Enter initial:");
scanf("%lf",&initial);
printf("Enter factor:");
scanf("%lf",&factor);
printf("Enter day:");
scanf("%d",&day);
result=initial*pow(1+factor,day);
printf("result=%.2f\n",result);
return 0;
}
例2-6 輸入兩個整數lower和upper,輸出一張華氏-攝氏溫度轉換表,華氏溫度的取值范圍是[lower,upper],每次增加1℉,計算公式如下:
c=
式中c表示攝氏溫度,f表示華氏溫度。
#include<stdio.h>
int main(void)
{
int fahr,lower,upper;
double celsius;
printf("Enter lower:");
scanf("%d",&lower);
printf("Enter upper:");
scanf("%d",&upper);
if(lower<=upper){
printf("fahr celsius\n");
for(fahr=lower;fahr<=upper;fahr++){
celsius=5.0*(fahr-32)/9.0;
printf("%4d%6.1f\n",fahr,celsius);
}
}
else{
printf("Invalid value\n");
}
return 0;
}
例2-7 輸入一個正整數n,求。
/*計算1+2+3+。。。+n*/
#include<stdio.h>
int main(void)
{
int i,n,sum;
printf("Enter n:");
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
{
sum=sum+i;
}
printf("Sum of numbers from 1 to %d is %d\n",n,sum);
return 0;
}
例2-8 輸入一個正整數n,計算1--+-+…的前n項之和。
/*計算1-1/3+1/5-1/7+...共n項之和 */
#include<stdio.h>
int main(void)
{
int denominator,flag,i,n;
double item,sum;
printf("Enter n:");
scanf("%d",&n);
/*執行循環前,給變量賦初值*/
flag=1;
item=1;
denominator=1; //每項的分母
sum=0;
for(i=1;i<=n;i++)
{
sum=sum+item;
flag=-flag;
denominator=denominator+2;
item=flag*1.0/denominator;
}
printf("sum=%f\n",sum);
return 0;
}
例2-9 從鍵盤輸入一個正整數n,計算n!。
/*輸入一個正整數n,求n!*/
#include<stdio.h>
int main(void)
{
int i,n;
double product;
printf("Enter n:");
scanf("%d",&n);
product=1;
for(i=1;i<=n;i++)
{
product=product*i;
}
printf("product=%.0f\n",product);
return 0;
}
例2-10 輸入一個正整數n,生成一張2的乘方表,輸出到的值,可以調用冪函數計算2的乘方。
#include<stdio.h>
#include<math.h>
int main(void)
{
int i,n;
double power;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<=n;i++){
power=pow(2,i);
printf("pow(2,%d)=%.0f\n",i,power);
}
return 0;
}
例2-11 輸入一個正整數n(n16),生成一張階乘表,輸出0!到n!的值。要求定義和調用函數fact(n)計算n!,函數類型是double。
#include<stdio.h>
double fact(int n);
int main(void)
{
int i,n;
double result;
printf("Enter n:");
scanf("%d",&n);
for(i=0;i<=n;i++){
result=fact(i);
printf("%d!=%.0f\n",i,result);
}
return 0;
}
double fact(int n)
{
int i;
double product;
product=1;
for(i=1;i<=n;i++){
product=product*i;
}
return product;
}
參考資料
C語言程序設計/何欽銘,顏暉主編.---4版.---北京:高等教育出版社,2020.9