程序设计综合实例_第1页
程序设计综合实例_第2页
程序设计综合实例_第3页
程序设计综合实例_第4页
程序设计综合实例_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、百度文库第十章程序设计综合实例例1从键盘上输入三个整数,输由最大数和最小数#include<>/main()inta,b,c,temp;printf("请输入三个整数:n");scanf("%d%d%d",&a,&b,&c);if(a<b)temp=a;a=b;b=temp;if(a<c)temp=a;a=c;c=temp;if(b<c)temp=b;b=c;c=temp;printf("最大数是%dn",a);printf("最小数是%dn",c);i百度文库

2、例2编程输由所有的水仙花数。#include<>main()inta,b,c,i;for(i=100;i<=999;i+)a=i/100;b=i%100/10;c=i%10;if(a*a*a+b*b*b+c*c*c=i)printf("%d'n",i);例3编程输由斐波数列的第40项值方法一(使用数组)#include<>main()longa40;inti;a0=1;a1=1;for(i=2;i<=39;i+)ai=ai-1+ai-2;printf("%ld",a39);方法二(使用迭代)#include&l

3、t;>main()longa,b,c;intn;a=1;b=1;n=2;while(n<40)c=a+b;9a=b;b=c;n=n+1;printf("%ld",c);方法三(使用递归)#include<>longfun(intn)if(n=111n=2)return1;elsereturnfun(n-1)+fun(n-2);main()printf("%ld",fun(40);例4从键盘上输入一个4行4列整数矩阵,输由左上至右下对角线元素之和。#include<>#defineM4/#defineN4main()in

4、taMN,i,j,sum=0;printf(请输入16个整数n”);for(i=0;i<=M-1;i+)for(j=0;j<=N-1;j+)scanf("%d",&a皿);for(i=0;i<=M-1;i+)sum=sum+aii;printf("%d",sum);例5从键盘上输入一个4行4列整数矩阵,输由右上至左下对角线元素之和。#include<>#defineM4#defineN4main()/intaMN,i,j,sum=0;/printf(请输入16个整数n”);、for(i=0;i<=M-1;i+)

5、for(j=0;j<=N-1;j+)scanf("%d”,&aij);for(i=0;i<=M-1;i+)for(j=0;j<=N-1;j+)if(i+j=M-1)sum=sum+aij;printf("%d",sum);例6从键盘上输入一个4行4列整数矩阵,输由最外围元素之和。#include<>#defineM4#defineN4main()/(intaMN,i,j,sum=0;/printf(请输入16个整数n”);、for(i=0;i<=M-1;i+)for(j=0;j<=N-1;j+)scanf(&quo

6、t;%d”,&aij);for(i=0;i<=M-1;i+)for(j=0;j<=N-1;j+)if(i=0|i=M-1|j=0|j=N-1)sum=sum+aij;printf("%d",sum);例7从键盘上输入一个4行4列整数矩阵,输由下半三角元素之和。#include<>#defineM4#defineN4main()/intaMN,i,j,sum=0;/printf(请输入16个整数n”);、for(i=0;i<=M-1;i+)for(j=0;j<=N-1;j+)scanf("%d",&a皿)

7、;for(i=0;i<=M-1;i+)for(j=0;j<=N-1;j+)if(i>=j)sum=sum+aij;printf("%d",sum);例8从键盘上输入5个学生3门课程的成绩。输由每个学生的平均分和每门课程的平均分。#include<>#defineM5#defineN3main()/intaMN,i,j,sum;/printf(”请输入15个分数(0-100):n");for(i=0;i<=M-1;i+)for(j=0;j<=N-1;j+)scanf("%d",&a皿);print

8、f("每个学生的平均分n");for(i=0;i<=M-1;i+)sum=0;for(j=0;j<=N-1;j+)sum=sum+aij;printf("%4d”,sum/N);printf("n");printf("每门课程的平均分n");/for(i=0;i<=N-1;i+)sum=0;for(j=0;j<=M-1;j+)sum=sum+aji;printf("%4d”,sum/M);例9从键盘上输入10个整数,输由和平均数最接近的数#include<>#include<

9、;>main()inta10,i,index,sum=0;doubleavg,t;printf(”请输入10个整数:n");for(i=0;i<=9;i+)scanf("%d”,&ai);sum=sum+ai;百度文库avg=(double)sum/10;t=fabs(a0-avg);index=0;for(i=1;i<=9;i+)if(fabs(ai-avg)<t)t=fabs(ai-avg);index=i;printf("%d",aindex);例10编程输由小于19000的最大素数#include<>i

10、ntisprime(intnum)inti;for(i=2;i<=num-1;i+)if(num%i=0)return0;return1;main()intnum=18999;while(isprime(num)=0)num=num-1;printf("%d",num);例11从键盘上输入两个整数,分别输由它们的最大公约数和最小公倍数。#include<>intgetmax(inta,intb)intresult;result=a<b?a:b;while(a%result!=0|b%result!=0)result=result-1;returnre

