[离线作业] 天大001016[C语言程序设计]

[复制链接]
发表于 2016-12-5 22:20:28 | 显示全部楼层 |阅读模式
C语言程序设计
要求:
1. 独立完成,作答时要按照模版信息填写完整,写明题型、题号
2. 作答方式:手写作答或电脑录入,请使用学院统一模版(模版详见附件);
3. 提交方式:以下两种方式任选其一,
1)  手写作答的同学可以将作业以图片形式打包压缩上传;
2)  提交电子文档的同学可以将作业以word文档格式上传;
4.  上传文件命名为“中心-学号-姓名-科目.rar” 或“中心-学号-姓名-科目.doc”;5.  文件容量大小:不得超过20MB。
请同学们按照学院平台“课程考试——离线考核——离线考核课程查看”中指定的“做题组数”作答,满分100分;
例如:“做题组数”标为1,代表学生应作答“第一组”试题;
提示:未按要求作答题目的同学,成绩以0分记!

第一组:
一、编程题(每题20分,共40分)
1、编写程序。从输入的若干个大于零的整数中选出最小值(输入-1时结束输入)。
2编写程序。写一个子函数fac求n!,然后再编写main()调用fac函数分别输出1~5的阶乘。
二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1程序用于输出以下图形。

        
S
   
SS
   
SSS
   
SSSS
   
SSSSS
   
SSSSSS
   
   
  







       #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", ________ );
________________;
}
}



  2程序由键盘输入10个整型数写入名为fdada.txt的文件
      #include "stdio.h"
      #include"process.h"
      void main()
      { __________*fp;
         int i,a;
         if((fp=fopen("__________","w"))==NULL)
{ printf("文件不能打开!\n"); exit(1);}
         else { printf("请输入10个整数\n");
              for(i=1;i<=10;i++)
{ scanf("%d",&a); fprintf(________,"%d  ",a);}
              ________________ ;
             }   
       }




3输入4×5数组中所有元素,求所有元素的平均值并输出。
#include <stdio.h>
        void main( )
       {  int a[4][5],i,j,sum;
     for(i=0;i<4;i++)
            for(j=0;j<5;j++)
              scanf(“%d”, __________ );
__________;
           for(i=0;i<4;i++)
            for(j=0;j<5;j++)
sum=____    ____;
printf(“average=%f\n”, ________ );
         }



三、写出程序的执行结果(每题4分,共12分)
1
#include <stdio.h>  
int x=10;
void f1()
{ int a=10;
          static int b=10;
          a+=10; b+=10; x+=10;
          printf (“%d  %d  %d      ”, a,b,x) ;
        }
void main ( )
{ f1( ); f1( ); }



2
       #include <stdio.h>
      void main()
      {   int a[ ]={2,3,5,4},i;
           for (i=0;i<4;i++)
             switch(i%2)
             {   case 0: switch(a%2)
                     { case 0: a++;break;
                      case 1:a--;
                     }break;
                 case 1:a=0;
             }
        for (i=0;i<4;i++)  printf("%2d ",a);
        printf("\n");
       }
3
#include <stdio.h>
       void main()
        {   int beta=10;
            int *pointer,*q;            
            pointer=β
            *pointer=20;     
        beta=*pointer+30;   
q=β
            printf("\n *q=%d ",*q);
}
第二组:
一、编程题(每题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”);
      }
}   
    2D盘建一个名为”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;
case1:printf(“**1**”);break;
}
case2:printf(“**2**”);break;
}
             }
第三组:
一、编程题(每题20分,共40分)
1、编写程序。任意输入10个数,输出这10个数中正数的平均值并将这10个数按相
反的次序并输出。
     2编写程序。自定义函数重复输出给定的一个字符n次,调用该函数输出给定的字符和输出的次数。
  二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)
1程序用于输出以下图形。
        
1
   
                        2   2
   
                     3    3    3
   
                  4    4    4       4
   
               5    5    5       5    5
   
            6    6     6        6    6    6
   
      7    7        7     7    7       7    7
   
   8     8       8     8     8        8    8    8
   
9    9     9        9     9    9        9    9    9
   
   
  






#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语言程序设计 第二组答案.rar

20.87 KB, 下载次数: 3, 下载积分: 贡献 1

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

第2组答案

C语言程序设计 第一组答案.rar

22.63 KB, 下载次数: 3, 下载积分: 贡献 1

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

第1组答案

快速回复 返回顶部 返回列表