一个数的误差的绝对值不大于以该数的未位为单位的二分之一,则从该数

题目

一个数的误差的绝对值不大于以该数的未位为单位的二分之一,则从该数()到未位数字的全部数字,称为该数的有效数字。

  • A、左边的第一个数字
  • B、左边的第一个非零数字
  • C、小数点左边的第一个非零数字
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

五位同学围成一圈依序循环报数,规定:

①第一位同学首次报出的数为1,第二位同学首次报出的数也为1,之后每位同学所报出的数都是前两位同学所报出的数之和;

②若报出的数为3的倍数,则报该数的同学需拍手一次

已知甲同学第一个报数,当五位同学依序循环报到第100个数时,甲同学拍手的总次数为________.


正确答案:

第2题:

五位同学围成一圈依序循环报数,规定:

①第一位同学首次报出的数为1.第二位同学首次报出的数也为1,之后每位同学所报出的数都是前两位同学所报出的数之和;

②若报出的是为3的倍数,则报该数的同学需拍手一次,当第30个数被报出时,五位同学拍手的总次数为_____________


正确答案:

解析 这样得到的数列这是历史上著名的数列,叫斐波那契数列.寻找规律是解决问题的根本,否则,费时费力.首先求出这个数列的每一项除以3所得余数的变化规律,再求所求就比较简单了.

这个数列的变化规律是:从第三个数开始递增,且是前两项之和,那么有1、1、2、3、5、8、13、21、34、55、89、144、233、377、610、987……分别除以3得余数分别是1、1、2、0、2、2、1、0、1、1、2、0、2、2、1、0……由此可见余数的变化规律是按1、1、2、0、2、2、1、0循环,周期是8.在这一个周期内第四个数和第八个数都是3的倍数,所以在三个周期内共有6个报出的数是三的倍数,后面6个报出的数中余数是1、1、2、0、2、2,只有一个是3的倍数,故3的倍数总共有7个,也就是说拍手的总次数为7次

第3题:

在所有的一位数中任取一个数,该数能被2整除的概率为( )。

A.0.1

B.0.3

C.0.5

D.0.7


正确答案:C

第4题:

已知数据文件in.dat中存有200个四位数,并已调用读函数readDat0把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。 注意:部分源程序存在test.C文件中。 程序中已定义数组:a[200],b[200],已定义变量:cnt 请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。


正确答案:
【审题关键句】大于后连续5个数,奇数,从小到大排序。
【解题思路】本题类似第35套试题,通过审题可以发现主要有两个不同点:①判断数值为奇数,可通过a[i]%2进行判断,参考答案的第4条语句;②要求进行比较的元素大于后连续5个数,因此在设置判断条件时,作为比较的两个数之间应该是大于关系,参考答案的第4条语句。
【参考答案】

第5题:

一个数的舍入误差的绝对值不大于以该数的未位为单位的()。

A.十分之一

B.五分之一

C.三分之一

D.二分之一


参考答案:D

第6题:

下面的说法是否准确?请将错误的改正过来。

  (1)有理数的绝对值一定比0大;

  (2)有理数的相反数一定比0小;

  (3)如果两个数的绝对值相等,那么这两个数相等;

  (4)互为相反数的两个数的绝对值相等。


(1)错误,有理数的绝对值一定大于或等于0。

(2)错误,有理数的相反数不一定比0小。

(3)错误,如果两个数的绝对值相等,那么这两个数相等或者互为相反数

(4)正确。

第7题:

一个数的误差的绝对值不大于以该数的未位为单位的二分之一,则从该数()到未位数字的全部数字,称为该数的有效数字。

A.左边的第一个数字

B.左边的第一个非零数字

C.小数点右边的第一个非零数字

D.小数点左边的第一个非零数字


参考答案:B

第8题:

若一个数的BCD编码为00101001,则该数与()相等。

A.41H

B.41D

C.1DH

D.29H


正确答案:C

第9题:

编写程序,一个数如果刚好与它所有的因子之和相等,则称该数为“完数”,如:6=1+2+ 3,则6就是一个完数。求5~500之间的完数的个数。


正确答案:程序代码如下: CLEAR SET TALK OFF gs=0 FOR i=5 to 500 yzh=0 FOR j=1 to INT (i/2) IF i&j=0 yzh= yzh+j ENDIF ENDFOR IF yzh=i gs=gs+1 ENDIF ENDPOR ? Gs
程序代码如下: CLEAR SET TALK OFF gs=0 FOR i=5 to 500 yzh=0 FOR j=1 to INT (i/2) IF i&j=0 yzh= yzh+j ENDIF ENDFOR IF yzh=i gs=gs+1 ENDIF ENDPOR ? Gs

第10题:

已知IN2.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数 jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat() 把结果cnt及数组b中符合条件的4位数输出到 OUT2.DAT文件中。

注意:部分源程序已给出。

程序中已定义数组:a[200],b[200],已定义变量:cnt。

请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。


#include
#define MAX 200
int a[MAX], b[MAX], cnt = 0 ;
void writeDat();
void jsVal()
{
int i,j; /*定义循环控制变量*/
int temp; /*定义数据交换是的暂存变量*/
for(i=0;i
if(a[i]%2!=0) /*如果当前数是奇数*/
for(j=i+1;j<=i+5;j++) /*取该数后面的5个数进行比较*/
{
if(a[i]
break; /*如果当前数不满足比后面5个数都大的条件,则跳出循环*/
else if(j==i+5) /*如果当前数比后面的5个数都大*/
{
b[cnt]=a[i]; /*将满足条件的数存入数组b中*/
cnt++; /*并统计满足条件的数的个数*/
}
}
for(i=0;i
for(j=i+1;j
if(b[i]>b[j])
{
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
void readDat()
{
int i ;
FILE *fp;
fp = fopen("IN2.DAT", "r") ;
for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ;
fclose(fp) ;
}
void main()
{
int i ;
readDat() ;
jsVal() ;
printf("满足条件的数=%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;
printf("\n") ;
writeDat() ;
}
void writeDat()
{
FILE *fp;
int i ;
fp = fopen("OUT2.DAT", "w") ;
fprintf(fp, "%d\n", cnt) ;
for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ;
fclose(fp) ;
}

更多相关问题