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

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位小数

#包括< stdio, h >

Floatfun(Floatx,intm);

Intmain()

浮动;

Intn;

Printf(“输入a:”);输入一个浮点数

扫描文件(" % f ", & a);

Printf(“输入n:”);输入保留的小数点

scanf (" % d ", & n);

A=fun(A,n);

Printf("%f\n",a);

返回0;

浮动乐趣(浮动x,intm)

Int我;

Intk=1;

For(I=0;I"m+1;I++)//x把小数点往后移m+1

K=K*10;

X=X*k;

X=X+5;//+5

X=X/10;小数点左移一位

X=(int)X;//丢弃小数

X=(浮点数)/X(k/10);//再次漂浮

返回x;

//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//n位输出n-1位

#包括< stdio, h >

无符号的fun1(无符号的w);

无符号的fun2(无符号的w);

Intmain()

无符号;

Printf(“输入a:”);

scanf (" % d ", & a);

A=fun1(A);

Printf("%d\n",a);

A=fun2(A);

Printf("%d\n",a);

返回0;

//不是32313133353236313431303231363533e4b893e5b19e31333238666366来理解你的意思…

无符号fun1(无符号w)

W = W > > 1;//向右移一点

返回w;

无符号fun2(无符号w)

W=W/10;//把个位去掉

返回w;

//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//绘制偶数位

#包括< stdio, h >

龙智fun(龙智a);

Intmain()

长整型;

Printf(“输入a:”);

扫描文件(" % ld ", & a);

A=fun(A);

Printf("%ld\n",a);

返回0;

龙龙凤(龙龙凤a)

长整型x=0;

Intt[10]。

IntI,j。

For(I=0;一个!!!!=0;我++)

[I]t=a%10;//每个位都被分配给一个数组

A=A/10;

J=我;

For (I = 0;I < j. I++)

如果((I+1)%2==0)//取出偶数

X=X+t[I];

X=X*10;

X=X/10;//上面的循环最后乘以了一个额外的10

返回x;

//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//2-hexadecimal转换

#include“stdio.h”

VoidTurn_Num(intx,intn);

Intmain()

Intx;

Intn;

Printf(“输入anum:”);

scanf(“% d”,& x);

Printf("输入n (n>=2):");输入转换的基础

scanf (" % d ", & n);

如果(n < 2)

Printf("nerr!"));

如果(x < 0)//小于0,首先打印一个'-'

Printf(“-”);

X=abs(X);//或x=x;*x或x=√x;

Turn_Num(x,n);

Printf("\n");

返回0;

VoidTurn_Num(intx,intn)

Int问;

Q=x/n。

如果问!=0)

Turn_Num(q,n);//从个位递归输出转换后的字符

Putchar("0123456789abcdef"[x%n]);

//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//很奇怪!

#include“stdio.h”

Intfun(Intx);

Intmain()

Int;

Int我;

的做

Printf(“输入a:”);

scanf (" % d ", & a);

}while (a>9 || ((a+1)%!)= 0));

For (I = 1;I < = a;I = I + 2)

Printf("%d\n",fun(I));

返回0;

Intfun(Intx)

如果(x==1)

返回1;

其他的

Return(x*fun(x-1));

//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//2222-222-22-2

#include“stdio.h”

Intmain()

Int;

Intn;

Ints,m=0;

Int我;

Printf(“输入a:”);

scanf (" % d ", & a);

Printf(“输入n:”);

scanf (" % d ", & n);

For (I = 0;I < n. I++)

M=M+a;

M=M*10;

M=M/10;

S=m;//s等于na

For (I = 0;I < n. I++)

M=M/10;

S=S-m;

Printf("s=%d\n",s);

返回0;

//////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////

//PI/4材料1/3++1/5-1/71/9…

#包括< stdio, h >

Intmain()

Doublef=1.0,thesum=0.0;

Intm,n;

双的;

Lf scanf (" % ", & a);/ /输入精度

对于(m = 1, n = 1;M > a * n. n = n + 2)

和是和加上f(m/n)

F=F*(1);

Sum=Sum*4;

Printf("PI=%lf\n",sum);

返回0;

//////////////////////////////////////////////////////////////////////

扩展资料:

注意事项:

C语言库函数,常用库函数有:

1.以scanf格式输入函数

2.printf格式的输出函数

3.Systemdos命令功能

