C语言笔记001用C语言编写程序

例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

原文地址:https://www.cnblogs.com/halflife/p/15520783.html