天大2023年春学期考试《C语言程序设计》离线作业考核课程论文包通过100分

作者:奥鹏远程作业辅导网 来源:本站 时间:2023-04-04 18:48:56热度:603

天大2023年春学期考试《C语言程序设计》离线作业考核课程论文包通过100分

微信客服 ++++:wbf170    或右边扫码

微信客服++++:wbf170   或右边扫码

题目如下:

第一组:

一、编程题(每题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[i]>0)(*zs)++;

if(aa[i]<0)

(*fs)++;

if(aa[i]==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[i] !=’\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、 编写程序。从键盘任意输入10个数,将这10个数按照由小到大的次序排序,输出

排序后的结果。(排序方法任意)

2、 编写程序。利用子函数fun求a数组中n个元素的平均值,再通过main()调用fun函数输出s数组中10个元素的平均值。

二、程序填空。在程序中的序号处填上正确的内容。(每空4分,共48分)

1、程序用于输出以下图形。








#include <stdio.h>

void main()

{ int i, j;

         for(i=1; i<10; i++)

         {  _____①_____;

          while (++j<=_____②_____)

             printf(“%4d”, _____③_____);

          _____④_____;

         }

}





2、 程序用于求 方阵的主对角线元素的乘积,

 #include <stdio.h>

void main()

{  int a[5][5],i,j,ss;

for(i=0;i<5;i++)

  for(j=0;j<5;j++) 

_____ ①  ___;

ss=_____②_____;

for(i=0;i<5;i++) 

 ss= _____③_____;

printf(“%d\n”, _____④_____); 

}





3、 输入一个三位正整数,分离出它的个位、十位和百位数并输出。


#include <stdio.h>

void main()

{  int x,hundreds,tens,units;

  scanf("%d",_____  ①  _____);

  hundreds=_____②_____;

  tens=_____③_____;

  units= _____④_____;

  printf("units=%d,tens=%d,hundreds=%d\n",units,tens,hundreds);

}




  三、写出程序的执行结果(每题4分,共12分)

1、

              #include <stdio.h>

              void main ( )

              {  int i,j;

             for(i=1;i<= 5;i++)

{ for(j=1; j<= 9-i ; j++ )

printf (" ");

              for(j=1;j<=i;j++) 

            printf("%c", ’A’+i-1);

              printf("\n");

             }

           }


    




2、

            #include <stdio.h>

int x=100; 

void f1()

{  int a=100;

               a+=100;  x+=100;

               printf (“%4d %4d”, a, x) ;

            }

            void f2() 

            {  static int b=100;

               b+=100;  x+=100;

               printf (“%4d %4d”, b , x);

            } 

void main ( )

{  f1( );  f1( );  f2( );  f2( );  } 





3、

          #include <stdio.h>

    void main() 

          {   int m=1,n=2,*p=&m,*q=&n,*r;

              r=p;p=q;q=r;

              printf("%d,%d,%d,%d",m,n,*p,*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  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[i][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;

case 1:printf(“**1**”);break;

}

case 2:printf(“**2**”);break;

}

             }





 
QQ在线咨询