C语言习题.docx

上传人:b****1 文档编号:23057378 上传时间:2023-04-30 格式:DOCX 页数:34 大小:21.95KB
下载 相关 举报
C语言习题.docx_第1页
第1页 / 共34页
C语言习题.docx_第2页
第2页 / 共34页
C语言习题.docx_第3页
第3页 / 共34页
C语言习题.docx_第4页
第4页 / 共34页
C语言习题.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

C语言习题.docx

《C语言习题.docx》由会员分享,可在线阅读,更多相关《C语言习题.docx(34页珍藏版)》请在冰豆网上搜索。

C语言习题.docx

C语言习题

1.

请补充fun函数,fun函数的功能是:

求m的阶乘。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

longfun(intm)

{

if(__1__)

return(m*fun(__2__));

return__3__;

}

voidmain()

{

printf("8!

=%ld\n",fun(8));

}

2.

请补充fun函数,fun函数的功能是:

判断一个年份是否为闰年。

例如,2007年不是闰年,2008年是闰年。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

intfun(intn)

{

intflag=0;

if(n%4==0)

if(__1__)

flag=1;

if(__2__)

flag=1;

return__3__;

}

voidmain()

{

intyear;

printf("inputtheyear:

");

scanf("%d",&year);

if(fun(year))

printf("%disaleapyear.\n",year);

else

printf("%disnotaleapyear.\n",year);

}

3.

请补充fun函数,fun函数的功能是:

从三个形参x、y、z中找出中间的那个数,作为函数值返回。

例如,当x=121,y=456,z=333时,中间的数为333。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

intfun(inta,intb,intc)

{

inttemp;

temp=(a>b)?

(b>c?

b:

(a>c?

c:

__1__)):

((a>c)?

__2__:

((b>c)?

c:

__3__));

returntemp;

}

voidmain()

{

intx=121,y=456,z=333,mid;

min=fun(x,y,z);

printf("\nThemiddlenumberis:

%d\n",mid);

}

4.

请补充fun函数,fun函数的功能是:

把字符串中的内容逆置。

例如,字符串中原有的字符串为"ABCDE",则调用fun函数后,串中的内容为"EDCBA"。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

#include

#defineM60

voidfun(char*t)

{

intj,m=strlen(t)-1;

chars;

for(j=0;j

{

s=t[i];

__2__;

__3__;

}

}

voidmain()

{

charb[M];

printf("Inputastring:

");

gets(b);

printf("Theoriginalstringis:

");

puts(b);

fun(b);

printf("\n");

printf("Thereversalstringis:

");

puts(b);

}

5.

请补充main函数,main函数的功能是:

从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。

例如,输入:

-666,结果为:

666。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

voidmain()

{

longinta;

printf("Enterthedata:

\n");

scanf(__1__);

printf("Theoriginaldatais%ld\n",a);

if(a<0)

__2__;

printf("\n");

printf(__3__);

}

6.

请补充fun函数,fun函数的功能是:

计算并输出m(包括m)以内能被2或5整除的所有自然数的倒数之和。

例如,在主函数中从键盘给m输入21后,输出为:

s=1.731151.

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

doublefun(intm)

{

intj;

doubletoal=0.0;

for(j=1;__1__;j++)

if(j%2==0__2__j%5==0)

toal+=__3__/j;

returntoal;

}

voidmain()

{

intm;

doublef;

printf("\nInputm:

");

scanf("%d",&m);

f=fun(m);

printf("\n\ns=%f\n",f);

}

7.

请补充main函数,main函数的功能是:

从键盘输入的3个整数按从大到小输出。

例如,输入116513,结果输出651311。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

voidmain()

{

inta,b,c,t;

printf("Inputa,b,c\n");

scanf("%d%d%d",&a,&b,&c);

if(__1__)

{

t=a;

a=b;

b=t;

}

if(__2__)

{

t=c;

c=a;

a=t;

}

if(__3__)

{

t=b;

b=c;

c=t;

}

printf("Theresult\n");

printf("frombigtosmall:

%d%d%d\n",a,b,c);

}

8.

请补充程序,该程序的功能是:

分别统计字符串中大写字母和小写字母的个数,并输出统计结果。

例如,给字符串str输入:

afd34ddfbFFDEsD23sdF,则输出结果应为:

cap=6,min=10

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

voidfun(char*str,int*x,int*y)

{

while(*str)

{

if(*str>='A'&&*str<='Z')

__1__;

if(*str>='a'&&*str<='z')

__2__;

str++;

}

}

voidmain()

{

charstr[100];

intcap=0,min=0;

printf("\nPleaseinputastringtocount:

");

gets(str);

fun(str,&cap,&min);

printf("\ncap=%dmin=%d\n",__3__);

}

9.

给定程序的功能是求1/4的圆周长,函数通过形参得到圆的直径,函数返回1/4的圆周长。

例如,输入圆的直径值:

19.527,输出为:

15.336457。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

doublefun(doubled)

{

return3.14159*__1__/4.0;

}

voidmain()

{

doublez;

printf("Inputthedoftheround:

");

scanf("%lf",&__2__);

printf("L=%lf\n",fun(__3__));

}

10.

请补充fun函数,fun函数的功能是:

统计长整数test的各位上出现数字5、6、7的次数,并通过外部(全局)变量sum5、sum6、sum7返回主函数。

例如,当test=89431676时,结果应该为:

sum5=0sum6=2sum7=1。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

intsum5,sum6,sum7;

voidfun(longtest)

{

sum5=sum6=sum7=0;

while(test)

{

switch(__1__)

{

case5:

sum5++;

__1__;

case6:

sum6++;

__2__;

case7:

sum7++;

}

test/=10;

}

}

voidmain()

{

longtest=89431676L;

fun(test);

printf("\nThecountresult:

\n");

printf("test=%ldsum5=%dsum6=%dsum7=%d\n",test,sum5,sum6,sum7);

}

11.

请补充main函数,main函数的功能是:

对所给的一组整数,使用条件表达式找出最大的整数,当遇到的整数为-1时结束。

例如,所给整数为9612123343232548936589-1时,最大的数为365。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

#defineNUM100

intmain()

{

intn[NUM]={96,121,23,343,232,54,89,365,89,-1};

inti=-1;

intMAX=-1;

do

{

i++;

MAX=__1__n[i]:

MAX;

}while(__2__);

printf("TheMAX=%d\n",MAX);

return1;

}

12.

请补充fun函数,fun函数的功能是:

将字符串str中的小写字母都改为对应的大写字母,其他字符不变。

例如,当str内容为“Welcome123!

”时,程序输出结果为:

“WELCOME123!

”。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

#include

char*fun(charstr[])

{

intj;

for(j=0;str[j];j++)

{

if((str[j]>='a')&&(__1__))

str[j]-=__2__;

}

return(__3__);

}

intmain()

{

charstr[80]="Welcome123!

";

printf("\nTheoriginalresultstringis:

%s\n",str);

printf("\nTheresultstringis:

%s\n",fun(str));

return1;

}

13.

请补充fun函数,fun函数的功能是:

依次取出字符串中所有大写字母,形成新的字符串,并取代原字符串。

例如,当字符串内容为aAdfSsDd时,程序输出结果为:

ASD。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

voidfun(char*s)

{

intj=0;

char*p=s;

while(__1__)

{

if(*p>='A'&&*p<='Z')

{

s[j]=*p;

__2__;

}

p++;

}

s[j]=__3__;

}

intmain()

{

charstr[100]="aAdfSsDd12sg";

printf("\nTheoriginalresultstringis:

%s\n",str);

fun(str);

printf("\nTheresultstringis:

%s\n",str);

return1;

}

14.

请补充fun函数,fun函数的功能是:

判断字符串s中是否存在与字符ch相同的字符,若存在什么也不做,若不同则把ch字符插在字符串的最后。

例如,当字符串s内容为test,字符ch内容为e时,输出结果为:

test,但若ch内容为a时,输出结果为:

testa。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

voidfun(char*s,charch)

{

while(*s&&*s!

=ch)

s++;

if(*s__1__ch)

{

s[0]=ch;

s[1]='\0';

}

}

intmain()

{

charstr[81]="test";

charc='a';

printf("\nThestringis:

%s\n",str);

printf("\nThecharacteris:

%c\n",c);

fun(str,c);

printf("\nTheresultstringis:

%s\n",str);

return1;

}

15.

给定程序的功能是:

计算score数组n个人的平均成绩aver,将高于平均分的分数放在high数组中,并返回高于平均分的人数。

例如,当score数组中的数据为50、65、75、60、80、88、90、70、95时,函数返回的人数应该是5,high中的数据应为75、80、88、90、95。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

#include

#include

#include

intfun(intscore[],intn,inthigh[])

{

intj,k=0,average=0;

for(j=0;j

average+=score[j];

average/=n;

for(j=0;j

if(score[j]>average)

{

high[k]=score[j];

k++;

}

returnk;

}

intmain()

{

intj,m,high[9];

intscore[9]={50,60,65,70,75,80,88,90,95};

printf("\nTheoriginalscoreare:

");

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

printf("%d",score[j]);

m=fun(score,9,high);

printf("\nHightheaveragescoreare:

");

for(j=0;j

printf("%d",high[j]);

return0;

}

16.

请补充main函数,main函数的功能是:

找出3个整数中最小的数并输出。

例如,所给整数为9612123,则输出为23。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

intmain()

{

intx=96,y=121,z=23,min;

printf("\nTheoriginalthreenumbersare:

%d%d%d\n",x,y,z);

if(x

__1__;

else

__2__;

if(__3__)

min=z;

printf("\nmin=%d\n",min);

return0;

}

17.

请补充fun函数,fun函数的功能是:

输出数组元素中小于平均值的元素。

例如,数组中元素的值依次为3454675456453121,则程序的运行结果为3454121。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

#include

voidfun(__1__,intn)

{

doubletotal=0.0;

doubleaverage=0.0;

inti=0;

for(i=0;i

__2__;

average=__3__;

for(i=0;i

if((a[i]

{

if(i%5==0)

printf("\n");

printf("%d,",a[i]);

}

}

intmain()

{

inta[100]={34,54,675,456,453,121};

inti=6;

fun(a,i);

return1;

}

18.

请补充fun函数,fun函数的功能是:

求不超过给定自然数的各奇数之和。

例如,当给定自然数为34,则输出结果为289。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

intfun(intn)

{

inti,sum;

sum=__1__;

for(i=1;__2__;i+=2)

sum+i;

returnsum;

}

intmain()

{

inta=34;

printf("\nsum=%d\n",fun(a));

return1;

}

19.

斐波纳契数列是一种整数数列,其中第0个和第1个数依次为0和1,其他每个数等于前面两个数之和,如0112358......。

请补充fun函数,fun函数的功能是:

返回斐波纳契数列的第m项,例如,当m=6时,则fun返回结果为8。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

#include

intfun(intm)

{

if(__1__)

return0;

elseif(__2__)

return1;

else

return__3__;

}

intmain()

{

inti,m=7;

for(i=0;i

printf("%d",fun(i));

return1;

}

20.

/*请补充fun函数,fun函数的功能是:

求一维数组的平均值,并对所得结果进行四舍五入保留两位小数。

例如,当数组元素依次为:

23.112.35.356.410.013.724.5421.29.9时,则输出结果为:

average=19.840000。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

*/

#include

#include

doublefun(doublea[10])

{

inti;

longtemp;

doubleaverage=0.0;

doublesum=0.0;

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

__1__;

average=sum/10;

average=__2__;

temp=__3__;

average=(double)temp/100;

returnaverage;

}

intmain()

{

doubleaverage,a[10]={23.1,12.3,5.3,56.4,10.0,13.7,24.5,42,1.2,9.9};

inti;

printf("\nThearray:

\n");

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

printf("%6.1f",a[i]);

printf("\n\n");

average=fun(a);

printf("Theaverage=%f\n\n",average);

}

21.

/*请补充fun函数,fun函数的功能是:

分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)。

例如,当字符串为UdsaeyiEosu,结果为A:

1E:

2I:

1O:

1U:

2other:

4。

请勿改动程序中的其他任何内容,仅在所给程序中的下划线处填入正确内容并将下划线删除,使程序得出正确的结果。

注意:

部分源程序给出如下。

*/

#include

#include

#defineN100

voidfun(char*s,inta[])

{

char*r=s;

inti=0;

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

__1__;

while(*r)

{

switch(*r)

{

case'A':

case'a':

a[0]++;

break;

case'E':

case'e':

a[1]++;

break;

case'I':

case'i':

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1