




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1输出斐波那契数列前40位,每6个数一行,每个数字占12列,对齐排列。#includeint main()int a,b,c,i;a=1,b=1;printf(%12d%12d,a,b);for(i=3;i40;i+)c=a+b;a=b;b=c;printf(%12d,c);if(i%6=0) printf(n);2编写程序,用选择法对10个整数进行排序(从小到大)。#includeint main()int a10;int i,j,t,min,temp;for(i=0;i10;i+)scanf(%d,&ai);printf(n);for(i=0;i10;i+)min=i;for(j=i+1;jaj) 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时,x1为最终结果。#include#includeint main() float a;double x0,x1;scanf(%f,&a);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;i5;i+)scanf(%d,&ai);for(i=0;i5;i+)printf(%5d,ai);printf(n);for(i=0,j=4;ij;i+,j-)temp=ai;ai=aj;aj=temp;for(i=0;i5;i+)printf(%5d,ai);5有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,求出这个数列的前20项之和。#includeint main()double a,b,x,c,i;a=2;b=1;x=0;for(i=1;i=20;i+)x=x+(a/b);c=a;a=a+b;b=c;printf(%lf,x);6编写程序要求输出所有的三位素数(每10个一行,数与数之间要有分隔)。#includeint main()int x,i,n=0;for(x=100;x1000;x+)for(i=2;i=x)printf(%5d,x);n+;if(n%10=0) printf(n);7编写程序,求所有大于m的k个素数,其中m和k都通过键盘输入。#include int main()int m,k,i,n=0,x;scanf(%d%d,&m,&k);for(x=m+1;nk;x+)for(i=2;i=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;sign=-sign;term=sign/n;pi=pi*4;printf(%f,pi);9编写程序要求输出以下图案:* * * *#include void main()int i,j;for(i=1;i=4;i+)for (j=1;j=5-i;j+)printf( );for(j=1;j=2*i-1;j+)printf(*);printf(n);for(i=1;i=3;i+)for(j=1;j=i+1;j+)printf( );for(j=1;j=6-(2*i-1);j+)printf(*);printf(n);10编写程序,求Sn=a+aa+aaa+aaa之值,其中a是一个数字,n表示a的位数,例如:2+22+222+2222+22222(此时n=5),n由键盘输入。#includeint main()int a,i,m;double sum=0;scanf(%d %d,&a,&m);for(i=1;i=m;i+)sum+=a;a=a*10+a;printf(a+aa+aaa+aaaa+.+aaa.a=%lf,sum);11输入两个正整数m和n,求其最大公约数和最小公倍数。#includeint main()int m,n,i,t,max,min;scanf(%d%d,&m,&n);if(mn)t=m;m=n;n=t;for(i=2;im;i+) if(m%i=0) if(n%i=0) max=i; printf(%5d,max); min=m*n/max; printf(%5d,min);12.请用递归算法,求1+2+3+n,n由键盘输入。#includefun(int n)if(n=1) return 1;else return n+fun(n-1);int main()int n;int s;scanf(%d,&n);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,&n);printf(%dn,fun(n); 14. 请用递归算法求n阶勒让德多项式的值,递归公式如下: 1 (当n=0时)Pn(x)= x (当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,&n,&x);printf(%lf,p(n,x);15编写函数int isprime(int a),用来判断自变量a是否为素数,若是素数,函数返回1,否则返回0,要求在主函数中调用isprime,若判断的素数,输出YES,不是素数,则输出NO。#includeint main()int a;int isprime(int a);printf(a=);scanf(%d,&a);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;i=x/2;i+)if(isprime(x-i)printf(%d=%d+%dn,x,i,x-i);int isprime(int a)int i;for(i=2;ia;i+)if(a%i=0) return 0;return 1;int main()int x;scanf(%d,&x);if(x%2=0) even(x);else printf(error!);17编写函数double fun(int n),求1-1/2+1/3-1/4+1/5-1/6+1/7+1/n,其中n由键盘输入。#includeint main()int n;double s;double fun(int n);printf(n=);scanf(%d,&n);s=fun(n); printf(s=%lfn,s);return 0;double fun(int n)int sign=1,i;double sum=0.0; for(i=1;i=n;i+)sum+=sign*1.0/i;sign=-sign; return (sum);28输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。#includeint 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; else if(word=0) word=1;num+; printf(There are %d words.n,num);19.编一程序,将两个字符串连接起来,不要用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(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;若s1s2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值是两个相比较的两个字符串相应字符的ASCII码的差值。例如,“A”与“C”相比,由于“A”“C”应输出负数,同时由于“A”与“C”的ASCII码差值为2,因此应输出“-2”。同理:“And”和“Aid”比较,根据第2个字符比较结果,“n”大“i”5,因此应输出“5”。(P169)#include#includeint main()int i,resu;char s1100,s2100;printf(n input string1: );gets(s1); printf(n input string2: ); gets(s2);i=0;while(s1i=s2i&s1i!=0) i+;if(s1i=0&s2i=0) resu=0;else resu=s1i-s2i;printf(n result: %dn,resu);22编写程序,用冒泡法对10个字符串进行排序(两种方法:按长短或是按ASCII码大小)。#include#includeint main()char string20,str1020;int i,j;for(i=0;i10;i+)gets(stri);for(i=0;i9;i+)for(j=i+1;jstrlen(strj)strcpy(string,stri);strcpy(stri,strj);strcpy(strj,string);printf(nn);for(i=0;i10;i+)puts(stri);return 0;大小比较#include#includeint main()char string20,str1020;int i,j;for(i=0;i10;i+)gets(stri);for(i=0;i9;i+)for(j=i+1;j0)strcpy(string,stri);strcpy(stri,strj);strcpy(strj,string);printf(nn);for(i=0;i10;i+)puts(stri);return 0;23.编写程序,定义一个含有30个元素的int类型数组。依次给数组元素赋奇数1,3,5;然后按每行十个顺序输出,最后按每行十个逆序输出。#includeint main()int a30,i,j,t;for(i=0;i30;i+)ai=2*i+1;for(i=0;i30;i+)printf(%2d ,ai);if(i+1)%10=0) printf(n);printf(nn);for(i=0,j=29;ij;i+,j-) t=ai;ai=aj;aj=t;for(i=0;i30;i+)printf(%2d ,ai);if(i+1)%10=0) printf(n);printf(n);return 0;24已知数组a中的50个元素的值都在0-9的范围内,编写程序统计每个整数的个数。#includevoid getdata(int *a,int n)int i;for(i=0;in;i+)scanf(%d,a+i);outdata(int a,int n)int i;for(i=0;in;i+)printf(%d,ai);printf(nn);void fun(int *a,int *c)int i;for(i=0;i10;i+) ci=0;for(i=0;i10;i+)cai+;int main()int a10,c10;getdata(a,10);outdata(a,10);fun(a,c);outdata(c,10);25W数组中存放n个数据,编写函数删除下标为k的元素中值。#includevoid arrout(int *a,int n)int i;for(i=0;in;i+)printf(%d,ai);int getindex(int n)int i;doscanf(%d,&i);while(i=n);return i;int arrdel(int *a,int n,int k)int i;for(i=k;in-1;i+)ai=ai+1;return n-1;int main()int a10=1,2,3,4,5,6,7,8,9,10,n,d;arrout(a,10);d=getindex(10);n=arrdel(a,10,d);arrout(a,n);26编写程序把任意十进制转换成二进制数。#includeint main()int x,a100,k,i;scanf(%d,&x);for(i=0;x;x/=2,i+)ai=x%2;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;iN;i+) for(j=0;jM;j+) scanf(%d,&spij);void lineave(int sM,float *a)int i,j; float ave; for(i=0;iN;i+)ave=0; for(j=0;jM;j+) ave+=sij; ave/=M; ai=ave;void outdata(int spNM,float a) int i,j; for(i=0;iN;i+) for(j=0;jM;j+) printf(%4d,spij); printf(%6.2f,ai); pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 力学计量员质量追溯知识考核试卷及答案
- 镜框喷漆颜色匹配工艺考核试卷及答案
- 锅炉水处理设备清洗工艺考核试卷及答案
- 电子陶瓷挤制成型工特殊工艺考核试卷及答案
- 医学工程技术试题及答案
- 历史专业试题及答案
- 河南省濮阳市华龙区濮阳第一高级中学2025-2026学年高二上学期开学摸底检测化学试卷(含答案)
- 湖南省永州市冷水滩区普利桥镇小学2025-2026学年四年级数学上册一二单元月考试卷(人教版A4)
- 广西钦州市第十三中学2026届上学期高三年级第六周考试历史试卷(含答案)
- 聊城地铁围挡施工方案
- 2025年全国保密教育线上培训考试试题库完整答案附带答案详解
- 华为财务管理(6版)-华为经营管理丛书
- DB15-T 2241-2021 数据中心绿色分级评估规范
- 吐鲁番地区鄯善县区域环境概况自然及社会环境概况
- 国家中长期科技发展规划纲要2021-2035
- 高级食品微生物学- 课件全套 第1-9章 益生菌的分类、分离与鉴定-微生物的系统生物学研究技术
- 产品报价单货物报价表(通用版)
- 计算机专业英语第4版PPT完整全套教学课件
- 国防法规优秀课件
- 世界烟草控制框架公约解读
- GB/T 1631-2008离子交换树脂命名系统和基本规范
评论
0/150
提交评论