skystar 发表于 2020-9-8 11:28:44

东师范2020年春季 《C程序设计(高起专)》离线考核答案参考


离线考核
《C程序设计(高起专)》

100分
一、阅读程序,在横线上填空(每空2分,共20分。)

1. 百马百担问题:有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各多少匹?
  main( )
  {   int hb,hm,hl,n=0;//hb,hm,hl分别代表大马,中马和小马
        for(hb=0;hb<=100;hb+=3 )
        for(hm=0;hm<=100-hb;hm+= (1)      )
        {   hl=100-hb- (2)      ;
            if(hb/3+hm/2+2* (3)       ==100)
            {n++;
               printf("hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,2*hl);
           }
         }
         printf("n=%d\n",n);
  }
2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。
  #define N 10
  char str;
  main()
  {   int i,flag;
        scanf("%s",str);
        sort((4)      ___);
        for(i=0;i<N;i++)
        printf("%c",str);
        printf("\n");
  }
  sort(char str)
  {   int i,j;
        char t;
        for(j=1;j<N;j++)
        for(i=0;(i<N-j)&&(str!='\0');i++)
         if(str>str)
           { t=str;
           _(5)      ____;
           _(6)_      ___;
           }
  }
3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各元素值之和。(本程序中二阶矩阵用一维数组来表示。)
  例如,矩阵为:
         3003
         2573
         1042
  则所有靠外侧的各元素值之和为3+0+0+3+2+3+1+0+4+2=18。
  add(int m,int n,int arr[])
  {int i,j,sum=0;
     for(i=0;i<m;i=i+m-1)
     for(j=0;j<n;j++)
         sum=sum+ (7)         ;
     for(j=0;j<n;j=j+n-1)
     for(i=1; (8)         ;i++)
            sum=sum+arr;
     return(sum);
     }
4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。
  #define N 10
  main()
  {   void maxmin(int arr[],int *pt1,int *pt2,int n);
        int array={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b;
        p1=&a;p2=&b;
        maxmin(array,p1,p2,N);
        printf("max=%d,min=%d",a,b);
  }
  void maxmin(int arr[],int *pt1,int *pt2,int n)
  {   int i;
        *pt1=*pt2=arr;
        for(i=1;i<n;i++)
        {   if(arr>*pt1)(9)         ;
        if(arr<*pt2)    (10)          ;
         }
  }

二、简要回答下列问题(更多答案下载:谋学网(www.mouxue.com)8分,共40分。)
1.结构化程序设计中常用的三种程序结构是什么?各自用哪些语句来实现?
2.C语言对字符串操作的函数有哪些(举出2个以上)?
3.C语言的构造类型有哪几种?各自适合描述什么样的问题?
4.函数调用有几种方式?函数的实参和形参是怎么进行结合的?
5.do—while循环和while循环的区别是什么?
三、编程题(共40分)
1.一个班级有10名学生,每个学生的信息包括学号,姓名和成绩。编写一函数sort,实现按学生成绩降序排列,排序方法任选。在函数之前,定义出函数中要使用的数据类型。(15分)
2.编写程序打印下面的图形。利用scanf()函数由用户输入星号的行数。(10分)
*
**
***
****
*****
3.已知定义int型数组a,数组a中的元素均为三位数。编写函数jsVal(),其功能是:统计出3位数均为偶数的数组元素的个数c。
例如:int a={123,246,345,608,420,987},则统计结果c=3.(15分)
页: [1]
查看完整版本: 东师范2020年春季 《C程序设计(高起专)》离线考核答案参考