下列程序的功能是:计算出启然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt,以及
下列程序的功能是:计算出启然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt,以及满足此条件的所有SIX与NINE的和sum。请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件OUT51.DAT中。其中的S,I,X,N,I,N,E各代表一个十进制数。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDAT()的内容。
试题程序:
include
int cnt,sum;
void CountValue()
{
}
Void main()
{
Cnt=Sum=0;
COUNtValUe();
printf("满足条件的个数=%\n",cnt):
printf("满足条件的所有的SIX与NINE的和=%d\n",sum);
}
WriteDAT();
{
FILE *fp;
fp=fopen("OUT51.DAT", "w");
fprintf(fp,"%d\n%d\n",cnt,sum);
fclose(fp);
}
void countValue() { int i=100; while(1) { if(3*i%2==0 && 3*i/2>1000 && 3*i/2=9999) /*如果满足条件SIX+SIX+SIX=NINE*NINE*/ { /*即一个3位数乘3再除2余数为0, 且所得的数为4位数*/ cnt++; /*统计满足条件的数的个数*/ sum+=i+3*i/2; /*求满足此条件的所有SIX与NINE的和*/ i++; } else i++; /*如果不满足条什,则取下一个数*/ if(i>999 || 3*i/2>9999) break; /*当SIX不为3位数时或所得的数不为四位数时,退出循环*/ } } 解析:本题考查的知识点如下:
(1)循环与判断的嵌套使用。
(2)多条件的布尔运算。
(3)“%”与“/”运算符的使用。
根据题意,求的是满足3位数乘以3等于4位数乘以2的数的个数。我们可以使用循环结构对所有的3位数进行判断,若某个3位数乘以3整除2所得的数是4位整数,则这个3位数足满足条件的数。当判断的数不再是3位数或者进行处理后所得的数大于9999,则要退出循环。在这里,还要注意判断结构中,各条件之问是用“与”运算还是用“或”运算。
猜电话号码0592-ABCDEFG提示:A--5的最小倍数B--最小的自然数C--5的最大因数D- 数学 2020-05-13 …
对下列给出的A的值,先写出A的倒数B,再写出B的倒数C.然后观察每组中A与C的数量关系,试用一句话 数学 2020-06-25 …
对下列给出的a的值,先写出a的倒数b,再写出b的倒数c,然后观察每组中a与c的数量关系,试用一句话 数学 2020-07-13 …
对下列给出的a的值,先写出a的倒数b,再写出b的倒数c,然后观察每组a与c的数量关系,试用一句话概 数学 2020-07-30 …
下列说法中正确的是()A.数轴上一个点表示两个不同的有理数.B.数轴上两个不同的点表示同一个有理数 数学 2020-07-30 …
第3题假设给定一个十进制整数D,转换成对应的二进制整数B,那么就这两个数字的位数而言,B与D相比,( 数学 2020-11-06 …
设任意一个十进制证书D,转换成对应的无符号二进制整数B,那么就这两个数字的长度(即位数)而言,B于D 其他 2020-11-06 …
两个连续奇数的平方差一定是()的倍数但不一定是()的倍数A.2的倍数,但不一定是4的倍数B.4的倍数 数学 2020-11-17 …
1.下列算式中,可运用完全平方公式计算的是()A.(2x-y)(2x+y)B.(-2x-y)(2x+ 数学 2020-11-20 …
填空!计算小数除法,商的小数点一定要和()的小数点对齐0除以一个非0的数仍然的();任何两个相同的数 其他 2021-02-03 …