C语言复习程序答案.doc

上传人:h**** 文档编号:1787684 上传时间:2019-03-15 格式:DOC 页数:11 大小:99.50KB
下载 相关 举报
C语言复习程序答案.doc_第1页
第1页 / 共11页
C语言复习程序答案.doc_第2页
第2页 / 共11页
C语言复习程序答案.doc_第3页
第3页 / 共11页
C语言复习程序答案.doc_第4页
第4页 / 共11页
C语言复习程序答案.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、1输出斐波那契数列前 40 位,每 6 个数一行,每个数字占 12 列,对齐排列。#includeint main()int a,b,c,i;a=1,b=1;printf(“%12d%12d“,a,b);for(i=3;iint main()int a10;int i,j,t,min,temp;for(i=0;iaj) min=j;if(min!=i)temp=amin;amin=ai;ai=temp;printf(“%5d“,ai);3用迭代法求某正数 a 平方根 x1,已知求平方根的迭代公式为:X0=a/2X1=1.0/2*(x0+a/x0)当 x0-x1 的绝对值小于 1e-5 时, x

2、1 为最终结果。#include#includeint main()float a;double x0,x1;scanf(“%f“,if(a=1e-5);printf(“%lf“,x1);4编写程序,将一个数组中的值逆序重新存放:例如原来顺序为 8,6,5,4,1。要求改为1,4,5,6,8。#includeint main()int a5,i,j,temp;for(i=0;iint main()double a,b,x,c,i;a=2;b=1;x=0;for(i=1;iint main()int x,i,n=0;for(x=100;x=x)printf(“%5d“,x);n+;if(n%10

3、=0) printf(“n“);7编写程序,求所有大于 m 的 k 个素数,其中 m和 k 都通过键盘输入。#include int main()int m,k,i,n=0,x;scanf(“%d%d“,for(x=m+1;n=x) printf(“%5d“,x);n+;8用 pi/41-1/3+1/5-1/7+ 公式求 pi 的近似值,直到发现某一项的绝对值小于 106 为止(该项不累加) 。#include #include int main()float pi=0,n=1,term=1;int sign=1;while (fabs(term)=1e-6)pi=pi+term;n=n+2;

4、sign=-sign;term=sign/n;pi=pi*4;printf(“%f“,pi);9编写程序要求输出以下图案:*#include void main()int i,j;for(i=1;iint main()int a,i,m;double sum=0;scanf(“%d %d“,for(i=1;iint main()int m,n,i,t,max,min;scanf(“%d%d“,if(mn)t=m;m=n;n=t;for(i=2;ifun(int n)if(n=1) return 1;else return n+fun(n-1);int main()int n;int s;sca

5、nf(“%d“,s=fun(n);s=fun(n);printf(“s=%dn“,s);13请用递归算法,求斐波那契数列,求 n 阶斐波那契数列的公式如下:1 (当 n=0 时)F(n)= 1 (当 n=1 时)F(n-1)+F(n-2) (当 n1 时) #includefun(int n)if(n=0|n=1) return 1;else return fun(n-1)+fun(n-2);int main() int n;scanf(“%d“,printf(“%dn“,fun(n); 14. 请用递归算法求 n 阶勒让德多项式的值,递归公式如下:1 (当 n=0 时)Pn(x)= x (当

6、 n=1 时)(2n-1)*x-pn-1(x)-(n-1)*pn-2(x)/n (当 n1 时)#includedouble p(int n,int x)if(n=0) return x;else if(n=1) return x;else return (2*n)*x-p(n,x)-(n-1)*p(n-2),x)/n ;int main()int n,x;scanf(“%d%d“,printf(“%lf“,p(n,x);15编写函数 int isprime(int a),用来判断自变量 a是否为素数,若是素数,函数返回 1,否则返回 0,要求在主函数中调用 isprime,若判断的素数,输出

7、YES,不是素数,则输出 NO。#includeint main()int a;int isprime(int a);printf(“a=“);scanf(“%d“,if(isprime(a)printf(“YESn“);elseprintf(“NOn“);return 0;int isprime(int n)int i;for(i=2;i=n) return(1);else return(0);16编写函数,验证任意偶数为两素数之和,并输出该素数。#includevoid even(int x)int i;for(i=2;iint main()int n;double s;double fu

8、n(int n);printf(“n=“);scanf(“%d“,s=fun(n);printf(“s=%lfn“,s);return 0;double fun(int n)int sign=1,i;double sum=0.0;for(i=1;iint main() char string81; int i,num=0,word=0; char s,c; gets(string); for(i=0;(c=stringi)!=0;i+) if(c= ) word=0;elseif(word=0) word=1;num+; printf(“There are %d words.n“,num);1

9、9.编一程序,将两个字符串连接起来,不要用strcat 函数。(P169)#include #includeint main()char s120,s220;int i,j;gets(s1);gets(s2);puts(s1);puts(s2);for(i=0;s1i;i+);for(j=0;s2j;j+)s1i+=s2j;s1i=0;puts(s1);20.编写一个程序,将字符数组 s2 中的全部字符复制到字符数组 s1 中。不用 strcpy 函数。复制时,0后面的字符不复制。(P169)#include#includeint main()char s120,s220;int i;gets

10、(s1);gets(s2);puts(s1);puts(s2);for(i=0;s2i!=0;i+)s1i=s2i;s1i=0;puts(s1);21.编一个程序,将两个字符串 s1 和 s2 比较,若s1s2,输出一个正数;若 s1=s2,输出 0;若 s1#includeint main()int i,resu;char s1100,s2100;printf(“n input string1: “);gets(s1);printf(“n input string2: “);gets(s2);i=0;while(s1i=s2iif(s1i=0else resu=s1i-s2i;printf(

11、“n result: %dn“,resu);22编写程序,用冒泡法对 10 个字符串进行排序(两种方法:按长短或是按 ASCII 码大小) 。#include#includeint main()char string20,str1020;int i,j;for(i=0;istrlen(strj)strcpy(string,stri);strcpy(stri,strj);strcpy(strj,string);printf(“nn“);for(i=0;i#includeint main()char string20,str1020;int i,j;for(i=0;i0)strcpy(string

12、,stri);strcpy(stri,strj);strcpy(strj,string);printf(“nn“);for(i=0;iint main()int a30,i,j,t;for(i=0;ivoid getdata(int *a,int n)int i;for(i=0;ivoid arrout(int *a,int n)int i;for(i=0;i=n);return i;int arrdel(int *a,int n,int k)int i;for(i=k;iint main()int x,a100,k,i;scanf(“%d“,for(i=0;x;x/=2,i+)ai=x%2;

13、k=i;for(i=k-1;i=0;i-)printf(“%d“,ai);27编写出程序通过调用数函数给 5*6 的二维数组元素赋整数,求出二维数组每行元素平均值。#define M 6#define N 5#includeint main()void getdata(int(*)M);void lineave(int sM,float *a);void outdata(int spNM,float a);int rNM;float aveN;getdata(r);lineave(r,ave);outdata(r,ave);void getdata(int(*sp)M)int i,j;for(i=0;ivoid satdata(int (*s)N,int n)int i,j;for(i=0;in;i+)si0=1;sii=1;for(i=2;in;i+)for(j=1;ji;j+)sij=si-1j+si-1j-1;void outdata(int sN,int n)int i,j;for(i=0;in;i+)for(j=0;j=i;j+)printf(“%6d“,sij);printf(“n“);int main()int yNN;satdata(y,7);outdata(y,7);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。