天大19年秋学期考试《C语言程序设计》离线作业考核试题(答案)

作者:周老师 分类: 天津大学 发布时间: 2019-10-03 19:51

专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等!

联系我们:QQ客服:3326650399   439328128    微信客服①:cs80188     微信客服②:cs80189

              扫一扫添加我为好友                           扫一扫添加我为好友

支付宝微信钱包

作业答案 联系QQ:3326650399 微信:cs80188
 
C语言程序设计
需求:
一、        独立结束,下面已将三组标题列出,请任选其间一组标题作答,
每人只答一组标题,多答无效,满分100分;
二、答题过程:
1.        运用A4纸打印学院指定答题纸(答题纸请详见附件);
2.        在答题纸上运用黑色水笔按标题需求手写作答;答题纸上悉数信息需求手写,包括学号、名字等根柢信息和答题内容,请写明题型、题号;
三、提交方法:请将作答结束后的整页答题纸以图像方法顺次张贴在一个Word
    文档中上载(只张贴有些内容的图像不给分),图像请坚持正向、清楚;
1.        上载文件命名为“中心-学号-名字-类别.doc” 
2.        文件容量巨细:不得跨越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[i][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[i][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[i]=s[i]+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个评委的分数后,求该选手的最终得分并输出(设10个评委按照以下打分原则为选手打分:去掉一个最高分和一个最低分,剩下的求均匀分作为选手的最终得分)。
2、编写程序。先界说一个求n!的子函数fact,调用该子函数计算并输出
的值(m、n的值由键盘输入)。     
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
 
1、        打印出杨辉三角形(只打印出10行,方法如下)。
       1
      1  1
      1  2  1
      1  3  3  1
      1  4  6  4  1
      1  5  10 10 5  1
        ……
 
#include <stdio.h>
void main()
        {  int  i,j;
           int  a[10][10];
           for(i=0;i<10;i++)a[i][0]=1, _____①_____;
           for(_____②_____;i<10;i++)
            for(j=1;j<i;j++)
              a[i][j]= _____③_____;
           for(i=0;i<10;i++)
          {  for(j=0;j<=i;j++)
              printf("%5d",a[i][j]);
             _____④_____;
          }
}
 
 
 
2、        将输入的一个字符串(以!结束)中的小写字母变换成大写字母,然后输出到磁盘文件“test”中。
 
#include <stdio.h>
         void main()
         { _____①_____;
          char str[100],filename[10];
          int i=0;
          if((fp=_____②_____ ==NULL)
         { printf("cannot open the file\n");exit(0); }
          printf("please input a string:\n");
          gets(str);
          while(_____③_____)
          { if(str[i]>='a'&&str[i]<='z')
             str[i]=str[i]-32;
             fputc(str[i],fp);
             _____④_____;
          }
          fclose(fp);
}
 
 
 
3、输出如下图形。
 
        *     *
        *    *
        *  *
        *
        *  *
        *   *
        *    *
 
#include <stdlib.h>
void main()
{ int i=1,j;
           while(i<=3)
         {  j=1;
            printf("*");
            while(j<=3)
            { printf(" ");
               _____①_____; }
              printf("*\n");
              _____②_____;
           }
           _____③_____;
           i=1;
           while(i<=3)
           {   j=1;
             printf("*");
               while(_____④_____)
               { printf(" ");
                j++; }
               printf("*\n");
               i++;
            }
          }
 
 
  
  三、写出程序的实施成果(每题4分,共12分)
1、
          #include  <stdio.h>     
          void sub(int x,int y,int *z)
          { *z = x+y;}
          void main()
          { int a=5,b=6,c=7;
printf(“%d,%d,%d    ”,a,b,c);
sub(b,c,&a); sub(a,b,&c)
printf(“%d,%d,%d\n”,a,b,c);
 
 
 
2、
        #include  <stdio.h>
void main ()
{  int  x=1,a=0,b=0;
switch(x)
              {  case 1:a++ ;
case 2:a++; b++; break;
default: b++;break;
}
printf(“a=%d,b=%d”,a,b);
}
 
 
 
3、
              #include<stdio.h>
void fun(int x);
void main()
{  fun(7);
printf("\n");
}
void fun(int x)
{  if(x/2>1)
fun(x/2);
printf("%5d",x);
 
 
 
 
 
 
 
第三组:
一、编程题(每题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[i]>0)(*zs)++;
if(aa[i]<0)
(*fs)++;
if(aa[i]==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[i] !=’\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));
}
作业答案 联系QQ:3326650399 微信:cs80188
 

专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等!(非免费)

联系我们:QQ客服:3326650399   439328128    微信客服①:cs80188     微信客服②:cs80189

               扫一扫添加我为好友                           扫一扫添加我为好友

支付宝微信钱包