c语言题库Word格式.docx
《c语言题库Word格式.docx》由会员分享,可在线阅读,更多相关《c语言题库Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
k=k*j;
}
s=s+k;
k=1;
returns;
/**********End**********/
main()
intn;
longintresult;
scanf("
%d"
&
n);
result=fun(n);
printf("
%ld\n"
result);
wwjt();
voidwwjt()
FILE*IN,*OUT;
inti;
intiIN;
longintiOUT;
IN=fopen("
in.dat"
"
r"
);
if(IN==NULL)
{
PleaseVerifyTheCurrerntDir..ItMayBeChanged"
}
OUT=fopen("
out.dat"
w"
if(OUT==NULL)
PleaseVerifyTheCurrentDir..ItMayBeChanged"
for(i=0;
10;
fscanf(IN,"
iIN);
iOUT=fun(iIN);
fprintf(OUT,"
iOUT);
fclose(IN);
fclose(OUT);
______________________________________________________________________________
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
将若干学生的档案存放在一个文件中,并显示其内容。
------------------------------------------------------*/
#include<
structstudent
intnum;
charname[10];
intage;
};
structstudentstu[3]={{001,"
LiMei"
18},
{002,"
JiHua"
19},
{003,"
SunHao"
18}};
voidmain()
/**********FOUND**********/
structstudentp;
cfilefp;
if((fp=fopen("
stu_list"
wb"
))==NULL)
cannotopenfile\n"
return;
for(*p=stu;
p<
stu+3;
p++)
fwrite(p,sizeof(structstudent),1,fp);
fclose(fp);
fp=fopen("
rb"
No.Nameage\n"
for(i=1;
=3;
fread(p,sizeof(structstudent),1,fp);
%4d%-10s%4d\n"
*p.num,p->
name,(*p).age);
________________________________
将字符串s中最后一次出现的子字符串t1替换成字符串t2,
所形成的新串放在w所指的数组中,在此处,要求t1和t2
所指字符串的长度相同。
当s所指字符串中的内容为"
abcdabfabc"
,t1中的内容
为"
ab"
,t2中的内容为"
99"
时,结果w所指数组中的内容
应为"
abcdabf99c"
。
conio.h>
string.h>
voidfun(char*s,char*t1,char*t2,char*w)
char*p,*r,*a;
strcpy(w,s);
while(w)
p=w;
r=t1;
while(*r)
if(*r=*p)
r++;
p++;
else
break;
if(*r=='
/0'
)a=w;
w++;
r=t2;
a=*r;
a++;
chars[100],t1[100],t2[100],w[100];
\nPleaseenterstringS:
"
%s"
s);
\nPleaseentersubstringt1:
t1);
\nPleaseentersubstringt2:
t2);
if(strlen(t1)==strlen(t2))
fun(s,t1,t2,w);
\nTheresultis:
%s\n"
w);
\nError:
strlen(t1)!
=strlen(t2)\n"
___________________________________________________________________________
/*------------------------------------------------
求一个四位数的各位数字的立方和
intfun(intn)
inti,j,k,p,m;
i=n%1000;
j=(n%100)%10;
k=(n%1000)%100;
p=n/1000;
m=i*i*i+j*j*j+k*k*k+p*p*p;
returnm;
intk;
k=fun(1234);
k=%d\n"
k);
FILE*IN,*OUT;
intiIN,iOUT,i;
22.IN"
PleaseVerifyTheCurrerntDir..itMayBeChanged"
22.out"
PleaseVerifyTheCurrentDir..itMayBeChanged"
%d\n"
_____________________________________________________________
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
将一个字符串中的前N个字符复制到一个字符数组中去,
不许使用strcpy函数。
-------------------------------------------------------*/
main()
charstr1[80],str2[80];
inti,n;
/***********SPACE***********/
gets(【?
】);
for(i=0;
【?
】;
】;
%s\n"
str2);
——————————————————————————————————————————————————————
有一数组内放10个整数,要求找出最小数和它的下标,然后
把它和数组中最前面的元素即第一个数对换位置.
main()
inti,a[10],min,k=0;
\npleaseinputarray10elements\n"
/***********FOUND***********/
a[i]);
a[i]);
min=a[0];
if(a[i]<
min)
min=a[i];
k=i;
a[k]=a[i];
a[0]=min;
\naftereschange:
\n"
\nk=%d\nmin=%d\n"
k,min);
__________________________________________________________________
删除一个字符串中的所有数字字符。
voiddelnum(char*s)
inti,j;
for(i=0,j=0;
】'
\0'
;
if(s[i]<
'
0'
【?
】s[i]>
9'
)
j++;
s[j]='
;
main()
char*item;
\ninputastring:
item="
gets(item);
\n%s"
item);
_----------------------------------------------------------------
实现3行3列矩阵的转置,即行列互换。
fun(inta[3][3],intn)
inti,j,t;
n;
for(j=0;
a[i][j]);
%4d"
a[i][j]=t;
a[i][j]=a[j][i];
t=a[j][i];
main()
intb[3][3];
fun(b,3);
————————————————————————————————————————————————————————
从键盘输入一个大于3的整数,调用函数fun判断
其是否素数,然后在main函数中输出相应的结论
信息。
7是素数,8不是素数。
请编写fun函数。
素数是
仅能被1和自身整除的数
-------------------------------------------------*/
intm,flag;
inputaninteger:
m);
flag=fun(m);
if(flag)
%disaprime.\n"
m);
%disnotaprime.\n"
5.IN"
5.out"
下面函数为二分法查找key值。
数组中元素已递增排序,
若找到key则返回对应的下标,否则返回-1。
fun(inta[],intn,intkey)
intlow,high,mid;
low=0;
high=n-1;
while(【?
】)
mid=(low+high)/2;
if(key<
a[mid])
elseif(key>
return-1;
inta[10]={1,2,3,4,5,6,7,8,9,10};
intb,c;
b=4;
c=fun(a,10,b);
if(c==1)
notfound"
position%d\n"
c);
一个已排好序的一维数组,输入一个数number,要求按原来
排序的规律将它插入数组中.
inta[11]={1,4,6,9,13,16,19,28,40,100};
inttemp1,temp2,number,end,i,j;
=10;
%5d"
number);