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进制(2k9)数的数字输出。例如,若输入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取一个数学函数的平方根
#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正常编译。本回答被提问者采纳
{
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;
}
没时间了 就写个第一题吧 这东西还是要自己多动脑子的
你还学个屁啊