4.分类排序

5.主要

6.fgets文件读取字符串函数

7.fput文件将写入字符串函数

8.Fscanf文件格式读取功能

9.fprintf文件格式编写函数

10.Fopen打开文件函数

11.Getchar输入字符函数

12.Putchar输出字符函数

13、malloc动态应用内存功能

14.自由存储功能

15.abs的绝对值数学函数

16.SQRT取一个数学函数的平方根

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-25
//浮点四舍五入保留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("input a: ");
scanf("%d", &a);
a = fun1(a);
printf("%d\n", a);
a = fun2(a);
printf("%d\n", a);
return 0;
}
//没看懂你题目意思。。。。
unsigned fun1(unsigned w)
{
w = w>>1;//右移一位
return w;
}

unsigned fun2(unsigned w)
{
w = w/10;//舍弃个位
return w;
}

//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//抽取偶数位
#include<stdio.h>

long int fun(long int a);

int main()
{
long int a;
printf("input a: ");
scanf("%ld", &a);
a = fun(a);
printf("%ld\n", a);
return 0;
}

long int fun(long int a)
{
long int x=0;
int t[10];
int i,j;

for (i=0; a != 0; i++)
{
t[i] = a%10;//每一位都赋给数组
a = a/10;
}

j = i;

for (i=0; i<j; i++)
{
if ((i+1)%2 == 0)//偶数位取出
{
x = x+t[i];
x = x*10;
}
}

x = x/10;//上面循环最后多乘了一次10
return x;
}

//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//2-16进制转换
#include "stdio.h"

void Turn_Num(int x, int n);

int main()
{
int x;
int n;
printf("input a num:");
scanf("%d", &x);
printf("input the n( n>=2 ):");//输入转换的进制
scanf("%d", &n);

if (n < 2)
{
printf("n err!");
}

if (x < 0)//小于0的数,先输出一个‘-’
{
printf("-");
x=abs(x);//或x=-x;或x=sqrt(x*x);
}

Turn_Num(x, n);
printf("\n");
return 0;
}

void Turn_Num(int x, int n)
{
int q;
q = x/n;

if(q != 0)
{
Turn_Num(q, n);//递归从个位开始输出转换后的字符
}
putchar("0123456789ABCDEF"[x%n]);
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//奇数阶乘
#include "stdio.h"

int fun(int x);

int main()
{
int a;
int i;

do
{
printf("input a: ");
scanf("%d", &a);
}while (a>9 || ((a+1)%2 != 0));

for (i=1; i<=a; i=i+2)
{
printf("%d\n", fun(i));
}

return 0;
}

int fun(int x)
{
if (x == 1)
{
return 1;
}
else
{
return (x*fun(x-1));
}
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//2222-222-22-2
#include "stdio.h"

int main()
{
int a;
int n;
int s,m=0;
int i;
printf("input a: ");
scanf("%d", &a);
printf("input n: ");
scanf("%d", &n);

for (i=0; i<n; i++)
{
m = m+a;
m = m*10;
}
m = m/10;
s = m;//s等于n个a组成的数

for (i=0; i<n; i++)
{
m = m/10;
s = s-m;
}

printf("s = %d\n", s);
return 0;
}
//////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////
//PI/4≈1-1/3+1/5-1/7+1/9....
#include <stdio.h>

int main()
{
double f=1.0, sum=0.0;
int m, n;
double a;
scanf("%lf", &a);//输入精确度

for (m=1, n=1; m>a*n; n=n+2)
{
sum = sum + f*m/n;
f = f*(-1);
}

sum = sum*4;
printf("PI=%lf\n", sum);
return 0;
}
//////////////////////////////////////////////////////////////////////
//最后一题,不知道为什么我看不到图,看不到公式。
//全部代码VC正常编译。本回答被提问者采纳
第2个回答  2009-08-31
float fun(float x, int m)
{
int t=1;
for (int i=1; i<=m+1; i++)
t=t*10;
int tmp=x *t;
tmp += 5; tmp /=10;
float k= (float)tmp / t *10;
return k;
}
没时间了 就写个第一题吧 这东西还是要自己多动脑子的
第3个回答  2009-08-31
不知道你怎么想的,学c就是要编程啊,你都要别人帮你做
你还学个屁啊
第4个回答  2009-08-31
这么多问题,没这个耐心看,建议分开问

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网