奥鹏易百

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

帮助中心知识拓展客服QQ 515224986
查看: 1643|回复: 0

001016[C语言程序设计]第一组:一、编程题1、编写程序。每...

[复制链接]

2万

主题

27

回帖

6万

积分

管理员

积分
60167
发表于 2016-6-24 10:34:15 | 显示全部楼层 |阅读模式
扫码加微信
天大课程考试C语言程序设计答案参考
请在以下三组题目中任选一组作答,满分100分。
第一组:
一、编程题(每题20分,共40分)
1、编写程序。每当输入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()
        {  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 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 ()
{  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、程序用于输出如下图形。






#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>
_____  ①__  ___
void main()
{  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()
{ 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、编写程序。计算  (求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”);
             }









要求:
1.         独立完成,作答时要写明题型、题号;
2.        作答方式:手写作答或电脑录入,使用A4格式白纸;
3.        提交方式:以下两种方式任选其一,
1)        手写作答的同学可以将作业以图片形式打包压缩上传;
2)        提交电子文档的同学可以将作业以word文档格式上传;
4.         上传文件命名为“中心-学号-姓名-科目.rar” 或“中心-学号-姓名-科目.doc”;
5.        文件容量大小:不得超过20MB。




奥鹏易百网www.openhelp100.com专业提供网络教育各高校作业资源。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|www.openhelp100.com ( 冀ICP备19026749号-1 )

GMT+8, 2024-12-27 15:04

Powered by openhelp100 X3.5

Copyright © 2001-2024 5u.studio.

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