计算四位数的各个位数之和(1): 输入一个四位数n,计算n的各个位数之和
计算四位数的各个位数之和(1): 输入一个四位数n,计算n的各个位数之和
参考答案和解析
C 根据十位数等于百位数和个位数之和排除A,B、D。
相关考题:
已知数据文件IN.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组 a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数均是偶数并且两个二位数中至少有一个数能被9整除,同时两个新数的十位数字均不为0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后 main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.dat文件中。注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],已定义变量cnt。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。include <stdio.h>define MAX 200int a[MAX], b[MAX], cnt = 0;void spellNum(){}void readDat (){ int i;FILE *fp;fp = fopen("IN.dat", "r");for (i=0; i<MAX; i++)fscanf(fp, "%d,", a[i]);fclose (fp);}void writeDat(){ FILE *fp;int i;fp = fopen("OUT.dat", "w");fprintf(fp, "%d\n", cnt);for (i=0; i<cnt; i++)fprintf(fp, "%d\n", b[i]);fclose (fp);}void main(){ int i;readDat ();spellNum ();printf("满足条件的数=%d\n", cnt);for (i=0; i<cnt; i++)printf("%d ", b[i]);printf ("\n");writeDat ();}
已知数据文件IN.dat中存有200个四位数,并己调用读函数rData()把这些数存入数组a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数一个是奇数,另一个为偶数,并且两个二位数中至少有一个数能被17整除,同时两个新数的十位数字均不为 0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数count。最后main()函数调用写函数wData(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。注意:部分源程序已经给出。程序中已定义数组a[200]、b[200],己定义变量count。请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数rData()和写函数wData()的内容。include <stdio. h>define MAX 200int a[MAX], b[MAX], count = 0;void spellNum ( ){}void rData(){ int i;FILE *fp;fp = fopen("IN.dat", "r") ;for (i=0; i<MAX; i++)fscanf(fp, "%d,", a[i]);fclose (fp);}void wData (){ FILE *fp;int i;fp = fopen("OUT.dat", "w");fprintf(fp, "%d\n", count);for (i=0; i<count; i++)fprintf(fp, "%d\n", b[i]);fclose (fp);}void main (){ int i;rData ();spellNum ();printf ("满足条件的数=%d\n", count);for (i=0; i<count; i++)printf("%d ", b[i]);printf ("\n");wData ();}
有一个四位数,把它从中间分成两半,得到前、后两个两位数,将前面的两位数的末尾添一个零,然后加上前后两个两位数的乘积,恰好等于原来的四位数,又知道原数的个位数字为5,这个四位数是( )。A.1985B.1795C.1895D.1995
阅读以下说明和 C 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0). 取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数 max4和最小四位数 min4(有0时为三位数).计算 max4与 min4的差值,得到一个新的四位数。若该数不等于 6174, 则重复以上过程,直到得到 6174 为止。 例如,输入 1234,则首先由 4321-1234, 得到 3087;然后由 8730-378,得到 8352;最后由 8532-2358,得到6174。【C 代码】 include stdio.h int difference( int a[] ) { int t ,i ,j ,max4 ,min4; for( i=0; i3; i++ ) { /*用简单选择排序法将 a[0] ~a[3] 按照从大到小的顺序排列* / t = i; for( j= i+1;(1); j++ ) if (a[j] a[t]) (2); if ( t !=i ) { int temp = a[t];a[t]= a[i];a[i]= temp; } } max4=(3); min4=(4); return max4-min4; } int main () { int n,a[4]; printf(input a positive four-digi t number: ) ; scanf(%d ,n); while (n!=6174) { a [0] =(5); /*取n的千位数字*/ a[1] = n/100%10; /*取n的百位数字*/ a[2] = n/10%10; /*取n的十位数字*/ a[3] =(6); /*取n的个位数字*/ n = difference(a); return 0; } return 0; }
阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。[说明]下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。[C代码] #include<stdio.h> int difference(inta[]) ( intt,i,j,max4,min4; for(i=0; i<3; i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/ t=i; for(j=i+1; ______;j++) if(a[j]>a[t]) ______; if(t!=i){ int temp=a[t]; a[t]=a[i]; a[i]=temp; } } max4=______; min4=______; return max4-min4; } int main() { intn,a[4]; printf("inputa positive four-digit number:"); scanf("%d", while(n!=6174){ a[0]= ______; /*取n的千位数字*/ a[1]=n/100%10; /*取n的百位数字*/ a[2]=n/10%10; /*取n的十位数字*/ a[3]= ______; //取n的个位数字*/ n=difference(a); } return 0; }
有一个四位数,能被72整除,其千位与个位之和为10,个位数是为质数的偶数,去掉千位与个位得到一个新数为质数,这个四位数是多少?()[2011年汕头农村信用社真题]A.8676B.8712C.9612D.8532
数学运算。在这部分试题中.每道试题呈现一段表述数字关系的文字,要求你迅速、准确地计算出答案。有一个四位数,能被72整除。其千位与个位之和为10,个位数是为质数的偶数,去掉千位与个位得到一个新数为质数,这个四位数是多少?()A.8676B.8712C.9612D.8532
一个四位数能被72 整除,它的个位数与千位数之和是10,且个位数是偶数又是质数,去掉个位数和千位数得到一个新的两位数是质数。问此四位数是多少?A、8592B、8612C、8712D、8532
填空题把各位数字之和为8的四位数称为“八合数”(如2015是“八合数”).则首位为2的“八合数”共有____个.