- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一:3位整数
下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中;它既是完全平方数,又有两位数字相同,例如144,676等。
请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过所编制的函数返回。
最后调用函数writeDat()把结果输出到文件OUT88.DAT中。
【答案】
int jsValue(int bb[ ])
{
int i,j; ? /*定义循环控制变量*/
int cnt=0;? /*定义计数器变量*/
int a3,a2,a1; ? /*定义变量存储3位数每位的数字*/
for(i=100;i=999;i++)? /*在该范围中找符合条件的数*/
? for(j=10;j=sqrt(i);j++)
if(i==j*j)? ? /*如果该数是完全平方数*/
{
?? a3=i/100;? /*求该数的百位数字*/
?? a2=i%100/10;? /*求该数的十位数字*/
?? a1=i%10;? ? /*求该数的个位数字*/
?? if(a3==a2 || a3==a1 || a2==a1) /*若有两位数字相同*/
{
? bb[cnt]=i;??? ? /*则把该数存入数组bb中*/
cnt++;???????? ? /*统计满足条件的数的个数*/
?}?????? ?
}
}
return cnt;? /*返回满足该条件的整数的个数*/
}
【解析】解答本题,首先应该考虑用一个for循环来依次取得100到999之间的各个数,接着我们再利用一个循环用10以上的两位数逐个去拆被判断的数,如果被判断的数恰好可以被完全拆分,则该数是一个完全平方数,接着就开始依次求得被判断的数的百位、十位、个位上的数值,看是否有两位数字相同。把满足条件的数存入数组bb中,并用计数器变量cnt来统计满足条件的数的个数。最后将cnt作为函数值返回。
二:4位数字的正整数
(94)已知在文件IN94.DAT中存有若干个(个数200)4位数字的正整数,函数ReadDat() 的功能是读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:(1)求出这文件中共有多少个正整数totNum; (2)求出这些数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的这些数的算术平均值totPjz,最后调用函数WriteDat()把所求的结果输出到文件OUT94.DAT中。
【答案】
void CalValue()
{
int i;?? ? /*定义循环控制变量*/
int a4,a3,a2,a1; ? /*用来存储正整数的每一位的数字*/
for(i=0;i200;i++) /*逐个取数组中的数进行统计*/
if(xx[i]0)??? ? /*判断是否正整数*/
{
????? ? totNum++;? /*统计正整数的个数*/
????? ? a4=xx[i]/1000;? /*求正整数的千位数*/
????? ? a3=xx[i]%1000/100; /*求正整数的百位数*/
????? ? a2=xx[i]%100/10; /*求正整数的十位数*/
????? ? a1=xx[i]%10; ? /*求正整数的个位数*/
????? ? if((a4+a3+a2+a1)%2==0) ? /*如果各位数字之和是偶数*/
{ /*计算满足条件的数的个数totCnt和这些数的总和sum*/
totCnt++;
totPjz+=xx[i];
}
}
totPjz/=totCnt;? ? /*求这些数的算术平均值totPjz*/
}
【解析】根据题意,本题的解题思路是首先利用一个for循环来依次从数组中取得数,由于题目要求求数组中正整数的个数。只要某个数大于零,则该数一定是正整数,通过变量totNum来统计正整数的个数。
然后求出该数的每位数字,并判断是否满足条件各位数字之和是偶数,用变量totCnt和totPjz分别计算出满足条件的数的个数和这些数的和sum。
最后求出这些数的平均值。
(78)对10个候选人进行选举,现有一个100条记录的选票文件ENG78.IN,其数据存放格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推。每一位候选人的记录内容均为字符0或1,1表示此人被选中,0表示此人未被选中,全选或全不选(空选票)均为无效的选票。给定函数ReadDat( )的功能是把选票记录读入到字符串数组xx中。请编制函数CoutRs( )来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中,最后调用函数WriteDat( )把结果yy输出到文件OUT78.DAT中【答案】
v
您可能关注的文档
- 解析几何方法介绍.doc
- 解表药分类和适应证.doc
- 解析青岛海尔漫长曲线MBO.doc
- 解读十大高就业率的冷门专业.doc
- 解读可能违法添加的非食用物质.doc
- 解读廉政准则52不准.doc
- 解析中国国家大剧院-xc.doc
- 解读无线AP、网桥、路由器.doc
- 解读无线AP网桥路由器.doc
- 触不到的恋人TheLakeHouse.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)