美文网首页程序员
零基础自学C语言|编程练习(1)

零基础自学C语言|编程练习(1)

作者: 重耳兄 | 来源:发表于2017-02-20 21:28 被阅读0次

今天做一下练习题。

1、假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。计算公式为  p=(1+r)^n

r为年增长率,n为年数,p为与现在的相比的倍数。

#include <stdio.h>

#include <math.h>         //函数库

void main( )

{

int n=10;   double r,p;

r=0.09;

p=pow((1+r),n);    // 次方函数一般形式为:变量=pow(x,y),x为底,y为冥;

printf("10年后与现在相比的倍数为:%f\n",p);

}

2、购房从银行贷了一笔款d,准备每月还款额为p,月利率为r,计算多少月能还清。设d为300000元,p为6000元,r为1%。对求得的月份取小数点后一位,对第2位按四舍五入处理。

#include <stdio.h>

#include <math.h>        //函数库

int  main( )                    //不知道为什么我在这里用void main ( ),运行老是提示错误。。。

{   float d,p;

double  m,r=0.01;

d=300000; p=6000;

m=log(p/(p-d*r))/log(1+r);

printf("%3.2f\n",m);

m=(int)(m*10+0.5)/10.0         //对第二位进行四舍五入

printf("计划%3.2f月才能还清\n",m);              

return 0;

}

3、设圆的半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。

#include <stdio.h>

#define PI 3.1415926

void main( )

{

double h,r;

printf("please input h,r\n");

scanf("%f%f",&h,&r);

printf("%.2f\n",PI*2*r);           //圆的周长

printf("%.2f\n",PI*r*r);         //圆的面积

printf("%.2f\n",4*PI*r*r);         //圆球的表面积

printf("%.2f\n",(4*PI*r*r)/3);     //圆球的体积

printf("%.2f\n",PI*(r*r)*h);       //圆柱的体积

}

4、输入一个整型成绩x,如果大于等于60分,输出“pass”,否则输出“fail”。

//用条件运算符输出

#include <stdio.h>

void main ()

{doublf x;

printf(“please input x:\n”);

scanf("%lf",&x);

printf("%s\n",x>=60?"Pass":"Fail");}

另一种输出方法

#include <stdio.h>

void main ()

{doublf x;

printf(“please input x:\n”);

scanf("%lf",&x);

if(x>=60)

{printf("Pass\n");}

else

{printf("Fail\n");}}

5、输入一个年份y,如果是闰年,输出“y is a leap year”,否则输出“y is not a leapyear。

提示:四年一闰,百年不闰,四百年再闰。

//用条件运算符输出

#include <stdio.h>

void main ()

{int y;

printf(“please input y:\n”);

scanf("%d",&y);

printf("%d is %s\n",y%4==0&&y%100!==0||y%400==!0?"  a leap year":" not a leap year");}

6、输入三条边a,b,c,如果它们能构成一个三角形,输出“Yes”,否则输出“No”。

#include <stdio.h>

void main ( )

{

double a,b,c;

printf("please input a,b,c:\n");

scanf("%lf%lf%lf",&a,&b,&c);         //注:double型一定要用%lf,不然会输出错误。

printf("%s\n",a+b>c&&a+c>b&&b+c>a?"YES":"NO");

}

7、输入三个数x,y,z,按从小到大的输出结果。

#include <stdio.h>

void main ( )

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if(x>y)  {t=x;x=y;y=t;}

if(x>z)  {t=z;z=x;x=t;}

if(y>z)  {t=y;y=z;z=t;}

printf("从小到大为:%d%d%d",x,y,,z);

}

8、输入一个平面上的点坐标,判断它是否落在圆心(0,0),半径为1的圆内,如果在圆内,输出“Yes”,否则输出“No”。

提示:分别用x,y代表平面上一个点。

#include <stdio.h>

void main( )

{

double x,y;

printf("please input x,y:\n");

scanf("%lf%lf",&x,&y);

printf("%s",x*x+y*y<=0?"YES":"NO");

}

9、字母的大小写转换。

#include <stdio.h>

void main()

{

char ch;

scanf("%c",&ch);

if(ch>='A'&&ch<='Z')

{

ch=ch+32;

printf("%c\n",ch);

}

else if(ch>='a'&&ch<='z')

{

ch=ch-32;

printf("%c\n",ch);

}

else

printf("Bad input\n");

}

10、计算圆柱体的体积V=πr2h,其中π=3.14159。提示:模仿2.27

#include#define PI 3.14159

int main()

{

double h,r;

scanf("%lf%lf",&h,&r);

printf("V=%3.2f\n",2*PI*r*h);

return 0;

}

11、输入三个整数,输出其中最小者。

#include <stdio.h>

int main()

{

int a,b,c,min;

scanf("%d%d%d",&a,&b,&c);

min=a<b?a:b;

min=min<c?min:c;

printf("min=%d\n",min);

return 0;

}

12、输入两个整数,输出其中最大者。

#include <stdio.h>

int main()

{

int a,b,c,maxn;

scanf("%d%d%d",&a,&b,&c);

printf("max=%d\n",max=((a<b?a:b)<c?a:c);

return 0;

}

13、编程实现,输入一个整数,判断它是否为偶数,并显示相应的信息

#include <stdio.h>

int main()

{

int a;

scanf("%d",&a);

if(a/2==0)

printf("%d为偶数\n",a);

else

printf("%d不是偶数\n",a);

return 0;

}

14、编程实现一个具有简单四则运算功能的计算器。

#include <stdio.h>

void main()

double a,b,result;    char c;

scanf("%lf%c%lf",&a,&c,&b);

switch(c){  case'+': result=a+b; break;

case'-': result=a-b; break;

case'*': result=a*b; break;

case'/': result=a/b; break;

default:printf("error\n");   }             printf("结果为:%lf\n",result);    }

还有一种用if……else语句也可以

#include  <stdio.h>

void main()

double a,b,result;

char c;

scanf("%lf%c%lf",&a,&c,&b);

if(c=='+')   {result=a+b;}

else if(c=='-'){result=a-b;}

else if(c=='*'){result=a*b;}

else if(c=='/')    {result=a/b;}

else    printf("error\n");

printf("结果为:%lf\n",result);

15、将以下语句改写成switch语句。      if((t>0)&&(t<=10))

if((t>=3)&&(t<=6)) x=2;          else if((t>1)||(t>8)) x=3;          else x=1;      else x=0;

switch(t){

case 0:x=0;break;

case 1:case2: x=1;break;

case 3:case 4:case 5:case 6,:x=2;break;

case 7:case 8:case9,: x=3;break;

case 10: x=3;break;

}

相关文章

网友评论

    本文标题:零基础自学C语言|编程练习(1)

    本文链接:https://www.haomeiwen.com/subject/ecttwttx.html