端木老师 发表于 2018-6-11 17:31:16

天大2018年6月《C语言程序设计》大作业答案参考

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


题目如下:
第一组:
一、编程题(每题20分,共40分)
1、编写程序。任意输入10个数,输出这10个数中正数的平均值并将这10个数按相
反的次序并输出。
   2、编写程序。自定义函数重复输出给定的一个字符n次,调用该函数输出给定的字符和输出的次数。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于输出以下图形。无忧答案网






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

   2、将1到100各数的平方根按照每行5个数存到磁盘的file.dat文件中。
#include <stdio.h>
            #include <math.h>
#defineNull0
void main()
{FILE*p1;
               int i=1;
               if((p1=_____①_____)==Null)
                { printf(“Can’t open file\n”); exit(0) ; }
               while(i<=100)
                { fprintf(p1,”%f5.3”,sqrt((double)(i)));
                   if(_____②_____) fprintf(p1,”\n”);
                     _____③_____;
               }
               _____④_____;
       }   


   3、用公式                        计算π的值, 直到最后一项的绝对值<10。
#include <stdio.h>
#include <math.h>
void main()
{int s; float n, t, pi;
         t=1;n=1.0;pi=0;s=1;
         while(_____①_____)
         {   pi=pi+t;n+=2;s=_____②_____;t=_____③_____; }      
         _____④_____;                           
         printf(“pi=%10.6f\n”, pi);
}



三、写出程序的执行结果(每题4分,共12分)
1、
          #include <stdio.h>   
int sum(int p[ ], int a);
void main()
{ int data[ ]={{3,2,1},{1,2,3},{4,5,6}};
          for(int s,i=0; i<3; i++)
          { printf("%ds=%d\n", sum(data,s),s); }
}
int sum(int p[ ], int a)
{int i, k=0;
         static int s=0;         
         for(i=0; i<3; i++) { s+=p;k+=p; }
         a=k; returns;
}



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



   3、
            #include?<stdio.h>?
void main()
{int a,i,j;
for(i=1;i<6;i++)
for(j=1;j<6;j++)
a=(i/j)*(j/i);
for(i=1;i<6;i++)
{for(j=1;j<6;j++)
printf("%2d",a);
printf("\n");
}
}



第二组:
一、编程题(每题20分,共40分)
1、编写程序。定义数组sco存放30名学生的成绩。将成绩由高到低排序,并输出排序结
果和所有高于平均分数的成绩(结果保留两位小数)。
2、编写程序。先编写一个子函数求x,再通过主函数调用该子函数,对输入的一个数y,
求y并输出。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于求两个数的和与差。
#include <stdio.h">
intfun(int a,int b, int *psub)
{int sum;
             sum=a+b;
             _____①_____=a-b;
             return sum;
          }
void main( )
{int x,y,s1,s2;
            scanf(“%d%d”, _____②_____);
            s1=fun(x,y, _____③_____);
            printf(“sum=%d\n sub=%d\n”, _____④_____);
          }



2、对于5×5的方阵,输出其下三角的元素。
12345            1
23456            23
34567            345
45678            4567
56789            56789

      #include<stdio.h>
            void main()
{ int   _____①_____,i,j;
               for(i=0;i<5;i++)
                for(j=0;j<5;j++)
                      a= _____②_____;
                   for(i=0;i<5;i++)
                {for(j=0; _____③_____;j++)
                  printf("%4d", a);
                  _____④_____; }
}



3、输出所有的水仙花数。所谓的水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33
#include <stdio.h>
void main()
{
int n, i, j, k;
for(n=100; n<= _____①_____; n++)
{
i = n/100;            // 取出n的百位数
j =___ __②_____;   // 取出n的十位数
k =__ ___③_____;    // 取出n的个位数
if(n==_____④_____)
printf("%d\n",n);
}
}




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



2、
#include <stdio.h>
      int a=5;
      void fun(int b)
      {   int a=10;
          a+=b;
          printf("%d ",a);
      }
      void main()
      {   int c=20;
          fun(c);a+=c;
          printf("%d\n",a);
      }





3、
#include <stdio.h>
void sub (int x,int y,int *z)
{ *z=x-y; }
void main()
{ int a,b,c;
sub(10,6,&c);
sub(8,c,&b);
sub(c,b,&a);
printf(“%d%d%d\n”,a,b,c);
}





第三组:
一、编程题(每题20分,共40分)
1、编写程序。通过级数                      求的值并输出(要求精度为10-6 ,即追后一项的绝对值小于10-6)。
2、编写程序。写一个求n!的子函数,再利用main( )调用该函数分别计算并输出5!和10!。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、程序用于求输入的10个实数的最大值以及第一个最大值的下标并输出。
#include <stdio.h>
void main()
{ int i, max_i=0;
double a;
for(i=0; i<10;i++) ______①______;
for(______②______)
      if(a>a) ______③______;
printf("最大值=%6.2f ,位置是%d \n", ______④______, max_i );
}



2、函数用于求x的y次方。
double fun(double x, int y)
{ int i; ______①______;
for(i=1;______②______; i++)
z=______③______;
______④______;
}



3、程序用于输出以下图形。





      #include <stdio.h>
      void main ( )
      { int i,j;
      for(i=1;i<= ______①______;i++)
{ for(j=1; j<= 9-i ; ______②______)
printf (" ");
      for(j=1;j<=i;j++)
      printf("%c", ______③______ );
      ______④______;
      }
}



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



2、
#include<stdio.h>
void main()
{ inta={{1,2,3},{2,4,5},{3,5,7}},i,j,s;
for(i=0;i<3;i++)
{ s=0;
      for(j=0;j<3;j++)
       s=s+a;
printf("%4d",s );
}
}



3、
         #include <stdio.h>
         int f(int n)
         {   static int a=1;
               n+=a++;
               return n;
         }
         void main()
         {   int a=3,s;
               s=f(a);s=s+f(a);
               printf("%d\n",s);
         }
答案附件已经更新,需要可以下载



张老师 发表于 2018-6-15 20:07:24

C语言程序设计 第2组

杨仕虎 发表于 2018-6-21 23:08:09

张老师 发表于 2018-6-15 20:07
C语言程序设计 第2组

么么可以便宜点吗?50一组题
页: [1]
查看完整版本: 天大2018年6月《C语言程序设计》大作业答案参考