第三章 顺序程序设计

1、putchar函数

#include <stdio.h>
int main()
{
    char a,b,c;
    a='B',b='O',c='Y';
    putchar(a);        // B
    putchar(b);        // O
    putchar(c);        // Y
    putchar('\n');
    return 0;
}
#include <stdio.h>
int main()
{
    int a,b,c;
    a=66;b=79;c=89;
    putchar(a);      // B
    putchar(b);      // O
    putchar(c);      // Y
    putchar('\n');
    return 0;
}

2、getchar函数

#include <stdio.h>
int main()
{
    char a,b,c;
    a=getchar();
    b=getchar();
    c=getchar();
    putchar(a);
    putchar(b);
    putchar(c);
    putchar('\n');
    return 0;
}
#include <stdio.h>
int main()
{
    putchar(getchar());
    putchar(getchar());
    putchar(getchar());
    putchar('\n');
    return 0;
}

3、printf函数

#include <stdio.h>
int main()
{
    char c='a';
    int i=97;
    printf("c=%c,c=%d\n",c,c);
    printf("i=%c,i=%d\n",i,i);
    return 0;
}
#include <stdio.h>
int main()
{
    float a,b;
    a=111111.111;b=222222.222;
    printf("%f\n",a+b);
    return 0;
}

// 333333.328125      保证6-7位的精度
#include <stdio.h>
int main()
{
    double a,b;
    a=11111111.11111111;
    b=22222222.22222222;
    printf("%lf\n",a+b);
    return 0;
}

//33333333.33333333 double类型 保证16位的精度

4、scanf函数

#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c,s,area;
    scanf("%lf,%lf,%lf",&a,&b,&c);
    s=(a+b+c)/2.0;
    area=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("a=%lf\nb=%lf\nc=%lf\narea=%lf\n",a,b,c,area);;
    return 0;
}

例子:

1、计算出三角形面积Area

#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c,s,area;
    scanf("%lf,%lf,%lf",&a,&b,&c);
    s=(a+b+c)/2.0;
    area=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("a=%lf\nb=%lf\nc=%lf\narea=%lf\n",a,b,c,area);
    return 0;
}

2、输入一个大写字母转为小写字母

#include <stdio.h>
int main()
{
    char c1,c2;
    c1=getchar();
    printf("%c,%d\n",c1,c1);
    c2=c1+32;
    printf("%c,%d\n",c2,c2);
}
#include <stdio.h>
int main()
{
    printf("%c\n",getchar()+32);
    return 0;
}
#include <stdio.h>
int main()
{
    putchar(getchar()+32);
    putchar('\n');
    return 0;
}

3、求ax2+bx+c=0方程的根。a、b、c由键盘输入,设b2-4ac>0。

  这里省略了求根公式,需要的可以自行查询!

 

#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c,x1,x2,p,q,disc;          //disc为判别式
    scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
    disc=b*b-4*a*c;
    p=-b/(2*a);
    q=sqrt(disc)/(2*a);
    x1=p+q;
    x2=p-q;
    printf("x1=%5.2f\nx2=%5.2f\n",x1,x2);
    return 0;
}

 

提高部分

1、将有符号整数赋值给长度相同的无符号整型变量,数据会失真

 

#include <stdio.h>
int main()
{
    short int a;
    unsigned short b;
    a=-1;
    b=a;
    printf("%u\n",b);
    return 0;
}

 

2、将无符号整数赋值给长度相同的有符号整型变量

#include <stdio.h>
int main()
{
    unsigned short a;
    short int b;
    a=65535;
    b=a;
    printf("%d\n",b);
    return 0;
}

3、无符号数据的输出

#include <stdio.h>
int main()
{
    unsigned short a=65535;
    short int b=-2;
    printf("a=%d,%o,%x,%u\n",a,a,a,a);
    printf("b=%d,%o,%x,%u\n",b,b,b,b);
    return 0;
}

4、字符串的输出

#include <stdio.h>
int main()
{
    
    printf("%10s,%-10s,%-6.3s,%6.2s\n","CHINA","CHINA","CHINA","CHINA");
    return 0;
}

// CHINA, CH,CHIN,CHI

 

 

 

 

%ms,指定输出的字符串占m列,如果字符串长度大于m,则突破m限制,输出全部;

%-ms,如果字符串长小于m,则在m列范围内,字符串向左靠,右补空格;

%m.ns,输出占m列,只取字符串左侧的n个字符,左侧补空格;

%-m.ns,输出占m列,只取字符串左侧的n个字符,右侧补空格;

 

5、求3个圆的周长,输出结果时上下按小数点对齐,取两位数。

#include <stdio.h>
#define PI 3.1415926
int main()
{    
    double r1=1.53,r2=21.83,r3=123.71,s1,s2,s3;
    s1=2.0*PI*r1;
    s2=2.0*PI*r2;
    s3=2.0*PI*r3;
    printf("r1=%10.2f\nr2=%10.2f\nr3=%10.2f\n",r1,r2,r3);
    // %10.2f    正 统一右对齐 左填补空格
    return 0;
}

 习题

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

 

#include <stdio.h>
#include <math.h>
#define PI 3.1415926
int main()
{
    float r,h,z,s,v,bs,sh;
    printf("Please input r and h:\n");
    scanf("%f,%f",&r,&h);
    z=2*PI*r;           // 计算周长
    s=PI*pow(r,2);        // 计算面积
    v=(4/3)*PI*pow(r,3);    // 计算体积
    bs=4*PI*r*pow(r,2);    //  计算表面积
    sh=s*h;           //  计算圆柱体积
    
    printf("圆的周长为:%12.2f\n",z);
    printf("圆的面积为:%12.2f\n",s);
    printf("圆球体积为:%12.2f\n",v);
    printf("圆的表面积为:%10.2f\n",bs);
    printf("圆柱的体积为:%10.2f\n",sh);
}

 

posted @ 2021-02-26 22:41  一个特立独行的猪  阅读(116)  评论(0)    收藏  举报