c语言解题.docx
- 文档编号:18005262
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:15
- 大小:86.99KB
c语言解题.docx
《c语言解题.docx》由会员分享,可在线阅读,更多相关《c语言解题.docx(15页珍藏版)》请在冰豆网上搜索。
c语言解题
第五次作业:
函数
计算并输
1.自然数的计算编写自己的两个函数,分别求出两个整数的最大公约数和最小的公倍数。
编写一个程序,功能是能够由键盘输入两个整数,并能调用自己编写的函数,出这两个整数的最大公约数和最小公倍数。
#include
voidmain()
{
inta,b,c,d;
scanf("%d%d",&a,&b);
c=ys(a,b);
d=bs(a,b);
printf("a,b的最小公倍数是%d\n最大公约数是%d\n",d,c);
}
intys(intx,inty)
{
inti;
for(i=x;i>=1;i--)
if(x%i==0&&y%i==0)
return(i);
}
intbs(intx,inty)
{
inti;
for(i=x;i<=x*y;i++)
if(i%x==0&&i%y==0)
return(i);
}
bd
2.字符串连接
请使用字符数组,编写自己的字符串连接函数。
编写一个程序,功能是能够由键盘输入两个字符串,并能调用自己编写的字符串连接函
数,输出新的字符串。
#include
voidmain()
{charIj(charx[],chary[],charz[]);
inti,j;
chara[100],b[100],c[200];
gets(a);
gets(b);
lj(a,b,c);
for(i=0;i printf("%c",c[i]); printf("\n"); } charlj(charx[],chary[],charz[]) { inti,j; for(i=0;i z[i]=x[i]; for(i=strlen(x);i<=strlen(x)+strlen(y)-1;i++)z[i]=y[i-strlen(x)]; } W"C: \Debug\l.exe" abedsfgh ijkinnap ab&defghijkinnap Pressanykeytocontinue^ 3.三角函数 请使用台劳级数编写自己的常用三角近似值计算函数,用于自己程序的调用。 台劳级数 为: 357 xxxx sinx=—————-——-... 1! 3! 5! 7! 0 2 4 6 x x x x cosx- + + 1! 2! 4! 6! 舍去的值由自己定义一个最小值。 请用自己的函数计算下面两个表达式的值,并且与VC++提供的标准函数之间的误差进 行比较。 请输入结果。 —C0sc0 y初2E) y=2*sinxsirxcosc-coSx,(x=450) #include #inelude voidmain() {floats(floatx); floatc(floatx); floata,b,e,d; a=3.141592/3; d=3.141592/4;b=sqrt((1-c(a))/2); e=2*s(d)*s(d)+s(d)*c(d)-c(d)*c(d);printf("%f\n%f\n",b,e); } floats(floatx) { inti; floaty=0,s=1/x,t=1/2,w;for(i=1;w>1e-6||w<-1*1e-6;i++) {s=x*x*s;t=i*(i+1)*t;w=s/t;y=y+w;w=-1*w; } return(y); } floatc(floatx) { inti; floaty=0,s=1/(x*x),t=1/2,w;for(i=1;w>1e-6||w<-1*1e-6;i++){ s=x*x*s;t=i*(i+1)*t;w=s/t;y=y+w;w=-1*w; } return(y); } 4.弦截法解方程 32 用弦截法求解方程f(x)=x3-5x2+16x-80=0的根。 要求使用和编写如下的函数: 32 代表f(x)=x3-5x2+16x-80的值 #include voidmain() {floatroot(floatx1,floatx2); floatx1,x2,x; do {scanf("%f%f",&x1,&x2); }while(f(x1)*f(x2)>0);x=root(x1,x2); printf("therootis%f",x); } floatf(floatx) { floaty;y=x*x*x-5*x*x+16*x-80;return(y); } floatxpoint(floatx1,floatx2) {floaty;y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));returny; } floatroot(floatx1,floatx2) { floatx; do {x=xpoint(x1,x2);if(f(x)*f(x1)<0)x2=x; elsex1=x; }while(fabs(f(x))>=1e-6);return(x); } 5.最长单词编写一个自己的函数,能够将一个字符串中最长的单词查找出来。 编写一个程序,功能是能够由键盘输入一行字符,并能调用自己编写的最长单词查找函数,输出这个单词。 #include voidmain() { chara[1000],b[1000][1000]; inti,k,f; for(i=0;i<1000;i++) scanf("%c",&a[i]); b[k][f]=longest(a); for(i=0;i printf("%c",b[k][i]); } charlongest(chara[]) { inti,j,f,k,n,y; charx[1000],b[1000][1000];n=strlen(a); if(a[0]! ='') { for(i=0,f=0;i { if(a[i]=='') break; else { b[0][f]=a[i]; f++; } x[0]=f; } } else { for(i=0,k=0;i { if(a[i+1]! ='') { for(j=i+1,f=0;j { if(a[j]=='') break; else { b[k][f]=a[j]; f++; } x[k]=f; } } k++; } y=k; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 解题