奥鹏作业答案 发表于 2016-6-20 00:39:59

天津大学网络教育学院2016年7月001016[C语言程序设计]大作业

C语言程序设计请在以下三组题目中任选一组作答,满分100分。第一组:一、编程题(每题20分,共40分)file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif1、编写程序。每当输入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()      {inti,j;         inta;         for(i=0;i<10;i++)a=1, _____①_____;         for(_____②_____;i<10;i++)         for(j=1;j<i;j++)             a= _____③_____;         for(i=0;i<10;i++)         {for(j=0;j<=i;j++)         printf("%5d",a);            _____④_____;         }} 2、 将输入的一个字符串(以!结束)中的小写字母转换成大写字母,然后输出到磁盘文件“test”中。#include <stdio.h>         void main()         { _____①_____;          char str,filename;          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>='a'&&str<='z')             str=str-32;             fputc(str,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 (){intx=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、程序用于输出如下图形。



             1   2      3   4   5      6   78      9     1    2   4    3   6      9    4   8   1216    510   152025    612   182430 36    714   212835   4249    816   243240   485664    918   273645   546372   81   
       
   


#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>0)(*zs)++;if(aa<0)(*fs)++;if(aa==0)(*l)++; } }void main(){ float num;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,求出区间的所有素数。#include<stdio.h>_____①_____voidmain(){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(){ chars1[ ]="abcde",s2;         inti=0;         while( s1 !=’\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;elsec=age(n-1)+2;return(c);}void main(){printf("%d",age(5));} 第三组:一、编程题(每题20分,共40分)1、编写程序。计算 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif(求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、输出如下图形。123 45 112 34111 23111 1211 111 #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,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;_____②_____;            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[]={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;if(i+j==2)s2=s2+a;} 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);}printf(“\n”);}     3、#include <stdio.h>            void main()            {   int s;                for (i=0;i<5;i++)                  s=i*2;                  for(i=4;i>=0;i--)               printf(“%5d”,s);               printf(“\n”);             }
页: [1]
查看完整版本: 天津大学网络教育学院2016年7月001016[C语言程序设计]大作业