《计算机二级上机编程题总结.pdf》由会员分享,可在线阅读,更多相关《计算机二级上机编程题总结.pdf(80页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、上 机 练 习 一(编 写 函 数 部 分):数 字 问 题 第 1 题 请 编 写 函 数 f u n,它 的 功 能 是:求 出 1 到 1000之 内 能 被 7 或 者 1 1整 除,但 不 能 同 时 被 7 和 1 1整 除 的 所 有 整 数,并 将 他 们 放 在 a 所 指 的 数 组 中,通 过 n 返 回 这 些 数 的 个 数。#include#include void fun(int*a,int*n)(int i,j=0;for(i=2;i1000;i+)if(i%7=0|i%11=0)&i%77!=0)aj+=i;*n=j;main()(int aa1000,n,k
2、;clrscr();fun(aa,&n);for(k=0;kn;k+)if(k+1)%10=0)printf(n);else printf(%5d,aak);)第 2 题 请 编 写 函 数 void fun(intx,int pp口,int*n),它 的 功 能 是:求 出 能 整 除 x 且 不 是 偶 数 的 各 整 数,并 按 从 小 到 大 的 顺 序 放 在 PP所 指 的 数 组 中,这 些 除 数 的 个 数 通 过 形 参 n 返 回。#include#include void fun(int x,int pp,int*n)(int i=1,j=0,k=0,*t=pp;for
3、(i=0;i=x;i+)if(i%2!=0)(W=i;j+;)for(i=0;ij;i+)if(x%ti=O)(ppk=ti;k+;)*n=k;)main()(int x,aa1000,n,i;clrscr();printf(nPlease enter an integer number:n);scanf(%d,&x);fun(x,aa,&n);for(i=0;in;i+)printf(%d,aai);printf(nn);)第 3题 请 编 写 一 个 函 数 v。idfun(intm,imk,intxx),该 函 数 的 功 能 是:将 大 于 整 数 m 且 紧 靠 m 的 k个 素 数
4、 存 入 x x所 指 的 数 组 中。#include#include void fun(int m,int k,int xx)(int g=O,i,j,flag=1;for(i=m+1;im*m;i+)(forQ=2;j=i)(if(k=0)(xxg+=i;k-;)elsebreak;)main()(int m,n,zz1000;clrscr();printf(nPlease enter two integers:*);scanf(d,%d”,&m,&n);fun(m,n,zz);for(m=0;mn;m+)printf(%d,zzm);printf(nn);)第 4 题 请 编 写 一
5、个 函 数 unsignedfun(unsigned w),w是 一 个 大 于 1 0的 无 符 号 整 数,若 w 是 n(nN2)位 的 整 数,则 函 数 求 出 w 后 n1位 的 数 作 为 函 数 值 返 回。#include#include unsigned fun(unsigned w)(unsigned t,s=0,s1=1,p=0;t=w;while(t10)(if(V10)p=t%10;s=s+p*s1;s1=s1*10;t=t/10;)return s;)main()(unsigned x;clrscr();printf(Enter a unsigned intege
6、r number:*);scant(u,&x);printf(The original data is:%un,x);if(x10)printf(Data error!);elseprintf(The result:%unM,fun(x);)第 5 题 请 编 写 一 个 函 数 float fun(double h),函 数 的 功 能 是 对 变 量 h 中 的 值 保 留 2 位 小 数,并 对 第 三 位 进 行 四 舍 五 人(规 定 h 中 的 值 为 正 数)。#include#include float fun(float h)(long t;float s;h=h*1000;
7、t=(h+5)/10;s=(float)t/100.0;return s;)main()(float a;clrscr();printf(Enter a:);scant(%f,&a);printf(The original data i s:);printf(%f nnn,a);printf(The result:%fnu,fun(a);)第 6题 编 写 函 数 int fun(int limjnt aamax),该 函 数 的 功 能 是 求 出 小 于 或 等 于 lim的 所 有 素 数 并 放 在 a a数 组 中,该 函 数 返 回 所 求 的 素 数 的 个 数。#include
8、#include#define MAX 100int fun(int lim,int aaMAX)int k=O,i,j;for(i=lim;i1;l)(forU=2;j=i)aak=i;k+;)return k+;main()(int limit,i,sum;int aaMAX;clrscr();printf(输 入 一 个 整 数)scanf(M%d,&limit);sum=fun(limit,aa);for(i=0;i sum;i+)(if(i%10=0&i!=0)printf(n);printf(%5d,aai);第 7 题 请 编 写 函 数 f u n,该 函 数 的 功 能 是:
9、判 断 字 符 串 是 否 为 回 文?若 是 则 函 数 返 回 1,主 函 数 中 输 出 y e s,否 则 返 回 0,主 函 数 中 输 出 no。回 文 是 指 顺 读 和 倒 读 都 是 一 样 的 字 符 串。#include#define N 80int fun(char*str)(int i,n=0,fg=1;char*p=str;while(*p)n+;P+;for(i=0;in/2;i+)if(stri=strn-1-i);else(fg=o;break;return fg;)main()(char sN;printf(Enter a string:);gets(s);
10、printf(nn);puts(s);if(fun(s)printf(YESn);elseprintf(NOn);)第 8 题 请 编 写 一 个 函 数 fun,它 的 功 能 是:求 出 1 到 m 之 内(含 m)能 被 7 或 1 1整 除 的 所 有 整 数 放 在 数 组 a 中,通 过 n 返 回 这 些 数 的 个 数。#include#include#define M 100void fun(int m,int*a,int*n)(int i,j=O;*n=O;for(i=1;i=m;i+)if(i%7=0|i%11=0)(aU=i;j+;)*n=j;)main()int aa
11、M,n,k;clrscr();fun(50,aa,&n);for(k=0;k n;k+)if(k+1)%20=0)printfCn);elseprintf(%4dH,aak);printf(n);第 9 题 请 编 写 函 数 fu n,其 功 能 是:将 所 有 大 于 1 小 于 整 数 m 的 非 素 数 存 入 x x所 指 的 数 组 中,非 素 数 的 个 数 通 过 k传 回。#include#include void fun(int m,int*k,int xx)(int i,j;int t=0;for(i=2;im;i+)(j=2;while(ji)(if(i%j=O)(xx
12、t=i;t+;break;j+;)*k=t;)main()(int m,n,zz100;clrscr();printf(Please enter an integer number between 10 and 100:);scanf(%dH,&n);fun(n,&m,zz);printf(,rnnThere are%d non-prime numbers less than%d:,m,n);for(n=0;n m;n+)printf(An%4dM,zzn);)第 1 0题 编 写 函 数 f u n,它 的 功 能 是:求 n 以 内(不 包 括 n)同 时 能 被 3 与 7 整 除 的
13、所 有 自 然 数 之 和 的 平 方 根 s,并 作 为 函 数 值 返 回。#include#include#include double fun(int n)double s=0.0;in ti;for(i=1;in;i+)if(i%3=0&i%7=0)s=s+i;s=sqrt(s);return s;)main()(clrscr();printf(s=%fn,fun(1000);)第 11题 请 编 写 函 数 f u n,该 函 数 的 功 能 是:统 计 各 年 龄 段 的 人 数。N 个 年 龄 通 过 调 用 随 机 函 数 获 得,并 放 在 主 函 数 的 age数 组 中
14、;要 求 函 数 把。至 9 岁 年 龄 段 的 人 数 放 在 d0中,把 10至 19岁 年 龄 段 的 人 数 放 在 d1中,把 20至 2 9岁 的 人 数 放 在 d2中,其 余 以 此 类 推,把 100岁(含 100以 上 年 龄 的 人 数 都 放 在 d10中。结 果 在 主 函 数 中 输 出。#include#define N 50#define M 11void fun(int*a,int*b)(int ij;for(j=0;jM;j+)bU=O;for(i=0;i=0&ai=10&ai=20&ai=30&ai=40&ai=50&ai=60&ai=70&ai=79)b
15、7+=1;else if(ai=80&ai=90&ai=99)b9+=1;elseb10+=1;)double rnd()(static t=29,c=217,m=1024,r=0;r=(r*t+c)%m;return(double)r/m);)main()(int ageN,i,dM;for(i=0;iN;i+)agei=(int)(115*rnd();printf(HThe original data:n);for(i=0;iN;i+)printf(i+1)%10=0?,%4dn:,%4d,agei);printf(nnH);fun(age,d);for(i=0;i10;i+)printf
16、(%4d%4d:%4dn,i*10,i*10+9,di);printf(n Over 100:%4dnn,d10);)第 1 2题 请 编 写 一 个 函 数 f u n,它 的 功 能 是:计 算 并 输 出 给 定 整 数 n 的 所 有 因 子(不 包 括 1与 自 身)之 和。规 定 n 的 值 不 大 于 1000。#include int fun(int n)(int s=0,i;for(i=2;i=n-1;i+)if(n%i=0)s+=i;return s;)main()int n,sum;printf(nlnput n:);scanf(%d,&n);sum=fun(n);pri
17、ntf(sum=%dn,sum);)第 1 3题 请 编 写 函 数 f u n,计 算 并 输 出 给 定 10个 数 的 方 差。#include#include double fun(double x10)(int ij;double s=0.0,s1=0.0;for(i=0;i10;i+)s1+=xi;s1/=10;forO=0;j10;j+)s+=(xj-s1)*(xj-s1);s/=10;s=pow(s,0.5);return s;)main()(Double s,x10=95,0,89.0,76,0,65.0,88.0,72.0,85.0,81.0,90.0,56.0;inti;
18、printf(nThe original data is:nH);for(i=0;i10;i+)printf(%6.1f,xi);printf(Hnn);s=fun(x);printf(ns=%fnn,s);)第 1 4题 请 编 写 函 数 fu n,它 的 功 能 是:计 算 并 输 出 n(包 括 n)以 内 能 被 5 或 9 整 除 的 所 有 自 然 数 的 倒 数 之 和。#include double fun(int n)(inti;double sum=0.0;for(i=1;i=n;i+)if(i%5=0|i%9=0)sum+=1.0/i;return sum;)main(
19、)(int n;double s;printf(Hnlnput n:);scanf(%d,&n);s=fun(n);printf(nns=%fn,s);)第 15题 请 编 写 函 数 fun,其 功 能 是:计 算 并 输 出 3 到 n之 间 所 有 素 数 的 平 方 根 之 和。#include#include double fun(int n)(int m,k,i;double s=0.0;for(m=3;m=n;m+)(k=sqrt(m);for(i=2;i=k+1)s+=sqrt(m);)return s;)main()(int n;double sum;printf(HnnIn
20、put n:”);scanf(”d”,&n);sum=fun(n);printf(,nnsum=%fnn,sum);)上 机 练 习 二(编 写 函 数 部 分):位 数 调 整 问 题 第 1题 请 编 写 函 数 f u n,其 功 能 是:将 两 个 两 位 数 的 正 整 数 a、b 合 并 成 一 个 整 数 放 在 c中。合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 依 次 放 在 c 数 的 千 位 和 十 位 上,b 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 百 位 和 个 位 上。#include#include void fun(int a,
21、int b,long*c)*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;main()(int a,b;long c;clrscr();printf(Input a,b:M);scanf(,%d%dH,&a,&b);fun(a,b,&c);printf(The result is:%dn,c);)第 2 题 请 编 写 函 数 f u n,其 功 能 是:将 两 位 数 的 正 整 数 a、b合 并 成 一 个 整 数 放 在 c 中。合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 百 位 和 个 位 上,b 数 的
22、 十 位 和 个 位 数 依 次 放 在 c 数 的 十 位 和 千 位 上。#include#include void fun(int a,int b,long*c)(*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;)main()int a,b;long c;clrscr();printf(Input a,b;);scant(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%ldn,c);)第 3题 请 编 写 函 数 fu n,其 功 能 是:将 两 个 两 位 数 的 正 整 数 a、b合 并 形 成 一 个 整
23、 数 放 在 c 中,合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 十 位 和 千 位 上,b 的 十 位 和 个 位 整 数 依 次 放 在 c 数 的 百 位 和 个 位 上。#include#include void fun(int a,int b,long*c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;)main()(int a,b;long c;clrscr();printf(Input a,b:);scanf(,%d%d,&a,&b);fun(a,b,&c);printf(n The result
24、 is:%ldn,c);)第 4 题 请 编 写 一 个 函 数 fu n,其 功 能 是:将 两 个 两 位 数 的 正 整 数 ab合 并 形 成 一 个 整 数 放 在 c 中。合 并 方 式 是:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 个 位 和 百 位 上,b 数 的 十 位 和 个 位 数 依 次 放 在 c数 的 十 位 和 千 位 上。#include#include void fun(int a,int b,long*c)(*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;)main()(int a,b;long c
25、;clrscr();printf(lnput a,b:H);scanf(1,%d%d,&a,&b);fun(a,b,&c);printf(The result is:%ldn,c);)第 5 题 请 编 写 函 数 fun,其 功 能 使:将 两 个 两 位 正 整 数 a b 合 并 形 成 一 个 整 数 放 在 c 中。合 并 的 方 式 使:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 百 位 和 个 位 上,b 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 千 位 和 十 位 上。#include#include void fun(int a,in
26、t b,long*c)*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;)main()(int a,b;long c;clrscr();printf(Input a,b:H);scant(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%ldn,c);)第 6 题 请 编 写 函 数 fun,其 功 能 是:将 两 个 两 位 数 的 正 整 数 a b 合 并 形 成 一 个 整 数 放 在 c中,合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 的 个 位 和 百 位 上,b 数 的
27、 十 位 和 个 位 数 依 次 放 在 c 数 的 千 位 和 十 位 上。#include#include void fun(int a,int b,long*c)(*c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;main()int a,b;long c;clrscr();printfC Input a,b:”);scanf(%d%d,&a,&b);fun(a,b,&c);printf(The result is:%ldn,c);)第 7 题 请 编 写 函 数 fun,其 功 能 是:将 两 个 两 位 数 的 正 整 数 a b 合 并 形 成 一 个
28、 整 数 放 在 c中。合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 千 位 和 十 位 上,b 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 个 位 和 百 位 上。#include#include void fun(int a,int b,long*c)(*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;)main()int a,b;long c;clrscr();printf(Input a,b:w);scant(%d%d,&a,&b);fun(a,b,&c);printf(The result
29、is:%ldn,c);)第 8题 请 编 写 函 数 fu n,其 功 能 是:将 两 个 两 位 数 的 正 整 数 a b合 并 形 成 一 个 整 数 放 在 c中。合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 的 十 位 和 千 位 上,b 数 的 十 位 和 个 位 数 依 次 放 在 c数 的 个 位 和 百 位 上。#include#include void fun(int a,int b,long*c)(*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/10;main()(int a,b;long c;clrscr
30、();printf(Input a,b:);scanf(,%d%dH,&a,&b);fun(a,b,&c);printfC*The result is:%ldn,c);)上 机 练 习 三(编 写 函 数 部 分):星 号 操 作 问 题 第 1题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:使 字 符 串 中 尾 部 的*号 不 得 多 于 n 个;若 多 于 n 个,则 删 除 多 于 的*号;若 少 于 或 等 于 n 个,则 什 么 也 不 做,字 符 串 中 间 和 前 面 的*号 不 删 除。#include#
31、include void fun(char*a,int n)(int i=0,k=0;char*p,*t;P=t=a;while(*t)t+;t-;while(*t=w)(k+;t-;t+;if(kn)while(*p&pt+n)(ai=*P;i+;P+;ai=0;)main()(char s81;int n;printf(Enter a string:n);gets(s);printf(Enter n:);scanf(%d,&n);fun(s,n);printf(The string after deleted:n);puts(s);)第 2 题 假 定 输 入 的 字 符 串 中 只 包
32、含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:将 字 符 串 中 的 前 导*号 全 部 移 到 字 符 串 的 尾 部。#include#include void fun(char*a)(int i=0,n=0;char*p;P=a;while(*p=w)(n+;P+;)while(*p)(ai=*P;i+;P+;)while(n!=0)(ai=*;i+;n-;ai=0;)main()char s81,*p;printf(Enter a string:n);gets(s);fun(s);printf(The string after moveing:n);puts(
33、s);)第 3 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:只 删 除 字 符 串 前 导 和 尾 部 的*号,串 中 字 母 之 间 的*号 都 不 删 除。形 参 n 给 出 了 字 符 串 的 长 度,形 参 h 给出 了 字 符 串 中 前 导*号 的 个 数,形 参 e 给 出 了 字 符 串 中 最 后 的*个 数。在 编 写 时 不 得 使 用 c 语 言 给 提 供 得 字 符 串 函 数。#include#include void fun(char*a,int n,int h,int e)(int i
34、=0;char*p;for(p=a+h;pa+n-e;p+)(*(a+i)=*p;i+;)*(a+i)=O;)main()(char s81,*t,*f;int m=0,tn=O,fn=O;printf(Enter a string:n);gets(s);t=f=s;while(*t)(t+;m+;)t-;while(*t=*)(t-;tn+;)while(*f=,*t)(f+;fn+;)fun(s,m,fn,tn);printf(nThe string after deleted:nM);puts(s);第 4 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写
35、函 数 f u n,它 的 功 能 是:除 了 尾 部 的*号 之 外,将 字 母 串 中 其 他*号 全 部 删 除。形 参 P 已 指 向 字 符 串 中 最 后 的 一 个 字 母。不 使 用 c的 字 符 串 函 数。#include#include void fun(char*a,char*p)(int i=0;char*q=a;while(q=p)(if(*q!=*)al=*q;i+;)q+;)while(*q)ai=*q;i+;q+;ai=0;main()char s81,*t;printf(Enter a string:n);gets(s);t=s;while(*t)t+;t-
36、;while(*t=*)t-;fu n(s,t);printf(The string after deleted:n);puts(s);)第 5 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:删 除 字 符 串 中 所 有*号。在 编 写 函 数 时,不 得 使 用 c语 言 提 供 的 字 符 串 函 数。#include#include void fun(char*a)(int i=0;char*p=a;while(*p)(if(*p!=*)(ai=*P;i+;P+;ai=0;)main()char s81;prin
37、tf(Enter a string:nn);gets(s);fun(s);printf(The string after deleted:n);puts(s);)第 6题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号,请 编 写 函 数 fu n,它 的 功 能 是:除 了 字 符 串 前 导 和 尾 部 的*号 之 外,将 串 中 其 他*号 全 部 删 除。形 参 h 已 指 向 字 符 串 第 一 个 字 符,形 参 p已 指 向 字 符 串 中 最 后 一 个 字 母。在 编 写 程 序 时,不 得 使 用 c语 言 提 供 的 字 符 串 函 数。#include#
38、include void fun(char*a,char*h,char*p)(int i=0;char*q=a;while(qh)(ai=*q;q+;i+;while(qp)if(*q!=*)(ai=*q;i+;q+;while(*q)(ai=*q;i+;q+;)ai=O;main()(char s81,*t,*f;printf(HEnter a string:n);gets(s);t=f=s;while(*t)t+;t-;while(*t=*)t-;while(*f=,*t)f+;fun(s,f,t);printf(The string after deleted:nn);puts(s);第
39、 7 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:将 字 符 串 尾 部 的*号 全 部 删 除,前 面 和 中 间 的*号 不 删 除。#include#include void fun(char*a)(int i=0;char*p,*q;P=q=a;while(*p)P+;P-;while(*p=,*1)P-;while(q=p)ai=*q;i+;q+;)ai=O;)main()char s81;printf(Enter a string:n);gets(s);fur)(s);printf(HThe string
40、after deleted:n);puts(s);)第 8 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:除 了 字 符 串 前 导 的*号 之 外,将 串 中 其 他*号 全 部 删 除。在 编 写 函 数 时,不 得 使 用 c 语 言 提 供 的 字 符 串 函 数。#include#include void fun(char*a)(int i=0;char*p=a;while(*p&*p=*1)(ai=*P;i+;P+;)while(*p)(if(*p!=*f)ai=*P;i+;)P+;)ai=,O,;main(
41、)(char s81;printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:nu);puts(s);第 9 题 规 定 输 入 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:将 函 数 字 符 串 中 的 前 导*号 全 部 删 除,中 间 和 尾 部 的*号 不 删 除。#include#include void fun(char*a)(int i=0;char*p=a;while(*p&*p=*)P+;while(*p)(ai=*P;i+;P+;ai=
42、0;main()(char s81;printf(HEnter a string:n);gets(s);fun(s);printf(HThe string after deleted:n);puts(s);)第 10题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 fu n,它 的 功 能 是:使 字 符 串 的 前 导*号 不 得 多 于 n个;若 多 于 n个,则 删 除 多 于 的*号;若 少 于 或 等 于 n个,则 什 么 也 不 做。字 符 串 中 间 和 尾 部 的*号 不 删 除。#include#include void fun(char
43、*a,int n)int i=0,k=0;char*t=a;while(*t=1*)(k+;t+;t=a;if(kn)t=a+k-n;while(*t)(ai=*t;i+;t+;)ai=0;)main()(char s81;int n;printf(Enter a string:n);gets(s);printf(Enter n:);scant(%d,&n);fun(s,n);printf(The string after deleted:n);puts(s);)上 机 练 习 四(编 写 函 数 部 分):计 算 多 项 式 问 题 第 1 题 编 写 函 数 fun,功 能 是:根 据 以
44、 下 公 式 计 算 s,计 算 结 果 作 为 函 数 值 返 回;n 通 过 形 参 传 入。S=1+17(1+2)+17(1+2+3)+.+17(1+2+3+4+.+n)#include#include#includefloat fun(int n)(int i;float s=1.0,t=1.0;for(i=2;in。p=m!/(n!(m-n)!)include#include float fun(int m,int n)(float p,t=1.0;int i;for(i=1;i=m;i+)t=t*i;P=t;for(t=1.0,i=1;i=n;i+)t=t*i;p=p/t;for(
45、t=1.0,i=1;i=m-n;i+)p=p/t;return p;)main()(clrscr();printf(P=%fn,fun(12,8);)第 3题 编 写 函 数 fun,它 的 功 能 是:利 用 以 下 的 简 单 迭 代 方 法 求 方 程 cos(x)-x=0的 一 个 实 根。迭 代 步 骤 如 下:取 x1初 值 为 0.0;(2)x0=x1,把 x 1的 值 赋 各 x0;(3)x1=cos(x0),求 出 一 个 新 的 x1;(4)若 x0-x1的 绝 对 值 小 于 0.000001,则 执 行 步 骤(5),否 则 执 行 步 骤(2);(5)所 求 x1就
46、是 方 程 cos(x)-x=0的 一 个 实 根,作 为 函 数 值 返 回。程 序 将 输 出 root=0.739085.#include#include#include float fun()(float x1=0.0,x0;do(x0=x1;x1=cos(x0);)while(fabs(x0-x1)=1 e-6);return x1;)main()(clrscr();printf(Root=%fn,fun();)第 4 题 请 编 写 一 个 函 数 fun,它 的 功 能 是:根 据 以 下 公 式 求 x 的 值(要 求 满 足 精 度 0.0005,即 某 项 小 于 0.00
47、05时 停 止 迭 代):x/2=1+1/3+1x2Z(3x5)+1x2x3Z(3x5x7)+1x2x3x4/(3x5x7x9)+.+1x2x3x.xn/(3x5x7x(2n+1)程 序 运 行 后,如 果 输 入 精 度 0.0 0 0 5,则 程 序 输 出 为 3.14。#include include double fun(double eps)(double s;float n,t,pi;t=1;pi=0;n=1.0;s=1.0;while(fabs(s)=eps)(pi+=s;t=n/(2*n+1);s*=t;n+;)pi=pi*2;return pi;)main()(double
48、 x;printf(Hlnput eps:);scanf(%lfn,&x);printf(neps=%lf,Pl=%lfn,x,fun(x);)第 5题 请 编 写 函 数 f u n,其 功 能 时:计 算 并 输 出 下 列 多 项 式 的 值:sn=1+1/1!+1/2!+1/3!+1/4!+.+1/n!#include double fun(int n)(double t,sn=1.0;int ij;for(i=1;i=n;i+)(t=1.0;forQ=1;j=i;j+)t*=j;sn+=1.0/t;)return sn;)main()(int n;double s;printf(nl
49、nput n:);scanf(%d,&n);s=fun(n);printf(ns=%fn,s);)第 6 题 请 编 写 一 个 函 数 f u n,它 的 功 能 时:求 fibonacci数 列 中 大 于 t 的 最 小 的 一 个 数,结 果 由 函 数 返 回。其 中 fibonacci数 列 f(n)的 定 义 为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)#include#include#include int fun(int t)(int a=1,b=1,c=0,i;for(i=4;i=t;i+)(if(ct)c=a+b;a=b;b=c;)elsebrea
50、k;)return c;)main()(int n;clrscr();n=1000;printf(nn=%d,f=%dn,n,fun(n);)第 7 题 编 写 函 数 f u n,它 的 功 能 时:计 算 并 输 出 下 列 级 数 和:s=1/(1*2)+1/(2*3)+.+1/(n(n+1)#include#include double fun(int n)(double s=0.0;inti;for(i=1;i=n;i+)s=s+1.0/(i*(i+1);return s;)main()(clrscr();printf(%fnH,fun(1O);)第 8 题 请 编 写 函 数 f