天津大学仁爱学院c语言期末考试题,天津大学《C语言程序设计》2016年7月考试期末大作业...
請在以下三組題目中任選一組作答,滿分100分。
第一組:
一、編程題(每題20分,共40分)
1、編寫程序。每當輸入10個評委的分數(shù)后,求該選手的最后得分并輸出(設10個評委按照以下打分原則為選手打分:去掉一個最高分和一個最低分,剩下的求平均分作為選手的最后得分)。
2、編寫程序。先定義一個求n!的子函數(shù)fact,調用該子函數(shù)計算并輸出
的值(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
void main()
{??int??i,j;
int??a[10][10];
for(i=0;i<10;i++)a[i][0]=1, _____①_____;
for(_____②_____;i<10;i++)
for(j=1;j
a[i][j]= _____③_____;
for(i=0;i<10;i++)
{??for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
_____④_____;
}
}
2、? ? ? ? 將輸入的一個字符串(以!結束)中的小寫字母轉換成大寫字母,然后輸出到磁盤文件“test”中。
#include
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[i]>='a'&&str[i]<='z')
str[i]=str[i]-32;
fputc(str[i],fp);
_____④_____;
}
fclose(fp);
}
3、輸出如下圖形。
*? ???*
*? ? *
*??*
*
*??*
*? ?*
*? ? *
#include
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++;
}
}
三、寫出程序的執(zhí)行結果(每題4分,共12分)
1、
#include??
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??
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
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、? ? ? ? 編寫程序。定義數(shù)組存放任意輸入的10個實數(shù),求出其中的最大值以及第一個最
大值的下標并輸出。
2、編寫程序。要求編寫一個求最大供公約數(shù)的子函數(shù),調用該子函數(shù)對輸入的a、b求它們的最大公約數(shù)并輸出。
二、程序填空。在程序中的序號處填上正確的內容。(每空4分,共48分)
1、程序用于輸出如下圖形。
#include
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個實數(shù),統(tǒng)計其中正數(shù)、負數(shù)和零的個數(shù)。
#include
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正數(shù):%d,負數(shù):%d,零:%d\n",czs,cfs,cl);
}
3、輸入正整數(shù)m和n,求出[m,n]區(qū)間的所有素數(shù)。
#include
_____??①__??___
void main()
{??int m,n,i,j,k;
scanf("%d%d",&m,&n);
for(i=m;i
{ k=sqrt(i);
for(j=2; _____②_____;j++)
if(_____③_____)break;
if(_____④_____)
printf(" %d",i);
}
printf("\n");
}
三、寫出程序的執(zhí)行結果(每題4分,共12分)
1、
#include
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
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
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、編寫程序。自定義函數(shù)求N名學生1門課程成績的平均分,調用該函數(shù)求10名
學生1門課程成績的平均分。
二、程序填空。在程序中的序號處填上正確的內容。(每空4分,共48分)
1、判斷一個整數(shù)的各位數(shù)字是否都相同,相同則顯示“yes“,否則顯示”no”。
#include
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
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列的整數(shù)矩陣,輸出其中最大值和它們的下標。
#include
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
for(j=0;j
{ scanf(“%d”,&t);
_____①_____; }
max=a[0][0];_____②_____;
for(i=0;i
for(j=0;j
if(_____③_____)
{ _____④_____;maxrow=i;maxcol=j;}
printf(“MAX=a[%d][%d]=%d\n”,maxrow,maxcol,max,);
}
三、寫出程序的執(zhí)行結果(每題4分,共12分)
1、
#include
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[i][j];
if(i+j==2)
s2=s2+a[i][j];
}
printf(“%d%4d\n”,sl,s2);
}
2、
#include
void main()
{ char a[]={‘*’,‘*’,‘*’,‘*’,‘*’};
int i,j,k;
for(i=0;i<4;i++)
{ printf(“\n”);
for(j=0;j
printf(“%c”,‘ ’);
for(k=0;k<4;k++)
printf(“%c”,a[k]);
}
printf(“\n”);
}
3、
#include
void main()
{? ?int s[5];
for (i=0;i<5;i++)
s[i]=i*2;
for(i=4;i>=0;i--)
printf(“%5d”,s[i]);
printf(“\n”);
}
要求:
1.? ? ? ???獨立完成,作答時要寫明題型、題號;
2.? ? ? ? 作答方式:手寫作答或電腦錄入,使用A4格式白紙;
3.? ? ? ? 提交方式:以下兩種方式任選其一,
1)? ? ? ? 手寫作答的同學可以將作業(yè)以圖片形式打包壓縮上傳;
2)? ? ? ? 提交電子文檔的同學可以將作業(yè)以word文檔格式上傳;
4.? ? ? ???上傳文件命名為“中心-學號-姓名-科目.rar” 或“中心-學號-姓名-科目.doc”;
5.? ? ? ? 文件容量大小:不得超過20MB。
總結
以上是生活随笔為你收集整理的天津大学仁爱学院c语言期末考试题,天津大学《C语言程序设计》2016年7月考试期末大作业...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言第五章实验二答案,《C语言程序设计
- 下一篇: 多重选择函数c语言,大佬在吗,我用C写了