阅读以下说明和 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; i<3; 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; }
第1题:
阅读以下说明和 C 函数,填补函数代码中的空缺,将解答填入答题纸的对应栏内。 【说明 1】 函数 f(double eps) 的功能是:利用公式
计算并返回 π 的近似值。
【说明 2】 函数fun(char *str)的功能是:自左至右顺序取出非空字符串 str中的数字字符,形成一个十进制整数(最多 8 位)。例如,若 str中的字符串为 "iyt?67kp f3g8d5.j4ia2e3p12", 则函数返回值为 67385423。
第2题:
阅读下列说明、c++代码和运行结果,填补代码中的空缺(1)~(6),将解答填入
答题纸的对应栏内。
【说明】
很多依托扑克牌进行的游戏都要先洗牌。下面的c++程序运行时先生成一副扑克牌,
洗牌后再按顺序打印每张牌的点数和花色。
【c++代码】
inciude <iostream>
4Finclude <stdlib. h>
include <ctime>
inciude <aigorithm>
include <string>
Using namespace std
Const string Rank[13]={”A”,”2”,”3”,”4“,“5”,”6,”’“7”8“,9”,”10,”J”,
”Q”,”K”}j//扑克牌点数




第3题:
试题二 ( 共15 分)
阅读以下问题说明、C 程序和函数,将解答填入答题纸的对应栏内。
【 问题1 】
分析下面的C 程序,指出错误代码(或运行异常代码)所在的行号。
【C程序】

【 问题2】
函数inputArr(int a[], int n)的功能是输入一组整数(输入0或输入的整数个数达到n时结束)存入数组 a,并返回实际输入的整数个数。函数 inputArr 可以成功编译。但测试函数调用inputArr后,发现运行结果不正确。
请指出错误所在的代码行号,并在不增加和删除代码行的情况下进行修改,写出修改正确后的完整代码行,使之符合上述设计意图。
【C 函数】

第4题:

第5题:
第6题:
第7题:

第8题:


第9题: