[离线作业] 天大《C语言程序设计》2020年10月期末大作业答案

 火... [复制链接]
发表于 2016-6-14 22:42:00 | 显示全部楼层 |阅读模式
C语言程序设计
请在以下三组题目中任选一组作答,满分100分。

题目如下:
第一组:
  一、编程题(每题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”);
             }
第二组:
一、编程题(每题20分,共40分)
1、        编写程序。定义N个大小的整型数组,任意输入10个整数,找出其中的最大值和
最小值并输出。
2、        编写程序。自定义函数求y!,调用该函数求s=m!+n!+k!并输出(m、n、k的值从
键盘输入)。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1、求数列0,1,1,2,3,5,8,13,21,34,……的前40 个数。其中第一、二两个数为0、1,以后每个数是前两个数之和。
#include <stdio.h>
void main()
{ int _____①_____,i;
       printf(“%d %d”, _____②_____);
       for(_____③_____; i<=21; i++)
       { f1=f1+f2;
        f2=_____④_____;
        printf(“%d  %d”,f1,f2);
        if((i+1)%2==0) printf(“\n”);
       }
}   
    2、在D盘建一个名为”file1.dat”的文件,从键盘输入若干字符(以回车作为结束)存入该文件,。
#include <stdio.h>
#define  Null  0
void main()
{  _____①_____;
               char c;
               if(( fp=fopen(“d:\file.dat”, _____②_____))==Null)
                { printf(“Can’t open file!\n”); exit(0) ; }
               do{
c=getcher();
                  _____③_____;
}while(c!=’\n’)
               _____④_____;
        }   
3、输出如下所示的菱形。
                 *
                ***
               *****
                ***
                 *
#include <stdlib.h>
void main()
{ int i,j,k;
for(i=1; i<=3; i++)
{  for(j=1; j<=3-i; j++)
    printf(" ");
for(k=1; k<=_____①_____; k++)
printf("*");
printf("\n");
}
for(i=1; _____②_____; i++)
{  for(j=1; _____③_____; j++)
printf(" ");
                 for(k=1; k<=6-2*i-1; k++)
_____④_____;
printf("\n");
}
}
三、写出程序的执行结果(每题4分,共12分)
1、
           #include <iostream.h>                  
void main()
{ int i, j, N, a[5][5]={{1,2,3,4,5},{2,3,4,5},{3,4,5},{4,5},{5} };
N=5;
            for(i=0; i<N; i++)
               for(j=0; j<N-i; j++)
                printf("%d%s", a[j], "  ");
printf("\n");
}
2、
#include<stdio.h>         
int fun( int x )
{ int  p;
         if (x==0||x==1 ) p=1;
else  p=x*fun( x-2 );
return  p;
}
void main()
{  printf("%d\n", fun ( 6 ) );
}
3、
            #include<stdio.h>
void main()
{  int a=1,b=0;
switch(a)
{ case 1:switch(b)
{  case 0:printf(“**0**”);break;
case 1:printf(“**1**”);break;
}
case 2:printf(“**2**”);break;
}
             }
第三组:
  一、编程题(每题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”, _____③_____);
                 _____④_____;
               }
}
     2、将1到100各数的平方根按照每行5个数存到磁盘的file.dat文件中。
#include <stdio.h>
            #include <math.h>
#define  Null  0
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]={{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; return  s;
}
     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[k]=x[k]*x[k];
     return;
    }
     3、
              #include <stdio.h>
void main()
{  int a[6][6],i,j;
for(i=1;i<6;i++)
for(j=1;j<6;j++)
a[j]=(i/j)*(j/i);
for(i=1;i<6;i++)
{  for(j=1;j<6;j++)
printf("%2d",a[j]);
printf("\n");
}
}
答案需要的请自助下载

C语言程序设计 第二组答案.zip

16.39 KB, 下载次数: 23, 下载积分: 贡献 1

售价: 80 金币  [记录]  [购买]

第2组答案

发表于 2016-6-20 10:41:39 | 显示全部楼层
要求编写一个求最大供公约数的子函数,调用该子函数对输入的ab求它们的最大公约数并输出。

发表于 2017-6-15 12:24:42 | 显示全部楼层
gaojiaoren 发表于 2016-6-20 10:41
要求编写一个求最大供公约数的子函数,调用该子函数对输入的a、b求它们的最大公约数并输出。
...

怎么样才能编写程序语言,不知道
发表于 2017-12-25 10:59:52 | 显示全部楼层
c语言好难啊,对我来说就是天书
发表于 2018-6-14 23:42:36 | 显示全部楼层
c语言不太好学,需要不断地敲
发表于 2019-10-20 22:24:34 | 显示全部楼层
感觉好难 呀看不懂需要学习
发表于 2020-3-28 17:15:42 | 显示全部楼层
简单,但是不会做,咋办呢
发表于 2020-4-3 20:20:56 | 显示全部楼层
感谢楼主,正好需要这个
发表于 2020-4-14 20:06:40 | 显示全部楼层
天大2020年春学期考试《C语言程序设计》离线作业考核试题第三组参考答案
发表于 2020-10-11 20:09:12 | 显示全部楼层
难度有些大
发表于 2022-3-22 14:57:08 | 显示全部楼层
C语言好难啊
快速回复 返回顶部 返回列表