题目要求
本题要求实现一个计算输入的两数的和与差的简单函数。
函数接口定义:
void sum_diff( float op1, float op2, float *psum, float *pdiff );
其中op1和op2是输入的两个实数,psum和pdiff是计算得出的和与差。
代码
函数通过指针赋值。
#include <stdio.h>void sum_diff( float op1, float op2, float *psum, float *pdiff );
void sum_diff( float op1, float op2, float *psum, float *pdiff )
{float m,n;m=op1+op2; *psum=m;n=op1-op2;*pdiff=n;
}
int main()
{float a, b, sum, diff;scanf("%f %f", &a, &b);sum_diff(a, b, &sum, &diff);printf("The sum is %.2f\nThe diff is %.2f\n", sum, diff);return 0;
}
题目要求
本题要求实现一个拆分实数的整数与小数部分的简单函数。
函数接口定义:
void splitfloat( float x, int *intpart, float *fracpart );
其中x是被拆分的实数(0≤x<10000),intpart和fracpart分别是将实数x拆分出来的整数部分与小数部分。
代码
同样是用指针代替返回,注意强制类型转换int s=int(x)有可能编译不通过,尽量写(int)x
#include <stdio.h>void splitfloat( float x, int *intpart, float *fracpart );
void splitfloat( float x, int *intpart, float *fracpart ){int s=(int)x;*intpart = s;*fracpart=x-s;
}
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;
}/* 你的代码将被嵌在这里 */