第三章例题——C程序设计(第四版)

 3-1

#include <stdio.h>
int main()
{
	float f,c;
	//float:浮点型数据类型,可定义正负小数
	printf("Please Input F=\n");
		scanf("%f",&f);
		//scanf:数据输入函数 scanf("x=%d",&x);
		c=(f-32)*5/9;
	printf("f=%f\nc=%f\n",f,c);
	return 0;
}

3-2存疑

#include <stdio.h>
int main()
{
	float p=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;
	p1=p*(1+r1);
	p2=p*(1+r2);
	p3=p*(1+r3/2)*(1=r3/2);
	printf("p1=%f\n p2=%f\n p3=%f\n",p1,p2,p3);
	return 0;

}

3-3


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

3-3补填注释

#include <stdio.h>
int main()
{
	char c1,c2;	
    /*
	char 是“定义数据类型”的函数;

    作用是“定义字符型变量”;

    比方int “定义整型数据”的函数;

	int a = 3;

	这里int 是类型, a 是整型变量,3是赋值;

    char s = 'A';

	char是字符类型,s是字符型变量,A是赋值给变量s;

    char s[] = "c program"; 

	char是字符类型,s[]是字符型数组,"c program"是赋给数组的值;
	*/


	c1='A';
	c2=c1+32;
	printf("%c\n",c2);
	printf("%d\n",c2);
    /*
    "格式说明符号";

    用于格式的输入与输出;

    就是当printf和scanf函数中在输入输出时,对不同类型的数据(如int,float,char等)要使用不同的格式来进行说明;

    %d,用来输出十进制整数;

    %f,用来输出实数(包括单,双精度),以小数形式输出,默认情况下保留小数点6位;

    %c,用来输出一个字符;

    %s,用来输出一个字符串;
    */



	return 0;
}

3-4存疑

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

3-5 自己改编的程序

#include <stdio.h>
#include <math.h>
int main()
{
	double a,b,c,disc,x1,x2,p,q;
	printf("Please input a b c\n");
	scanf("%lf,%lf,%lf",&a,&b,&c);
	//double的双精度浮点值,格式声明要用%lf
	disc=b*b-4*a*c;
    
	if(disc,0)
    printf("This question hasn't real roots\n");
	else 
	{
		p=-b/(2.0*a);
		q=sqrt(disc)/(2.0*a);
		x1=p+1;
		x2=p-q;
		printf("real roots:\nx1=%7.2f\nx2=%7.2f\n",x1,x2);
	}
    return 0;
}

有疑问的3-5

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

3-6

#include <stdio.h>
int main()
{
	double a=1.0;
	printf("%f\n",a);
	return 0;
}

3-7及其下方内容

#include <stdio.h>
int main()
{
	float a;
	a=1000/3.0;
	printf("%f\n",a);
	printf("%-25.15f,%25.15f\n",a,a);
	return 0;

}

e、E格式符-——%e格式声明——指数形式输出实数

#include <stdio.h>
int main()
{
	printf("%e\n",123.456);
	printf("%13.2e\n",123.456);
	printf("%E\n",123.456);
	printf("%13.2E\n",123.456);

	printf("%e\n",-123.6);
	printf("%13.2e\n",-123.6);
	printf("%E\n",-123.6);
	printf("%13.3E\n",-123.6);

	printf("%e\n",0.123456);
	printf("%13.2e\n",0.123456);
    printf("%E\n",0.123456);
    printf("%13.2E\n",0.123456);

	printf("%e\n",-0.123456);
	printf("%13.2e\n",-0.123456);
	printf("%E\n",-0.123456);
	printf("%13.2E\n",-0.123456);

	return 0;

}

 

u、d、o、x格式符——无符号十进制、有符号十进制、八进制、十六进制输出实数

#include <stdio.h>
int main()
{
	char x='A';
	printf("%u\t%d\t%o\t%x\n",x,x,x,x);
	return 0;
}

 

c、s格式符——字符形式、字符串形式输出符号——存疑

#include <stdio.h>
int main()
{
	char x='A';
	//char定义单个字符,单引号;定义字符串,双引号
        //''、""表示取其中字符对应的数值的内存地址,显示的就是字符
	//若不用取地址符''、"",直接用char x=65;显示出的也是A
        char y[5]="abcde";
	//此处显示出现错误,未知原因
	char *z="abcde";
	//似乎是一种指针用法

	printf("%c\n",x);
    printf("%s\n",y);
    printf("%s\n",z);

	return 0;
}

scanf函数

#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	//输入时应该输入"1 2 3"才能显示三个数字
	printf("%d\t%d\t%d\n",a,b,c);
	return 0;
}
#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d,%d,%d",&a,&b,&c);
	//为什么输入"1,2,3"后显示的不对
	printf("%d\t%d\t%d\n",a,b,c);
	return 0;
}
#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("a=%db=%dc=%d",&a,&b,&c);
	//输入时应该输入"a=1b=2c=3"才能显示三个数字
	printf("%d\t%d\t%d\n",a,b,c);
	return 0;
}
#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("a=%d,b=%d,c=%d",&a,&b,&c);
	//输入时应该输入"a=1,b=2,c=3"才能显示三个数字
	printf("%d\t%d\t%d\n",a,b,c);
	return 0;
}
#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	//输入时应该输入"1 2 3"才能显示三个数字
	printf("%d\t%d\t%d\n",a,b,c);
	return 0;
}
#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d:%d:%d",&a,&b,&c);
	//输入时应该输入"1:2:3"才能显示三个数字
	printf("%d\t%d\t%d\n",a,b,c);
	return 0;
}

3-8

#include <stdio.h>
int main()
{
	char a='B',b='O',c='Y';
	putchar(a);
	putchar(b);
	putchar(c);
	putchar('\n');
	return 0;
}
#include <stdio.h>
int main()
{
	int a=66,b=79,c=89;
	putchar(a);
	putchar(b);
	putchar(c);
	putchar('\n');
	return 0;
}
#include <stdio.h>
int main()
{
	
	putchar('\101');
	putchar('\'');
	putchar('\015');
	//putchar('\x'),x为转义字符
	//putchar(y),y为字符型,如a,B
	putchar('\n');
	return 0;
}
#include <stdio.h>
int main()
{
	char a,b,c;
	a=getchar();
	b=getchar();
	c=getchar();
	//输入abc,显示abc
	/* 输入
	a  
	//输入一个字符,按一下enter
	b
	c
	显示
	a
	b
	c
    */
	putchar(a);
	putchar(b);
	putchar(c);
	//putchar('\x'),x为转义字符
	//putchar(y),y为字符型,如a,B
	putchar('\n');
	return 0;
}
#include <stdio.h>
int main()
{
	putchar(getchar());
	putchar(getchar());
	putchar(getchar());
	putchar('\n');
	return 0;
}

3-9

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值