ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:31.75KB ,
资源ID:9573150      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9573150.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言作业.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言作业.docx

1、C语言作业7.1 用筛法求之内的素数。 main() int i,j,a100; for(i=2;i100;i+) ai=i; for(j=2;j=i;j+) if(ji) if(ai%j=0) break; if(ai-j=0) printf(%5d,ai); printf(n); 或 #includemath.h main() static int i,j,k,a98; for(i=2;i100;i+) ai=i;k=sqrt(i); for(j=2;j=ai;j+) if(j=k+1) printf(%5d,ai); printf(n); 7.2用选择法对10个整数从小到大排序。 mai

2、n() int i,j,a10,t; for(i=0;i10;i+) scanf(%d,&ai); for(j=1;j10;j+) for(i=0;iai+1) t=ai+1;ai+1=ai;ai=t; for(i=0;i10;i+) printf(%5d,ai); 或 main() static int a10,i,j,k,t; for(i=1;i11;i+) scanf(%d,&ai); for(j=1;j10;j+) for(i=1;iai+1) t=ai+1;ai+1=ai;ai=t; for(i=1;i11;i+) printf(%d,ai); printf(n); 7.3求一个33

3、矩阵对角线元素之和。 main() int i=0,j=0,a33,s1,s2; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s1=a00+a11+a22; s2=a02+a11+a20; printf(s1=%d,s2=%dn,s1,s2); 或 main() static int i,j,s1,s2,a33; for(i=1;i=3;i+) for(j=1;j0;i-) if(aiai-1) t=ai-1;ai-1=ai;ai=t; for(i=0;i10;i+) printf(%5d,ai);printf(n); 或 main() stat

4、ic int a5=1,4,5,6,7; int i,t,b; scanf(%d,&b); for(i=0;i5;i+) if(b=ai) t=ai;ai=b;b=t; printf(%d ,ai); printf(%d,b); 7.5将一个数组的值按逆序重新存放,例如,原来顺序为:8,6,5,4,1。要求改为:1,4,5,6,8。 main() int i,b10; for(i=0;i-1;i-) printf(%5d,bi); printf(n); 7.6打印出以下杨辉三角形(要求打印出10行)。 1 11 121 1331 14641 15101051 main() static int

5、 m,n,k,b1515; b01=1; for(m=1;m15;m+) for(n=1;n=m;n+) bmn=bm-1n-1+bm-1n; printf(%-5d,bmn);printf(n); 或 main() int i,j,n,k,a1010; static a1=1,1,1,1,1,1,1,1,1,1; a11=1; for(k=2,k11;k+) for(i=2;i=k;i+) for(j=2;j=i;j+) aij=ai-1j-1+ai-1j; for(k=1;k11;k+) for(i=1;i=k;i+) for(j=1;j=i;j+) printf(%d,aij); 7.7

6、 打印“魔方阵”,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2 要求打印出由1n2的自然数构成的魔方阵。 解: #include main() int a1616,i,i,k,p,m,n; p=1; while(p=1) /*要求阶数为115的商数*/ printf(Enter n(n=115):); scanf(%d,&n); if(n!=0)&(n=15)&(n%2!=0) p=0; for(i=1;i=n;i+) /*初始化*/ for(j=1;j=n;j+) aij=0; j=n/2+1; /*建立魔方阵*/ a

7、1j=1; for(k=2;k=n*n;k+) i=i-1; j=j+1; if(in) i=i+2; j=j-1; else if(in) j=1; if(aij=0) aij=k; else i=i+2; j=j-1; aij=k; for(i=1;i=n;i+) /*输出魔方阵*/ for(j=1;j=n;j+) printf(%4d,aij); printf(n); 7.8找出一个二位数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。 main() int a55,b5,c5,d55,k=0,l=0;int i,j; for(i=0;i5;i+) for(j=0

8、;j5;j+) scanf(%d,&dij); for(i=0;i5;i+) for(j=0;j5;j+,aij=dij); for(i=0,k=0;i5;i+,k+) for(j=0;j=aij+1) bk=aij+1=aij; else bk=aij+1; for(j=0,l=0;j5;j+,l+) for(i=0;i4;i+) if(aij=ai+1j) cl=ai+1j=aij; else cl=ai+1j; for(i=0,k=0;i5;i+,k+) for(j=0,l=0;j5;j+,l+) if(dij-bk=0) if(dij-cl=0) printf(d%d%d=%dn,i,

9、j,dij); else printf(d%d%d=%d isnot andin,i,j,dij); 7.9有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出无此数 #includemath.h main() static int i,j,m,a15=1,4,9,13,21,34,55,89,144,233,377,570,671,703,812; scanf(%d,&m); for(j=0;j15;j+) printf(%4d,aj); printf(n); i=7; while(fabs(i-7)8) if(ma7

