C语言一些题。。说的明白的追加分!

来源:百度知道 编辑:UC知道 时间:2024/05/29 01:29:35
1. 请编写函数float fun(float x, int m),它的功能是:将浮点数x保留m位小数(m不大于6),第m+1位四舍五入。例如,输入123.456,保留2位小数应输出123.46(或123.459999)。
2. 请编写一个函数unsigned fun ( unsigned w ), w是一个大于10的无符号整数,若w是n (n≥2)位的整数,函数求出w的后n-1位的数作为函数值返回。
3. 编写一个函数fun,函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为:7654321时,t中的数为:642.
4. 将十进制正整数转换成k进制(2k9)数的数字输出。例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示1000)。
5. 求出1!、3!、5!、…、k!(k是小于9的奇数)。例如:若k=7,则应输出: 1.00000 6.00000 120.00000 5040.00000。
6. 求 (此处a和n的值在1至9之间, 表示由n个a组成的整数)。例如,a=2,n=6,则以上表达式为:
s=222222-22222-2222-222-22-2
其和值是:197532。
7. 用下述公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:
≈1- + - +……
例如,若输入值为0.0001,则程序的输出3.1414。
8. 编写一个函数float fun(float eps),它的功能是:根据如下公式计算e的值:

其中的eps是指定的精度。

过程写一下, 也写一下 每道题明确的思路。。谢谢 会给多多分~

//浮点四舍五入保留n位小数
#include<stdio.h>

float fun(float x, int m);

int main()
{
float a;
int n;
printf("input a: ");//输入一个浮点数
scanf("%f", &a);
printf("input n: ");//输入保留的小数位
scanf("%d", &n);
a = fun(a, n);
printf("%f\n", a);
return 0;
}

float fun(float x, int m)
{
int i;
int k=1;

for (i=0; i<m+1; i++)//x小数点后移m+1位
{
k = k*10;
}

x = x*k;
x = x+5;//各位+5
x = x/10;//小数点左移1位
x = (int)x;//舍弃小数
x = (float)x/(k/10);//重新转成浮点
return x;
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//n位输出n-1位
#include<stdio.h>

unsigned fun1(unsigned w);
unsigned fun2(unsigned w);

int main()
{
unsigned a;
printf(&q