无忧答案网 首页 离线作业 查看内容

001016[C语言程序设计] 答案

2016-6-16 23:24| 发布者: 青青| 查看: 689| 评论: 0|原作者: 离线作业答案

摘要: C语言程序设计请在以下三组题目中任选一组作答,满分100分。答案下载请进 天大《C语言程序设计》2016年6月考试期末大作业答案第一组:一、编程题(每题20分,共40分)编写程序。每当输入10个评委的分数后,求该选手 ...
C语言程序设计
请在以下三组题目中任选一组作答,满分100分。
第一组:
一、编程题(每题20分,共40分)
编写程序。每当输入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 10105 1
        ……

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

2、 将输入的一个字符串(以!结束)中的小写字母转换成大写字母,然后输出到磁盘文件“test”中。#include <stdio.h>         void main()         { _____①_____;          char str[100],filename[10];          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 xint yint*z)
          { *z = x+y;}
          void main()
          { int a=5b=6c=7;
printf(“%d%d%d    ”abc);
sub(b,c,&a); sub(a,b,&c)
printf(“%d%d%d\n”abc);
}



2
        #include  <stdio.h>
void main ()
{  int  x=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   7  8      9
   
1
   
2   4
   
3   6      9
   
4   8     12  16
   
5  10     15  20  25
   
6  12     18  24  30 36
   
7  14     21  28  35     42  49
   
8  16     24  32  40     48  56  64
   
9  18     27  36  45     54  63  72     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[50];
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,求出[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");
}
三、写出程序的执行结果(每题412
1
       #include<stdio.h>
void main()
{ char  s1[ ]="abcde",s2[10];
           int  i=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;
else
c=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输出如下图形。
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]__________
            fori0i<ni++
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 ijsl0s20
for(i=0;i<3;i++
for(j=0;j<3;j++
{ if(i==j
s1=s1+a[j]
if(i+j==2
s2s2a[j]
}
printf“%d%4d\n”sls2);
}
2
#include<stdio.h>
void main()
{ char a[]={‘*’‘*’‘*’‘*’‘*’}
int ijk
fori0i<4i++
{ printf“\n”);
forj0j<ij++
printf“%c”‘ ’);
fork0k<4k++
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”);
             }

路过

雷人

握手

鲜花

鸡蛋
返回顶部