10、) if(ai-m=0) printf(it is at (%d)n,i+1);break;i+; else printf(8n); if(fabs(i-7)-8=0) printf(There is notn); 7.10有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。 main() int i,j=0,k=0,l=0,m=0,n=0;char str0301,str1100,str2100,str3100; gets(str1);gets(str2);gets(str3); strcat(str0,str1);strcat(st

11、r0,str2);strcat(str0,str3); for(i=0;str0i!=0;i+) if(str0i=65&str0i=97&str0i=48&str0i=57) l+; else if(str0i=32) m+; else n+; printf(Daxie Xiaoxie Shuzi Kongge Qitan); printf(%5d %7d %5d %6d %4dn,j,k,l,m,n); 7.11打印以下图案 main() int i,j,k;char a55; for(i=0;i5;i+) for(j=0;j5;j+) aij=*;printf(%c,aij); prin

12、tf(n); for(k=1;kZa-z B-Yb-y C-Xc-x 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码回原文,并打印出密码和原文。 main() int i;char str1100,str2100; gets(str1); for(i=0;str1i!=0;i+) if(str1i=65&str1i=97&str1iS2,输出一个正数;S1=S2,输出0;S1S2,输出一个负数。不要用strcpy函数。两个字符串用gets函数读入。输出的正数或负数的绝对值应是相比较的两个字符串相对应字符的ASCII码的差值。例如,A与C相

13、比,由于AC,应输出负数,由于A与C的码差值为2,因此应输出-2。同理:And和Aid比较,根据第2个字符比较结果,n比i大5,因此应输出5。 #include #include 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);

14、7.15 编写一个程序,将字符数组s2中的全部字符拷贝到字符数组s1中,不用strcpy函数。拷贝时,0也要拷贝过去,0后面的字符不拷贝。 解: #include stdio.h main() char s180,s280; int i; printf(Input s2:); scanf(%s,s2); for(i=0;istrlen(s2);i+) s1i=s2i; printf(s1:%sn,s1); #include int main() int a10; int i = 0,j=0; int max,temp; for(i=0;i8;+i) printf(Please input th

15、e %dth number:,i+1); scanf(%d,&ai); printf(The arry has been input is:n); for(i=0;i8;i+) printf(%d,ai); printf(n); for(i=0;i8;i+) max=i; for(j=i;jamax)?j:max); temp=amax; amax=ai; ai=temp; printf(The arry after sort is:n); for(i=0;i8;+i) printf(%d,ai); printf(n); printf(Plesae input another number:)

16、; scanf(%d,&temp); for(i=0;iai) break; for(j=8;j=i;-j) aj=aj-1; ai=temp; for(i=0;i9;i+) printf(%d ,ai); getchar(); return 0; 6.1输入两个正整数m和n,求其最大公约数和最小公倍数。 main() long m,n,i=1,j,s; scanf(%ld,%ld,&m,&n); for(;i=m&i=n) j=m; else j=n; for(;!(j%m=0&j%n=0);j+); printf(s=%ld,j=%ldn,s,j); 6.2输入一行字符,分别统计出其中英文

17、字母、空格、数字和其他字符的个数。 #includestdio.h main() char c;int i=0,j=0,k=0,l=0; while(c=getchar()!=n) if(c=65&c=97&c=48&c=57) j+; else if(c=32) k+; else l+; printf(i=%d,j=%d,k=%d,l=%dn,i,j,k,l); 6.3求Sn=a+aa+aaa+aaaaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。 #includemath.h main() int n,sum=0,i=1,s=2

18、; scanf(%d,&n); while(i=n) sum=sum+s;s=s+2*pow(10,i); i+; printf(sum=%dn,sum); 6.4 求 ,(即求1!+2!+3!+4!+5!+20!) main() int n,i=1;long sum=0,s=1; scanf(%d,&n); while(i=n) s=s*i;sum=sum+s;i+; printf(sum=%ldn,sum); 6.5 求 main() double i=1,j=1,k=1,s1=0,s2=0,s3=0,sum; for(;i=100;i+) s1=s1+i; for(;j=50;j+) s

19、2=s2+j*j; for(;k=100&x1000) a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b; if(x=(pow(a,3)+pow(b,3)+pow(c,3) printf(%5d,x);x+; 6.7一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程序找出1000之内的所有完数,并按下面格式输出其因子: 6itsfactorsare1、2、3 main() int m,i,j,s; for(m=6;m10000;m+) s=1; for(i=2;im;i+) if(m%i=0) s=s

20、+i; if(m-s=0) printf(%5d its fastors are 1 ,m);for(j=2;jm;j+) if(m%j=0) printf(%d ,j);printf(n); 或 main() int m,i,j,s; for(m=6;m1000;m+) s=m-1; for(i=2;im;i+) if(m%i=0) s=s-i; if(s=0) printf(%5d its fastors are 1 ,m);for(j=2;jm;j+) if(m%j=0) printf(%d ,j);printf(n); 6.8有一分数序列: 求出这个数列的前20项之和。 main()

21、int i=1,n;double t,x=1,y=2,s,sum=0; scanf(%ld,&n); while(i=n) s=y/x;sum=sum+s;t=y;y=y+x;x=t;i+; printf(%fn,sum); 6.9一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高? main() int i,n;double h=100,s=100; scanf(%d,&n); for(i=1;i=n;i+) h*=0.5;if(i=1) continue;s=2*h+s; printf(h=%f,s=%fn,h,s); 6.10猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。 main() int i=1,sum=0; for(;i=10;sum=2*sum+1,i+); printf(sum=%dn,sum); 6.11用迭代法求 。求平方根的迭代公式为: 要

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1