最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

上海工程技术大学2009-2010(1)C语言试卷A

来源:动视网 责编:小OO 时间:2025-10-01 21:10:04
文档

上海工程技术大学2009-2010(1)C语言试卷A

(勤奋、求是、创新、奉献)2009-2010(1)C语言试卷A课程序号___________班级__________学号__________姓名__________一.读程序,写结果(第1题题5分;第2题每题7分;第3、4、5题10分;共计31分)1.该程序的输出是main(){intk=7,n=0;do{switch(k){case1:case3:n+=1;k--;break;case5:case6:n++;k--;break;default:n=0;k--;case2:case4:n+=2
推荐度:
导读(勤奋、求是、创新、奉献)2009-2010(1)C语言试卷A课程序号___________班级__________学号__________姓名__________一.读程序,写结果(第1题题5分;第2题每题7分;第3、4、5题10分;共计31分)1.该程序的输出是main(){intk=7,n=0;do{switch(k){case1:case3:n+=1;k--;break;case5:case6:n++;k--;break;default:n=0;k--;case2:case4:n+=2
              

                           (勤奋、求是、创新、奉献)

                       2009-2010(1)C语言试卷A

课程序号___________  班级  __________  学号 __________  姓名 __________

一.读程序,写结果(第1题题5分;第2题每题7分;第3、4、5题10分;共计31分)

1. 该程序的输出是         

   main()

   {

    int k =7,n=0;

    do

  {

    switch(k)

   {

    case 1: 

    case 3:n+=1; k--; break;

    case 5:

    case 6: n++;k--;break;

    default:n=0;k--;

case 2: 

case 4:n+=2; k--;break; 

}

printf("%d",n);

}while(k>0&&n<=7);

}

2.该程序的输出是         

#include

void main()

{

char a[]="programming",b[]="language";

char *p1;*p2;

int i;

p1=a;p2=b;

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

if(*(p1+i)==*(p2+i))  printf("%c",*(p1+i));

}

3.设本题输入的数n=2,m=2,该程序的输出是         

#include "stdio.h"

int Ack(int m,int n) 

{

 int ackmn;

 if(m==0)

  {

   ackmn=n+1; 

   return ackmn;

  }

 else if(n==0)

 {

  ackmn=Ack(m-1,1);  

  return ackmn;

  } 

 else

  {

   ackmn=Ack(m-1,Ack(m,n-1));

   printf("ackmn=%d\\n",ackmn);

   return ackmn;

   }  

  }

main()

{

 int m,n,sum;

 printf("input m and n:");

 scanf("%d,%d",&m,&n);

 sum=Ack(m,n);

 printf("\\n%d\\n",sum); /

}

4. 输入自然数n=5时, 该程序的输出是         

#include "stdio.h"

main()

{

 int n,a,i,j,k;

  printf("Please inpt a Number:");

  scanf("%d",&n);

  printf("\\n");

 a=1;

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

 { k=a;

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

     {printf("%4d",k);

         k=k+(n-j+1);

     }

     printf("\\n");

    a=a+1;

 }

}

5. 输入自然数n=5时, 该程序的输出是        

#include

  main()

 {

  char c=96;

  int i,j,n,k;

  printf("Input a number n=");

  scanf("%d",&n);

  printf("\\n");

  k=(n+1)/2;

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

  {

for(j=1;j<=k-i;j++) printf(" ");

for(j=1;j<=i*2-1;j++) printf("%c",c+i);

   printf("\\n");

  }

for(i=k-1;i>=1;i--)

 {

for(j=1;j<=k-i;j++) printf(" ");

for(j=1;j<=i*2-1;j++) printf("%c",c+i);

  printf("\\n");

 }

}

二.(16分)下列程序是要完成验证卡布列克运算,即任意一个四位数,只要它们各个位上的数字是不全相同的,就有这样的规律:

1)将组成该四位数的四个数字由大到小排列,形成由这四个数字构成的最大的四位数;

2)将组成该四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数中含有0,则得到的数不足四位);

3)求两个数的差,得到一个新的四位数(高位零保留)。

重复以上过程,最后得到的结果是6174,这个数被称为卡布列克数。

读完程序后,补全标有分值的程序段,使程序具有验证卡布列克运算的功能。

int count=0;

main() 

int n; 

printf("Enter a number:"); 

scanf("%d", &n); /*输入任意正整数*/ 

vr6174(n); /*调用函数进行验证*/ 

int vr6174(int num) 

int each[4],max,min ; 

while (num!=6174&&num) /*若不等于6174且不等于0则进行卡布列克运算*/ 

 { 

  parse_sort(num,each); /*将整数分解,数字存入each数组中*/ 

  max_min(each,&max,&min); /*求数字组成的最大值和最小值*/ 

  num=max-min; /*求最大值和最小值的差*/ 

  printf("[%d]: %d-%d=%d\\n",++count,max,min,num); /*输出该步计算过程*/ 

 } 

int  parse_sort(int num,int *each) 

int i,*j,*k,temp; 

for(i=0;i<=4;i++) /*将NUM分解为数字(3分)*/

 

for(i=0;i<3;i++)    /*对各保数字从大到小进行排序(6分)*/

return;

}

int  max_min(int *each,int *max,int *min) /*将分解的数字还原为最大整数和最小整数*/ 

int *i; 

*min=0; /*还原为最小的整数(4分)*/

*max=0; /*还原为最大的整数(3分)*/

}

