2011_C语言实验与习题l(7)

2019-03-04 16:02

D) 宏定义命令也是语句,必须以分号结束

8. 宏定义的#define PI 3.14中,用宏名PI 代表一个( )。

A) 单精度数 C) 字符变量 B) 双精度数 D) 符号常

四、 章节编程训练

1. 数据类型、运算符与表达式

1. 补充以下程序,实现从键盘输入一个整数,输出该数的平方。 #include main() {

int x;

scanf(“%d”,&x); printf(“%d”,x*x); }

2. 补充以下程序,

#include #include void main() { int x;

/**/ float f; /**/ 定义一个变量来存放表达式的值,注意应定义成浮点型,因为结果包含小数

printf(\ scanf(\

f = /**/ (fabs(x)-2)/(x*x+1) /**/ ; 表达式书写时注意分子分母用括号括起来 printf(\ getch(); }

3. 编写程序,使其计算表达式的值,运行并观察结果。

31

#include #include double fun1(double x) { /**/

return (1+sin(x)+exp(x))/(1+x); /**/ }

void main() {

clrscr();

printf(\ printf(\ printf(\}

4. 编写程序,根据三角形的三条边长a,b,c用公式

#include #include

/**/ double /**/ fun(float a,float b,float c)函数类型由返回值类型确定,因area是float型所以可设为double或float型

{

float s,area ;

s = /**/ (a+b+c)/2 /**/;根据题意可知 s = s*(s-a)*(s-b)*(s-c);计算面积 if( s < 0 ) 不能构成三角形的情况 area = -1; else

area = sqrt(s); return area ; }

main() {

float a,b,c,area;

printf(\

scanf(\输入三边长,注意scanf格式,本题输入时不能用逗号隔

开,应用空格或回车

area = fun(a,b,c);调用fun函数,传递三边长,计算面积,并接收fun函数返回的面积存

于area中

printf(\ getch(); }

32

2. 分支语句编写程序,使其计算以下分段函数

#include #include

void main() {

double x,y;

scanf(\

if(x>2) y=fabs(1.23*x-9);

else if(x = = 2) y=exp(x)+pow(x,3); else y=cos(x); printf(\}

1.

编写程序完成其中实现对输入的一个月工资数额,求应交税款,设应交税款的计算公式如下: 0 x≤1600 (x-1600)*5%-25 1600

f(x)= (x-1600)*10%-25 2100

(x-1600)*15%-125 x>3100

例如:输入:1825 输出: 输入:2700 输出:

f?1825??11.25

f?2700??85.00

f?5655??483.25

输入:5655 输出:#include #include double f(float x) {

/**/if else 多层选择结构,本题题目出错,第2个表达式应该没有-25,考试时注意下,不要

-25 就跟答案一样了

double y; if(x<=1600) y=0;

else if(x<=2100) y=(x-1600)*0.05; else if(x<=3100) y=(x-1600)*0.1-25; else y=(x-1600)*0.15-125;

33

return y; /**/} void main() {

float x; double y; clrscr();

printf(\ scanf(\ y = f(x);

printf(\ getch();}

#include #include

int fun(/**/ float a,float b,float c /**/)形式参数是用来接受被main函数调用时

传递给它的值的,故其类型跟传给它的值类型一致,观察main函数,传给它的值都是float型,故此处定义为float型,另注意定义形参时,每个变量前都应该加类型说明,即不能写为float a,b,c

{

float temp;

int bTrue = 0;bTrue做为返回值,从下面程序分析可知0代表不能构成直角三角形,1代表

可构成,此处先假设不能构成

if(a

if(a

以上两个if语句后使a存放的是三边中的最大边长

if( fabs(/**/ a*a /**/ - (b*b + c*c)) < 1.0e-15)若两边平方和与另一边平方和的

绝对值小于一个极小数,则构成直角三角形

bTrue = 1;能构成直角三角形 给bTrue赋值为1 return bTrue; }

main()

34

{

float a,b,c;

printf(\ scanf(\,%f,%f\

if( fun(a,b,c) == 1) a,b,c的类型决定了fun函数内参数的类型 printf(\ else

printf(\ getch(); }

3. 循环

1. 计算s=1+12+123+1234+12345

编写程序计算s=1+12+123+1234+12345。 #define N 5

#include void main() {

int t=0,/**/ s=0 /**/,i; s记得赋初值 for(i=1;i<=N;i++) {

t=/**/ t*10+i /**/; t存入累加项,观察给定表达式可知 其值为上一个

累加项*10+i

s+=t; }

clrscr();

printf(\ getch(); }

2. 补充程序Ccon 081.c,根据输入的整数m(m>=0)值,计算

?i.

i?1m#include

unsigned sum(unsigned n) {

unsigned i,/**/ sum=0; /**/ 累加和sum记得赋初值0 for(i=1;i<=n;i++) sum+=i;

/**/ return sum; /**/ 返回结果 }

void main() {

int m;

35


2011_C语言实验与习题l(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:放射科X线辐射防护管理制度.

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: