二级C南开上机百题填空题文档格式.docx
《二级C南开上机百题填空题文档格式.docx》由会员分享,可在线阅读,更多相关《二级C南开上机百题填空题文档格式.docx(98页珍藏版)》请在冰豆网上搜索。
字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba。
string.h>
conio.h>
#defineN81
voidfun(char*s)
inti=0,t,n=strlen(s);
for(;
;
t=*(s+i);
;
chara[N];
clrscr();
Enterastring:
"
);
gets(a);
Theoriginalstringis:
puts(a);
fun(a);
\n"
Thestringaftermodified:
4题题目:
请补充函数fun,它的功能是:
计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。
例如,在主函数中从键盘给n输入30后,输出为:
s=1.226323。
doublefun(intn)
inti;
doublesum=0.0;
if(n>
0&
&
n<
=100)
for(i=1;
sum+=;
returnsum;
intn;
doubles;
\nInputn:
"
s=fun(n);
\n\ns=%f\n"
s);
5题题目:
给定程序的功能是求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:
圆面积公式为:
S=3.14159*r*r,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:
19.527,输出为s=598.950017。
floatfun(float)
return3.14159*/2.0;
floatx;
printf("
Enterx:
scanf("
%f"
);
printf("
s=%f\n"
fun(x));
6题题目:
给定程序的功能是计算并输出下列级数的前n项之和Sn,直到Sn大于q为止,q的值通过形参传入。
Sn=2/1+3/2+4/3+……+(n+1)/n
例如,若q的值为50.0,则函数值为50.416687。
doublefun(doubleq)
n=2;
s=2.0;
while(sq)
s=s+(double)(n+1)/n;
;
n=%d\n"
n);
%f\n"
fun(50));
7题题目:
函数fun的功能是:
统计长整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1、c2、c3返回主函数。
例如,当n=123114350时,结果应该为:
c1=3c2=1c3=2。
intc1,c2,c3;
voidfun(longn)
c1=c2=c3=0;
while(n)
switch()
case1:
c1++;
case2:
c2++;
case3:
c3++;
n/=10;
longn=123114350L;
fun(n);
\nTheresult:
n=%ldc1=%dc2=%dc3=%d\n"
n,c1,c2,c3);
8题题目:
请补充main函数,该函数的功能是:
从键盘输入一组整数,使用条件表达式找出最大的整数。
当输入的整数为0时结束。
例如,当输入123540时,最大的数为5。
#defineN100
intnum[N];
inti=-1;
intmax=0;
\nInputintegernumber:
\n"
do
i++;
num[%d]="
i);
);
max=num[i]:
max;
}while();
max=%d\n"
max);
9题题目:
给定程序的功能是分别统计字符串中大写字母和小写字母的个数。
例如,给字符串ss输入:
AaaaBBb123CCccccd,则输出结果应为:
upper=5,lower=9。
voidfun(char*s,int*a,int*b)
while(*s)
if(*s>
='
A'
&
*s<
Z'
)
a'
z'
s++;
main()
chars[100];
intupper=0,lower=0;
printf("
\nPleaseastring:
);
gets(s);
fun(s,&
upper,&
lower);
\nupper=%dlower=%d\n"
);
10题题目:
从键盘输入3个整数,然后找出最大的数并输出。
例如,输入:
12,45,43,输出为45。
inta,b,c,max;
\nInputthreenumbers:
%d,%d,%d"
a,&
b,&
c);
Thethreenumbersare:
%d,%d,%d\n"
a,b,c);
if(a>
b)
if(max<
c)
max);
11题题目:
给定程序中,函数fun的功能是:
把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:
字符串的长度大于等于2)。
例如,形参s所指的字符串为:
abcdefgh,执行结果为:
ahcbedgf。
inti,n,k;
charc;
n=0;
for(i=0;
s[i]!
='
\0'
;
i++)n++;
if(n%2==0)
k=n-;
k=n-2;
c=;
for(i=k-2;
i>
=1;
i=i-2)s[i+2]=s[i];
s[1]=;
chars[80]="
abcdefgh"
\nTheoriginalstringis:
%s\n"
fun(s);
\nTheresultis:
12题题目:
请补充fun函数,该函数的功能是将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。
例如,若输入"
AreyoucomefromSichuan?
,则输出"
areyoucomefromsichuan?
。
char*fun(chartt[])
tt[i];
if((tt[i]>
)&
())
;
return();
chartt[81];
\nPleaseenterastring:
gets(tt);
\nTheresultstringis:
\n%s"
fun(tt));
13题题目:
请补充fun函数,该函数的功能是判断一个数是否为素数。
该数是素数时,函数返回字符串:
yes!
,否则函数返回字符串:
no!
,并在主函数中输出。
#include"
conio.h"
stdio.h"
inti,m;
m=1;
for(i=;
if(n%i==0)
m=0;
break;
if(m==1&
n>
1)
return("
yes!
no!
intk=0;
Input:
k);
%s\n"
fun(k));
14题题目:
请补充fun函数,该函数的功能是:
依次取出字符串中所有小写字母,形成新的字符串,并取代原字符串。
inti=0;
char*p=s;
while()
if(*p>
*p<
)
s[i]=*p;
p++;
s[i]=;
charstr[80];
\nEnterastring:
gets(str);
\n\nThestringis:
\%s\n"
str);
fun(str);
\n\nThestringofchangingis:
15题题目:
题目:
给定程序的功能是判断字符ch是否与串str中的某个字符相同;
若相同,什么也不作,若不同,则插在串的最后。
voidfun(char*str,charch)
while(*str&
*str!
=ch)str++;
if(*strch)
str[0]=ch;
=0;
chars[81],c;
\nPleaseenterthecharactertosearch:
c=getchar();
fun();
\nTheresultis%s\n"
s);
16题题目:
判断一个年份是否为闰年。
例如,1900年不是闰年,2004是闰年。
intfun(intn)
intflag=0;
if(n%4==0)
if()
flag=1;
return;
intyear;
Inputtheyear:
year);
if(fun(year))
%disaleapyear.\n"
year);
%disnotaleapyear.\n"
17题题目:
给定程序的功能是将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分段的人数存到b数组中:
成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3],成绩为100的人数存到b[4],成绩为60分以下的人数存到b[5]。
例如,当a数组中的数据是:
93、85、77、68、59、43、94、75、98。
调用该函数后,b数组中存放的数据应该是:
1、2、1、3、0、2。
voidfun(inta[],intb[],intn)
for(i=0;
i<
6;
i++)
b[i]=0;
if(a[i]<
60)
b[5]++;
b[(a[i]-60)/10]++;
inti,a[100]={93,85,77,68,59,43,94,75,98},b[6];
fun(,9);
theresultis:
b[i]);
18题题目:
str为一个字符序列。
查找str中值为x的元素,返回找到值为x的元素个数,并把这些值为x的元素下标依次保存在数组bb中。
例如,在"
abcdefahij"
中查找‘a’,结果为:
2个‘a’,下标依次为0、6。
#defineN20
intbb[N];
intfun(char*str,charch)
inti=0,n=0;
chart=ch;
char*p=str;
while(*p)
if()
return;
charstr[N];
charch;
inti,j,n;
clrscr();
*******Inputtheoriginalstring*******\n"
*******TheOriginalstring*******\n"
puts(str);
*******Inputcharacter*******\n"
%c"
ch);
n=fun(str,ch);
\nThenumberofcharacteris:
%d\n"
*******Thesuffixofcharacter*******\n"
%d"
bb[i]);
19题题目:
给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数。
例如,当score={10,20,30,40,50,60,70,80,90},m=9时,函数返回的人数应该是4,below={10,20,30,40}。
intfun(intscore[],intm,intbelow[])
inti,j=0;
floataver=0.0;
for(i=0;
i<
m;
aver+=score[i];
aver/=(float)m;
if(score[i]<
aver)
below[j++]=;
returnj;
inti,n,below[9];
intscore[9]={10,20,30,40,50,60,70,80,90};
n=fun(score,9,);
\nBelowtheaveragescoreare:
);
for(i=0;
n;
);
20题题目:
给定程序的功能是求出能整除x且不是偶数的各整数,并放在数组pp中,这些除数的个数由n返回。
例如,若x的值为30,则有4个数符合要求,它们是1,3,5,15。
voidfun(intx,intpp[],int*n)
for(i=1;
=x;
i+=2)
if((x%i)==0)
pp[j++]=;
*n=;
intx,aa[1000],n,i;
\nPleaseenteranintegernumber:
&
x);
fun(x,);
for(i=0;
i++)
aa[i]);
);
21题题目:
将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
def35adh3kjsdf7。
执行结果为:
defadhkjsdf3537。
inti,j=0,k=0;
chart1[80],t2[80];
if(s[i]>
0'
s[i]<
9'
t2[j]=s[i];
t1[k++]=s[i];
t2[j]=0;
t1[k]=0;
k;
;
s[k+i]=t2[i];
ba3a54j7sd567sdffs"
22题题目:
在形参s所指字符串中的每个数字字符之后插入一个*号。
def3*5*adh3*kjsdf7*。
inti,j,n;
s[i]<
while(s[i+1+n]!
=)
n++;
for(j=i+n+1;
j>
i;
j--)
s[j+1]=;
s[j+1]='
*'
i=i+1;
ba3a54cd23a"
23题