11、sult;intgetmin(inta,intb)intresult=1;while(result%a!=0|result%b!=0)result=result+1;returnresult;main()inta,b;printf("请输入两个整数:n");scanf("%d%d”,&a,&b);printf("最大公约数是%dn",getmax(a,b);printf("最小公倍数是%dn",getmin(a,b);例12从键盘上输入10个整数,分别输由第K个最大数和第K个最小数。(K值从键盘输入)#inc

12、lude<>intgetmax(inta10,intk)inti,j,temp;for(i=0;i<=9;i+)for(j=i+1;j<=9;j+)if(ai<aj)temp=ai;ai=aj;aj=temp;returnak;intgetmin(inta10,intk)inti,j,temp;for(i=0;i<=9;i+)for(j=i+1;j<=9;j+)if(ai>aj)temp=ai;ai=aj;aj=temp;returnak;main()inta10,i,k;printf(”请输入10个整数:n");for(i=0;i&l

13、t;=9;i+)scanf("%d”,&ai);printf("请输入k值(1-9):n");scanf("%d",&k);printf("第d个最大数是%dn",k,getmax(a,k-1);printf("第d个最小数是%dn",k,getmin(a,k-1);例13已知数组A中从1开始存放连续10个完全平方数。从键盘上输入一个整数,将它插入到数组A中合适位置使之保持升序。最后输由整个数组。#include<>voidgetdata(inta11)inti;for(i=0

14、;i<=9;i+)ai=(i+1)*(i+1);voidinsert(inta11)inti,j,num;printf("请输入一个整数:n");scanf("%d”,&num);for(i=0;i<=9;i+)if(ai>num)for(j=9;j>=i;j-)aj+1=aj;break;ai=num;voidputdata(inta11)inti;for(i=0;i<=10;i+)printf("%4d",ai);main()inta11;getdata(a);insert(a);putdata(a);

15、例14已知数组A中从1开始存放连续10个完全平方数从键盘上输入一个整数,若在数组A中找到此数则将它删除并输由数组,找不到则提示”未找到此数#include<>voidgetdata(inta10)inti;for(i=0;i<=9;i+)ai=(i+1)*(i+1);voiddel(inta10)inti,j,num;printf("请输入一个整数:n");scanf("%d”,&num);for(i=0;i<=9;i+)if(ai=num)break;if(i<=9)for(j=i;j<=8;j+)aj=aj+1;fo

16、r(i=0;i<=8;i+)printf("%4d",ai);elseprintf("未找到此数!n");main()inta10;getdata(a);del(a);例15从键盘上输入A和N值,计算下列表达式的和(要求使用递归)S=A+AA+AAA+-.A.A(共N个A)#include<>/longfun(inta,intn)if(n=1)returna;elsereturnfun(a,n-1)*10+a;main()inta,n,i;longsum=0;printf("请输入a值(1-9)和n值:n");sca

17、nf("%d%d",&a,&n);for(i=1;i<=n;i+)sum=sum+fun(a,i);printf("%ld",sum);例16从键盘上输入10个整数,要求将它们去重后输由例如输入322/1、145552输由321452#include<>/voidcut(inta10,intb10)inti,temp,n=0;/printf(”请输入10个整数:n");、for(i=0;i<=9;i+)scanf("%d”,&ai);b0=a0;temp=a0;for(i=1;i<

18、=9;i+)if(ai!=temp)n=n+1;bn=ai;temp=ai;for(i=0;i<=n;i+)printf("%4d",bi);main()inta10,b10;cut(a,b);/例17编程输由下列图案。(图案的行数从键盘输入)ABBBCCCCC#include<>main()charc26;inti,j,k,n;printf(请输入图案行数n");scanf("%d",&n);for(i=0;i<26;i+)ci=i+65;for(i=1;i<=n;i+)for(j=1;j<=n-i

19、;j+)printf("%c",'');for(k=1;k<=2*i-1;k+)printf("%c",ci-1);/printf(n”");例18从键盘上输入两个字符串S1和S2,输由S2在S1中由现的次数。#include<>#include<>intgettimes(chars1100,chars2100)inti=0,j=0,num=0;while(i<=(int)strlen(s1)-1)if(s1i=s2j)i=i+1;j=j+1;if(j>(int)strlen(s2)-1

20、)j=0;num=num+1;elseif(j=0)i=i+1;elsej=0;returnnum;main()chars1100,s2100;printf("请输入字符串si(小写):n");gets(sl);printf("请输入字符串s2(小写):n");gets(s2);printf("%d",gettimes(s1,s2);例19尸从键盘上输入一个字符串,分别输由次数最多的字/母和它由现的次数。#include<>#include<>main()chars100;inta26,i,n,times,index;printf("请输入一个字符串(小写):n");gets(s);for(i=0;i<=25;i+)ai=0;for(i=0;i<=(int)strlen(s)-1;i+)n=si-'a'an=an+1;times=a0;index=0;for(i=1;i<=25;i+)if(ai>times)times=ai;index=i;printf(&quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论