给定程序NODll.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。 请改正函数fun中指定部位的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! 试

admin2021-05-06  26

问题 给定程序NODll.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。
请改正函数fun中指定部位的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
  试题程序:
#include
#include
#define N 20
int fun(int *b)
{
/*********found*********/
  int t[N],i,num
  for(i=0;i    if(b>=10)
/*********found*********/
    t[++num]=b
/*********found*********/
    for(i=0;i    b=t
    return(rlum);
  }
  main()
  {int a[N],i,num;
  printf("a数组中的数据:\n");
  for(i=0;i    {a=rand()%21;
    printf("%4d",a);)
  printf("\n");
  num=fun(a);
  for(i=0;i    printf("%4d",a);
  printf("\n");
    }

选项

答案(1)int t[N],i,num:0; (2)t[num++]=b[i];或{t[num]=b[i]; num++;} (3)for(i=0;i
解析 要删除数组b中小于10的数,应依次取出数组数组b中的元素与10进行比较,若不小于10,则将其存入数组t中,遍历完成后,数组t中的元素即为所求,再将数组t中的元素保存到数组b中即可。
    (1)元素。num存放不小于10的元素的个数,应将其初始化为0。
    (2)将数组b中不小于10的元素存入数组t中,同时使数组t的下标加1。
    (3)语法错误,没有nun这个变量,应该为num。
转载请注明原文地址:https://kaotiyun.com/show/WCfp777K
0

最新回复(0)