三.下列程序的逻辑功能是: 为了安全,发送方在电报发送前对报文进行编码后再发出;例如原始报文中有sues,实际发出的电文是:npzn; 要求读懂下列程序后,在右侧编写接受方将电文还原成原始报文的程序。(12分)

.#include "stdio.h"

main()

{

 char string[100],*cp;

 int i,j,k,l;

 cp=string;

 printf("Please Input A string:");

 gets(string);

 for (i=0;(*(cp+i)!='\\0');i++)

 {

  if ((*(cp+i)>='A')&&(*(cp+i)<='Z'))

     {

      *(cp+i)=*(cp+i)-5;

  if ((*(cp+i)<'A')) *(cp+i)=*(cp+i)+26;    

      }

  if ((*(cp+i)>='a')&&(*(cp+i)<='z'))

         { *(cp+i)=*(cp+i)-5;

  if ((*(cp+i)<'a')) *(cp+i)=*(cp+i)+26;    

         }

  }

   printf("%s",string);

   printf("\\n");            

}

四.下列程序是求4阶矩阵a中是否存在鞍点的程序段(列中最大,行内最小);请在空白处填入正确的内容,

  使程序得以完成其功能.(14分)  (每一空为3.5分)

#include

 main()

 { int n=4, m=4, i, j, k, l, minn, maxx, flag ;

  int a[4][4]={ 

                  {  6, 26, 61, 19},

                  {  7, 17, 93, 19},

                  { 12, 28, 63, 19},

                  {  4, 24, 5,777}

                 };

      (1)    ;

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

  {

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

    {

    minn =    (2)    ;

for( k = 0 ;k < m; k++)

    {

if( minn >   (3)    )

     break;

    }

   if( k == m)

   {

   maxx = a[i][j];

   for( l = 0;    (4)   )

   {

if( maxx < a[l][j])

    break;

   }

   if( l == n)

   {

   printf(" row=%d   col=%d     a[%d][%d]= %d \\n",i , j ,i,j,a[i][j]);

   flag = 1;

   }

  }

 }

}

 if( flag == 0)

 printf("此矩阵没有马鞍点4");

 printf("\\n");

}

五 .编程题(16分)

    编写程序 其功能是:读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。    例如, 若输入I am a student to take the examination.,    则应输出"I aM A studenT tO takE thE examinatioN."。

文档

上海工程技术大学2009-2010(1)C语言试卷A

(勤奋、求是、创新、奉献)2009-2010(1)C语言试卷A课程序号___________班级__________学号__________姓名__________一.读程序,写结果(第1题题5分;第2题每题7分;第3、4、5题10分;共计31分)1.该程序的输出是main(){intk=7,n=0;do{switch(k){case1:case3:n+=1;k--;break;case5:case6:n++;k--;break;default:n=0;k--;case2:case4:n+=2
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top