天大2020年春学期考试《C语言程序设计》离线作业考核试题

[复制链接]
查看: 1423|回复: 4

4万

主题

4万

帖子

13万

积分

论坛元老

Rank: 8Rank: 8

积分
137733
发表于 2020-5-20 19:49:24 | 显示全部楼层 |阅读模式
C语言程序设计
要求:
一、        独立完成,下面已将三组目列出,请按照学院平台指定的做题组数作答,每人只答一组题目,多答无效,满分100分;
    平台查看做题组数操作:学生登录学院平台→系统登录→学生登录→课程考试→离线考核→离线考核课程查看→做题组数,显示的数字为此次离线考核所应做哪一组题的标识;
    例如:“做题组数”标为1,代表学生应作答“第一组”试题;
二、答题步骤:
1.        使用A4纸打印学院指定答题纸(答题纸请详见附件);
2.        在答题纸上使用黑色水笔按题目要求手写作答;答题纸上全部信息要求手写,包括学号、姓名等基本信息和答题内容,请写明题型、题号;
三、提交方式:请将作答完成后的整页答题纸以图片形式依次粘贴在一个Word
    文档中上传(只粘贴部分内容的图片不给分),图片请保持正向、清晰;
1.        完成的作业应另存为保存类型是“Word97-2003”提交;
2.        上传文件命名为“中心-学号-姓名-科目.doc”;
3.        文件容量大小:不得超过20MB。
提示:未按要求作答题目的作业及雷同作业,成绩以0分记!

题目如下:
第一组:
一、编程题(每题20分,共40分)
1、编写程序。输入一行字符(以回车符结束),分别统计其中字母、数字和其他符号的个数。

2、编写程序。要求编写子函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0,再调用该子函数求100以内的全部素数(素数就是只能被1和自身整除的正整数,1不是素数,2是素数)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、按照公式 e=1+ + + +…+ 求e的近似值,至n=10为止。
#include < stdio.n>
void main ( )
{ float_____①_____;
       int n=1, i;
       for(_____②_____)
       { n=_____③_____;
        e=_____④_____;
       }
       printf (“ e= %f\n” ,e);
      }



    2、将文件file1.dat中的内容复制到file2.dat中。     
          #include <stdio.h>
#define  Null  0
void main()
{  FILE_____①_____;
             char ch;
             if((p1=fopen(“file1.dat”,”r”)= =Null)||(p2=fopen(“file2.dat”,”w”)= =Null ))
             { printf(“Can’t open file\n”); _____②_____; }
             while(_____③_____)
              { ch=_____④_____; fputc(ch,p2); }
             fclose(p1);
             fclose(p2);
          }



3、求二维数组a[5][4]中所有元素的平均值。
   #include <stdio.h>
____  _①_  ____   
void main ( )
   {  int a[5][4],i ,j, pa;
      for (i=0;i<5;i++)
        for (j=0;j<4;j++)
          scanf(“%d”, &a[j]);
      pa= _____②_____;
      printf (“average=%d\n”,pa);
   }
int average (int s[ ][4] )
   {  int i,j,aver=0;
      for (i=0;i<5;i++)
        for (j=0;j<4;j++) aver=aver+s[j];
     aver=_____③_____;
     _____④_____;        
    }



  三、写出程序的执行结果(每题4分,共12分)
1、
         #include <stdio.h>               
void main()
         {  int i, j, k=4;
for (int i=1;i<=k;i++)
printf("%c",’*’); printf("\n");
            for (int i=1;i<=k-2;i++)
                      {  printf("%c",’*’);
for (j=1;j<= k-2;j++)
printf(" ");
printf("*\n");  
}
            for (i=1;i<=k;i++)
                       printf("%c",’*’); printf("\n");
}

   


2、
#include <stdio.h>
void fun(int s[ ]);
void main()
{ int a[ ]={1,2,3,4,5,6},k;
fun(a);
for(k=0;k<=5;k++) printf(“%d  ”,a[k]);
printf(“\n”);
}
void fun(int s[ ])
{  int i=0;
while(i<3) { s=s+5;  i++; }
}



3、
   #include <stdio.h>
void main()
{ int j, a[ ]={1,2,3,4,10,12,13,15};
for( j=3; j>0; j--)
      switch ( j )
       {  case 1:
          case 2: printf(“%d,”, a[j+4]); break;
          case 3: printf(“%d,”, a[j-1]);
        }
              printf(“\n”);
}




第二组:
一、编程题(每题20分,共40分)
1、        编写程序。定义数组存放任意输入的10个实数,求出其中的最大值以及第一个最
大值的下标并输出。
2、编写程序。要求编写一个求最大供公约数的子函数,调用该子函数对输入的a、b求它们的最大公约数并输出。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出如下图形。






#include <stdio.h>
void main( )
{ int i, j;
       for(i=1; i<10; i++)
         printf(“%4d”, _____①_____);
       for(i=1;i<10;i++)
       { for(j=1; _____②_____;j++)
         printf(“%4d”, _____③_____ );
        _____④_____; }
      }



2、输入50个实数,统计其中正数、负数和零的个数。
     
