从键盘输入一组无符号整数并保存在数组arr[N]中,以整数0结束输入,即第N+1个数是0,要求这些数的最大位数不超过4位,其元素的个数通过变量num传人函数proc()。请补充函数proc(),其功能是:从数组arr中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数proc返回。例如,当arr[8]={13,1,205,252,2,333,4444,21)时实际输人时,数与数之间用Enter键分开,bb[4]={252,333,4444)。注意:部分源程序给出如下。请勿改

题目

从键盘输入一组无符号整数并保存在数组arr[N]中,以整数0结束输入,即第N+1个数是0,要求这些数的最大位数不超过4位,其元素的个数通过变量num传人函数proc()。请补充函数proc(),其功能是:从数组arr中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由函数proc返回。

例如,当arr[8]={13,1,205,252,2,333,4444,21)时实际输人时,数与数之间用Enter键分开,bb[4]={252,333,4444)。

注意:部分源程序给出如下。

请勿改动函数main()和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。

试题程序:


相似考题
参考答案和解析
正确答案:

【1】arr[i]%10【2】bb[m++]=arr[i]【3】m
【解析】将一个整数对l0取余,则得到该整数的个位数,将一个整数除以10再对10取余。则得到该整数的十位数。由程序可以看出,变量s保存了整数的十位数,所以应该将整数的个位数保存在变量g中;根据题意,当整数的个位与十位的数字之和大于5时,则将该整数保存到数组bb中;变量m记录了满足条件的无符号整数的个数,题目要求将满足条件的无符号整数的个数由proc()函数返回,所以函数返回m。

更多“从键盘输入一组无符号整数并保存在数组arr[N]中,以整数0结束输入,即第N+1个数是0,要求这些数的最 ”相关问题
  • 第1题:

    38、关于以下程序,说法正确的个数有()个。 def count (N): ····if (N <= 0): ········return "请输入一个正整数" ····if (N > 9): ········return "计数结束" ····else: ········return count(N+1) print(count(6)) (

    A.2

    B.3

    C.4

    D.5


    ABD

  • 第2题:

    3、定义一个含N个整数的一维数组,实现如下功能: 1、该数组中的前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。 2、宏定义N,其值为小于30的任意值。 3、键盘输入一维数组的N个整数和正整数m。 (程序中只能定义和使用一个数组)


    A

  • 第3题:

    程序要求的功能:从键盘输入一组非0整数,当输入0时结束。找出非0数的最小数。 请判断下面的程序段是否正确? int k,min; scanf("%d",&k); min=k; while(k!=0) { scanf("%d",&k); if(k<min) min=k; } printf("最小值是:%d",min); //提醒:可以思考当输入:10 5 8 21 0,结果是否正确?


    A解析:本题主要考查的知识点是大写字母比它对应的小写字母ASCII码值小32,并且字符可以看作整数进

  • 第4题:

    【其它】任务二:实现最小值排头功能关键算法并绘制流程图(30 分) 输入 20 个不同的整数,找出其中最小的数,将它与第 1 个输入的数交换位置之后输出这些数。 要求:用数组解决任务,在输入整数时各整数之间用空隔分隔。


    拖动任务栏边界

  • 第5题:

    编写函数实现如下功能,通过递归调用方式实现求整数1~n的阶乘之和,函数int fact(int n)为计算整数n的阶乘,int sum_fact(int n)为计算从1到n的阶乘之和,即s=1!+2!+3!.....+n!,n从键盘输入(要求n为大于0的整数),并且将s的值打印出来。


    double f(int n) { if(n==0) return 0; int i,fac=1; for(i=1;i<=n+2;i++) fac*=i; return f(n-1)+n*1.0/((n+1)*fac); }