- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上机题总结
C语言上机编程题总结
石寅斌
第一部分 前十次上机题汇总
一个较大的偶数可分解为两个质数之和。编程要求:(1)编写函数int guess(int a[][3],int m,int n),其功能是将[m,n]内任一偶数i分解成两个质数k和j之和(得到验证即可,如果有多个答案,只取一个),将i,j,k依次写到a指向的二维数组一行中的三个元素中,函数返回实际写入二维数组中的行数;(2)编写main函数,定义一个行数为100列数为3的二维数组a,用a作为实在参数,调用guess函数求出[6,20]内偶数的分解情况,并按行的形式输出a数组中的元素。#includestdio.h
#includemath.h
int prime(int p)
{int g,h; h=sqrt(p);
for(g=2;g=h;g++)
if(p%g==0) return 0;
if(gh) return 1;}
int guess(int a[][3],int m,int n)
{ int i,k,j,p=0;
for(i=m;i=n;i+=2)
{ for(k=3;k=i/2;k+=2)
if(prime(k))
{j=i-k;if(prime(j))
{a[p][0]=i;
a[p][1]=k;
a[p][2]=j;p++;break;}
}
}
}
void main()
{
int i,j,a[100][3];
guess(a,6,20);
for(i=0;i8;i++)
{for(j=0;j3;j++)
printf(%3d,a[i][j]);
printf(\n);}
getch();
}2.请按下列要求编程:(1)请编写函数int fun(int a[]),其功能是:在三位数(100至999)中寻找符合下列条件的整数并按从小到大的顺序存入a指向的数组中,条件为:它是一个完全平方数,且有两位数字相同(例如144、676是满足条件的数),函数返回满足条件的该类数的个数。(2)编写main函数,定义一个长度为100的整型数组a,用a作为实在参数调用函数fun,将满足条件的依次存入a数组中,输出在给定范围内满足条件的数及这类数的个数#includestdio.h#includemath.hint fun(int a[]){ int i,d,b,c,m,sum=0,p=0;for(i=101;i999;i++){m=sqrt(i);d=i/100;b=i/10%10;c=i%10;if((d==b)+(d==c)+(b==c)=1i==m*m){sum++;a[p]=i;p++;}return sum;}main(){int a[100],t,i;t=fun(a);printf(%d\n,t);for(i=0;a[i]!=\0;i++)printf(%3d\n,a[i]);getch();}3.设n0是一个给定的正整数。对于i=0,1,2,…,定义:若ni是偶数,则ni+1=ni/2;若ni是奇数,则ni+1=3ni+1;若ni是1,则序列结束。用这种方法产生的数称为冰雹数。请按下列要求编程:(1)编写一个函数int hailstones(int n,int a[]),其功能是将按公式生成的从n到1为止的序列中的数依次存放到a指向的数组中,函数返回符合条件的序列中数据的个数;(2) 编写main函数,定义一个长度为100的一维数组a,从键盘上输入任一种子n,用n和a作为实在参数调用函数hailstones,最后按每行6个数输出数组中的数。#includestdio.hint hailstones(int n,int a[]){ int p=0,sum=0;while(n!=1){ a[p]=n;if(n%2==0)n=n/2;else n=3*n+1;sum++;p++; }a[p]=1;return sum+1;
}void main(){int a[100],n,t,i,m=0;scanf(%d,n);t=hailstones(n,a);printf(%d\n,t);for(i=0;a[i]!=\0;i++){printf(%5d,a[i]);m++;if(m%6==0) printf(\n);}getch();}?4.找出满足如下条件的整数m:(1)该
您可能关注的文档
- 最全最实用地质年代表A3.doc
- Part One-Chapter5 -Double layer-Chen SL 14-15.ppt
- unit3金融英语.ppt
- 汉英笔译必备句型.pptx
- 古生物各论复习.doc
- 精读英语第三课PPT词汇解析.pptx
- 管理经济学讲义5.ppt
- 第二章 国际贸易的微观基础(一).ppt
- 地质年代表1(较新).doc
- Delphi日期函数及日期加减.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)