#include <stdio.h>  
void fun(int *zs,int *fs,int *l, _____①_____)
{  int i;
for(i=0;i<50;i++)
{ if(aa>0)(*zs)++;
if(aa<0)
(*fs)++;
if(aa==0)
(*l)++; }
}
void main()
{ float num[50];
int i,czs,cfs,cl;
czs=cfs=cl=0;
printf("\nPlease enter 50 float numbers:\n");
for(i=0;i<50;i++)
scanf(“%f”, _____②_____);
fun(_____③_____, _____④_____);
printf("\n正数:%d,负数:%d,零:%d\n",czs,cfs,cl);
}



3、输入正整数m和n,求出[m,n]区间的所有素数。
#include <stdio.h>
_____  ①__  ___
void main()
{  int m,n,i,j,k;
scanf("%d%d",&m,&n);
for(i=m;i<n;i++)
{ k=sqrt(i);
for(j=2; _____②_____;j++)
    if(_____③_____)break;
    if(_____④_____)
printf(" %d",i);
}
printf("\n");
}




  三、写出程序的执行结果(每题4分,共12分)
1、
          #include <stdio.h>
void main()
{ char  s1[ ]="abcde", s2[10];
           int  i=0;
           while( s1 !=’\0’)
           { s2[ i ]= s1[ i ]+3; i++; }
s2[ i ]= '\0';
           printf("%s", s2);
}


2、
            #include<stdio.h>
void main()
{  char ch1='A',ch2='B';
switch(ch1)
{  case 'A':switch(ch2)
{  case 'B':printf("Good!  ");break;
case'A':printf("Better!  ");break;
}
case 'B': printf("Best!\n");break;
}
}



3、
              #include<stdio.h>
int age(int n)
{  int c;
if(n==1)
c=10;
else
c=age(n-1)+2;
return(c);
}
void main()
{  printf("%d",age(5));
}



第三组:
  一、编程题(每题20分,共40分)
1、编写程序。计算  (求n项,n由键盘输入并要求最后一项小于10-6结束。
2、编写程序。自定义函数求N名学生1门课程成绩的平均分,调用该函数求10名
学生1门课程成绩的平均分。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、判断一个整数的各位数字是否都相同,相同则显示“yes“,否则显示”no”。
#include <stdio.h>
void main( )
{ int a, r1, r2;
      scanf(“%d”,_____①_____);
do{  r1=a%10;
_____②_____;
           r2=a%10;
      }while( a!=0&&_____③_____ );
      if(a!=0 ) printf(”no \n”);
  else _____④_____;
}



2、输出如下图形。
1  2  3  4  5
1  1  2  3  4
1  1  1  2  3
1  1  1  1  2
1  1  1  1  1

#include<stdio.h>
void fun(_____①_____)
{ int i,j;
for(i=1;i<=n;i++)
{  for(j=1; _____②_____;j++)
printf(“%3d”,1);
for(j=2;j<=_____③_____;j++)
printf(“%3d”,j);
printf(“\n”);
}
}
void main()
{
_____④_____;
}



3、输入一个3行5列的整数矩阵,输出其中最大值和它们的下标。
#include<stdio.h>
void main()
{ int a[3][5],i,j,t,n=3,m=5,max,maxrow,maxcol;
printf(“Enter%d*%dnumbers!\n”,n,m);
for(i =0;i<n;i++)
for(j=0;j<m;j++)
{ scanf(“%d”,&t);
_____①_____; }
            max=a[0][0];_____②_____;
            for(i=0;i<n;i++)
for(j=0;j<m;j++)
  if(_____③_____)
{ _____④_____;maxrow=i;maxcol=j;}
printf(“MAX=a[%d][%d]=%d\n”,maxrow,maxcol,max,);
}




三、写出程序的执行结果(每题4分,共12分)
1、
#include<stdio.h>
void main()
{  int a[][3]={9,7,5,3,l,2,4,6,8};
            int i,j,sl=0,s2=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{ if(i==j)
s1=s1+a[j];
if(i+j==2)
s2=s2+a[j];
}
printf(“%d%4d\n”,sl,s2);
}

      

2、
#include<stdio.h>
void main()
{ char a[]={‘*’,‘*’,‘*’,‘*’,‘*’};
int i,j,k;
for(i=0;i<4;i++)
{ printf(“\n”);
for(j=0;j<i;j++)
printf(“%c”,‘ ’);
for(k=0;k<4;k++)
printf(“%c”,a[k]);
}
printf(“\n”);
}





   
3、
#include <stdio.h>
            void main()
            {   int s[5];
                for (i=0;i<5;i++)
                   s=i*2;   
                for(i=4;i>=0;i--)
                  printf(“%5d”,s);  
               printf(“\n”);
             }





上一篇:天大2020年春学期考试《企业物流管理》离线作业考核试题
下一篇:天大2020年春学期考试《管理信息系统》离线作业考核试题
回复

使用道具 举报

2万

主题

3万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
72345
发表于 2020-5-20 19:49:48 | 显示全部楼层
雅宝题库交流网还可以!
回复

使用道具 举报

2万

主题

3万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
72345
发表于 2020-5-20 19:50:36 | 显示全部楼层
谢谢,答案不错。明年继续
回复

使用道具 举报

2万

主题

3万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
72345
发表于 2020-5-20 19:51:24 | 显示全部楼层
雅宝题库交流网不错!
回复

使用道具 举报

0

主题

3424

帖子

5137

积分

论坛元老

Rank: 8Rank: 8

积分
5137
发表于 2022-3-13 14:32:35 | 显示全部楼层
奥鹏东北大学作业有答案吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
|网站地图|网站地图