美文网首页程序员
零基础自学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