1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言进阶编程 培训 大学C语言进阶编程实例.doc

c语言进阶编程 培训 大学C语言进阶编程实例.doc

时间:2023-01-17 18:24:58

相关推荐

c语言进阶编程 培训 大学C语言进阶编程实例.doc

6-1?拆分实数的整数与小数部分?(15?分)

本题要求实现一个拆分实数的整数与小数部分的简单函数。

函数接口定义:

void splitfloat( float x, int *intpart, float *fracpart );

其中x是被拆分的实数(0≤x<10000),*intpart和*fracpart分别是将实数x拆分出来的整数部分与小数部分。

程序:

#include

void splitfloat( float x, int *intpart, float *fracpart )

{

????*intpart = (int)x;

????*fracpart = x- (*intpart);

}

int main()

{

float x, fracpart;

int intpart;

scanf("%f", &x);

splitfloat(x, &intpart, &fracpart);

printf("The integer part is %d\n", intpart);

printf("The fractional part is %g\n", fracpart);

return 0;

}

6-2?利用指针找最大值?(10?分)

本题要求实现一个简单函数,找出两个数中的最大值。

函数接口定义:

void findmax( int *px, int *py, int *pmax );

其中px和py是用户传入的两个整数的指针。函数findmax应找出两个指针所指向的整数中的最大值,存放在pmax指向的位置。

程序:

#include

void findmax( int *px, int *py, int *pmax )

{

*pmax=(*px>*py)?*px:*py;

}

int main()

{

int max, x, y;

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

findmax( &x, &y, &max );

printf("%d\n", max);

return 0;

}

6-3?计算两个复数之积?(15?分)

本题要求实现一个计算复数之积的简单函数。

函数接口定义:

struct complex multiply(struct complex x, struct complex y);

其中struct complex是复数结构体,其定义如下:

struct complex{

int real;

int imag;

};

程序:

#include

struct complex{

int real;

int imag;

};

struct complex multiply(struct complex x, struct complex y)

{

????struct complex result;

????result.real=x.real*y.real-x.imag*y.imag;

????result.imag=x.real*y.imag+x.imag*y.real;

????return result;

};

int main()

{

struct complex product, x, y;

scanf("%d%d%d%d", &x.real, &x.imag, &y.real, &y.imag);

product = multiply(x, y);

printf("(%d+%di) * (%d+%di) = %d + %di\n",

x.real, x.imag, y.real, y.imag, product.real, product.imag);

return 0;

}

6-4?按等级统计学生成绩?(20?分)

本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。

函数接口定义:

int set_grade( struct student *p, int n );

其中p是指向学生信息的结构体数组的指针,该结构体的定义为:

struct student{

int num;

char name[20];

int score;

char grade;

};

n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要根据学生的成绩score设置其等级grade。等级设置:85-100为A,70-84为B,60-69为C,0-59为D。同时,set_grade还需要

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。