C语言笔试程序填空题Word格式.docx
- 文档编号:7797287
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:24
- 大小:20.97KB
C语言笔试程序填空题Word格式.docx
《C语言笔试程序填空题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言笔试程序填空题Word格式.docx(24页珍藏版)》请在冰点文库上搜索。
,str)!
=EOF)
{for(i=0;
str[i]!
='
\0'
;
i++)
if((str[i]>
a'
&
(str[i]<
z'
))
str[i]=
(2)/////////str[i]-32;
fclose(fp);
tk56.c程序用于计算4×
5的整型数组中最大元素所在行和列的位置。
下面程序不完整,
请将其补充完整,以便得到正确答案,注意:
不得增行和删行,也不得修改程序的结构。
。
#include<
voidmain(void)
{
inta[4][5]={{4,8,9,10,12},
{2,5,13,17,11},
{81,76,34,57,33},
{1,90,3,78,55}};
intmax,max_row,max_col;
inti,j;
max=________;
////////a[0][0]
max_row=0;
max_col=0;
for(i=0;
i<
4;
for(j=0;
j<
5;
j++)
if(______)/////////max<
a[i][j]
{
max=a[i][j];
max_row=i;
max_col=j;
}
%d%d"
max_row,max_col);
tk57.c用来输出两整数M和N之间的所有素数(质数)。
所谓一个整数n为素数,是指n除了能被1和其本身n除尽
外,不能被2到n-1中的任何整数除尽。
如7为素数,而9不是素数。
程序中,外循环变量i用于控制整数选择范围,内循环变量j用于判断某整数i是否为素数,若是,
则输出该素数,且通过变量s来控制每行输出5个素数。
#defineM4
#defineN30
main()
inti,j,k,s=0;
for(i=M;
i<
=;
i++)////////////N
{for(j=2;
j<
;
j++)////////////i
if(i%j==0)break;
if(j>
=i)
%5d"
i);
s=s+1;
if(s%5)printf("
}
tk101.c中有整形数组a[]。
通过调用子程序inv(),对a[]数组中的元素,反向交换存储位置。
请在括号[]处补充完整程序,并删除[],运行测试,实现上述要求。
不得增加行或删除行,也不得更改程序结构。
voidinv(intx[],intn)
inttemp,i,j,m=[];
////////n/2-1
for(i=0;
=m;
{j=n-i-1;
temp=x[i];
[];
////////x[i]=x[j]
x[j]=[];
///////temp
return;
inta[10]={4,5,6,7,8,9,10,11,12,88};
inti;
printf("
Theoriginalarray:
10;
%3d"
a[i]);
inv(a,10);
Thereversearray:
=________;
i++)//////////////////N
_______;
j++)///////////////i
if(s%5==0)printf("
2.若一个整数x除了能被1和其本身x除尽外,不能被2到x-1中的任何整数除尽,则此数即为素数(或质数)。
例如7是素数,而9不是素数。
下面程序的功能是:
将任意输入的一个大偶数n分解为两个素数之和,
并给出各种分解方法。
例如n=10时,分解后的结果为10=3+7和10=5+5。
请填空(替换掉下划线部分)。
程序中,函数check用来判断一个整数x是否是素数,若是,返回1,否则返回0。
#include"
stdio.h"
intn,i;
intcheck(intx);
do{
printf("
Inputn:
"
);
scanf("
%d"
&
n);
}while(n%2!
=0);
for(i=3;
=n/2;
i++)
if(check(i)&
_____________)///////////////check(n-i)
%d=%d+%d\n"
n,i,n-i);
intcheck(intx)
inti;
for(i=2;
x;
if(___________)return(0);
/////if(x%i==0)
return
(1);
tk154.c中有整形数组a[]。
//////////////n/2-1
//////////////x[i]=x[j]
////////////temp
tk155.c的功能是:
假设a数组中的数据巳按由小到大的顺序存放,以下程序可把a数组中相同的数据删得只剩一个,然后以每行4个数据的格式输出a数组。
请填空。
#defineM10
{inta[M],i,j,n;
for(i=0;
M;
scanf("
%d"
a+i);
n=i=M-1;
while(i>
=0)
{if(*(a+i)==*(a+i-1))
{for(j=___________;
=n;
j++)//////////i
*(a+j-1)=*(___________);
//////////a+j
_____________;
/////////n--
i--;
for(i=1;
=n+1;
{printf("
%4d"
*(a+i-1));
if(i%4==0)
tk163.c中有整形数组a[]。
///////////n/2
///////////x[i]=x[j]
///////////x[j]=temp
tk165.c程序首先定义了一个结构体变量(包括年、月、日),然后从键盘上输入任意的一天(包括年月日),最后计算该日在当年中是第几天,此时当然要考虑闰年问题。
现在程序是一个不完整的程序,请你在下划线空白处将其补充完整,以便得到正确的答案,但不得增删原来的语句。
structdatetype{
intyear;
intmonth;
intday;
}date;
inti,day_sum;
staticintday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
请输入年、月、日:
%d,%d,%d"
&
date.year,&
date.month,&
date.day);
day_sum=0;
date.month;
i++)day_sum+=day_tab[i];
_______
(1)_________;
/////////////////data_sum+=data.day
if((date.year%4==0&
date.year%100!
=0||date.year%400==0)&
______
(2)_______)/////////////////data.month>
2
day_sum+=1;
%d月%d日是%d年的第%d天\n"
date.month,date.day,date.year,day_sum);
tk166.c程序中,函数fun的功能是:
将s所指字符串中下标为偶数的字符删除,s中剩余的字符形成的新串
放在t所指的数组中。
例如,当s所指字符串中的内容为“ABCDEFGHIJK”,
在t所指数组中的内容应是“BDFHJ”。
conio.h>
string.h>
voidfun(char*s,chart[])
inti,j,n;
n=strlen(s);
for(i=0,j=0;
n;
i++)
if(____________)///////i%2!
=0
{t[j]=s[i];
j++;
t[j]=______;
////////////////t[j]='
main()
chars[80],t[80];
clrscr();
\nPleaseenterstrings:
s);
fun(s,t);
\nTheresultis:
%s\n"
t);
tk227.c求出以下分数序列的前n项之和。
1/2,2/3,3/5,5/8,8/13,13/21,......
例如,若n的值为:
5,则应输出:
3.007051
{intn,i;
doublesum,mole,deno,temp;
Inputn:
"
n);
__________________;
/////////sum=0;
mole=1;
deno=2;
{sum=sum+mole/deno;
////temp=mole+deno;
mole=deno;
deno=temp;
Theresult:
%f\n"
sum);
tk228.c的功能是:
j++)////////i
/////a+j
/////n--;
tk234.c中函数fun的功能是:
将a所指字符串中字符的倒序,和b所指字符串中的倒序,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。
例如,当a所指字符串中的内容为"
abcdefg"
,b所指字符串中的内容为"
1234"
时,则c所指数组中的内容应该为"
g4f3e2d1cba"
;
而当a所指字符串中的内容为"
,b所指字符串中的内容为"
4g3f2e1dcba"
请将函数fun补充完整,使它能得出正确的结果。
不得增行或删行,也不得更改程序的结构!
voidmyswap(char*s)
char*sp,*st,ch;
sp=s;
st=s+strlen(s)-1;
while(sp<
=st)
{ch=*sp;
*sp=*st;
*st=ch;
sp++;
st--;
voidfun(char*a,char*b,char*c)
chars1[100],s2[100],*sa,*sb;
strcpy(s1,a);
strcpy(s2,b);
myswap(s1);
myswap(s2);
sa=s1;
sb=s2;
while(___________)/////(*sa||*sb)
{if(*sa){*c=*sa;
c++;
sa++;
if(*sb){*c=*sb;
sb++;
___________;
/////*c='
chars1[100],s2[100],t[200];
clrscr();
\nEnters1string:
scanf("
s1);
\nEnters2string:
s2);
fun(s1,s2,t);
\nTheresultis:
t);
tk273.c中函数fun的功能是:
将字符串s1中出现在字符串s2中的字符删除。
例如:
s1为"
abcaa63akdfk"
调用fun(s1,s2)后,s1为"
bc63df"
注意:
不得增行或删行!
{chars1[300]="
s2[300]="
ayk5"
fun(s1,s2);
%s\n"
fun(char*s1,char*s2)
{char*p1=s1,*p2;
while(*s1)
{p2=s2;
while(*p2&
([]!
=*p2))p2++;
////////////*p1
if(*p2=='
)*p1++=*s1;
s1++;
*p1='
\[]'
///////////'
0'
本程序通过调用函数invert()将数组a中的元素头尾倒置过来。
若倒置前数组a中原来的元素为1,3,5,2,4和6,则头尾倒置后数组a的元素变为6,4,2,5,3和1。
假设数组a的初值就是1,3,5,2,4,6这六个数,在程序运行时输入。
请将源程序补充完整,要求得到正确的结果。
注意在答题过程中不得对源程序增行或删行,也不得更改程序的结构。
#defineN6
voidinvert(s,i,j)
int*s,i,j;
intt;
if(i<
j)
t=*(s+i);
*(s+i)=*(s+j);
*(s+j)=t;
invert(s,_____
(1)_____,j-1);
///////////i+1
inta[N],i;
N;
i++)scanf("
_____
(2)_____;
/////////////invert(a,0,N-1)
i++)printf("
%d"
tk305.c程序中,函数fun的功能是:
例如,当s所指字符串中的内容为“ABCDEFGHIJK”,在t所指数组中的内容应是“BDFHJ”。
if(____________)/////////n%i!
////////t[j]='
tk393.c程序中有整形数组a[]。
通过调用函数inputdata90,给a[]数组元素输入数据;
通过调用函数process(),
实现去掉数组中一个最大数值和一个最小数值的元素,返回其余元素的平均值。
floatprocess(int*);
voidinputdata(int*);
inputdata(a);
Score:
process(a));
floatprocess(int*p)
inti,maxindex,minindex;
floataver=0;
maxindex=minindex=0;
for(i=1;
if(*(p+maxindex)<
*(p+i))
maxindex=i;
if([])//////*(p+minindex)>
*(p+i)
minindex=i;
*(p+maxindex)=0,*(p+minindex)=0;
aver=aver+*(p+i);
return[];
//////aver/(i-2);
voidinputdata(int*k)
k+i);
tk394.c程序中fun的功能是查询字符c在字符串str中是否存在。
例如,若输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 笔试 程序 填空