青青 发表于 2016-12-5 22:20:28

天大001016[C语言程序设计]

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,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”);      }}       2、在D盘建一个名为”file1.dat”的文件,从键盘输入若干字符(以回车作为结束)存入该文件,。#include <stdio.h>#define Null0void 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={{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, ""); printf("\n");}2、#include<stdio.h>         int fun( int x ){ intp;         if(x==0||x==1 ) p=1;elsep=x*fun( x-2 );returnp;}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 Null0void 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");}}
页: [1]
查看完整版本: 天大001016[C语言程序设计]