c语言.docx

上传人:b****4 文档编号:3774903 上传时间:2023-05-06 格式:DOCX 页数:25 大小:26.14KB
下载 相关 举报
c语言.docx_第1页
第1页 / 共25页
c语言.docx_第2页
第2页 / 共25页
c语言.docx_第3页
第3页 / 共25页
c语言.docx_第4页
第4页 / 共25页
c语言.docx_第5页
第5页 / 共25页
c语言.docx_第6页
第6页 / 共25页
c语言.docx_第7页
第7页 / 共25页
c语言.docx_第8页
第8页 / 共25页
c语言.docx_第9页
第9页 / 共25页
c语言.docx_第10页
第10页 / 共25页
c语言.docx_第11页
第11页 / 共25页
c语言.docx_第12页
第12页 / 共25页
c语言.docx_第13页
第13页 / 共25页
c语言.docx_第14页
第14页 / 共25页
c语言.docx_第15页
第15页 / 共25页
c语言.docx_第16页
第16页 / 共25页
c语言.docx_第17页
第17页 / 共25页
c语言.docx_第18页
第18页 / 共25页
c语言.docx_第19页
第19页 / 共25页
c语言.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言.docx

《c语言.docx》由会员分享,可在线阅读,更多相关《c语言.docx(25页珍藏版)》请在冰点文库上搜索。

c语言.docx

c语言

1.程序修改题

给定程序中,函数fun的功能是:

求整数x的y次方的低3位值。

例如,整数5的6次方为15625,此值的低3位值为625。

答案:

(1)将for(i=1;i

for(i=1;i<=y;i++)或for(i=1;i

(2)将t=t/1000;改为:

t=t%1000;或t%=1000;

2.程序修改题

下列给定程序中,计算如下公式的值:

t=

函数fun的功能是:

根据整型形参m的值,计算上面公式。

答案:

(1)将for(k=2;k

for(k=2;k<=m;k++)或for(k=2;k

(2)将c-=1/(k*k);改为:

c-=1.0/(k*k);

3.程序修改题

下列给定程序中,函数fun的功能是:

将s所指字符串中最后一次出现的s1所指子串替换成s2所指子串,所形成的新串放在str所指的数据中。

在此处,要求s1和s2所指字符串的长度相同。

例如,当s所指字符串中的内容为abcdabfabc,s1所指子串中的内容为ab,s2所指子串中的内容为99时,则在str所指的数组中的内容为abcdabf99c。

答案:

(1)将voidfun(char*s,s1,s2,str)改为:

voidfun(char*s,char*s1,char*s2,char*str)

(2)将while(str)改为:

while(*str)

4.程序修改题

给定程序中,函数fun的功能是:

先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。

请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使其能得出正确的结果。

答案:

(1)填sum=0;

(2)将scanf("%d",a[i][j]);改为:

scanf("%d",&a[i][j]);

5.程序修改题

给定程序中,fun函数的功能是:

求出以下分数序列的前n项之和。

2/1、3/2、5/3、8/5、13/8、21/13、……和值通过函数值返回main函数。

例如,若n=5,则应输出:

8.391667。

答案:

(1)将fun(intn)改为:

doublefun(intn)

(2)将c=a;a+=b;b+=c;改为:

c=a;a+=b;b=c;

6.程序修改题

假定整数数列中的数不重复,并存放在数组中。

给定程序中,函数fun的功能是:

删除数列中值为x的元素变量,变量n存放的是数列中元素的个数。

答案:

(1)将if(P==n)return-1;改为:

if(p==n)return-1;

(2)将a[i+1]=a[i];改为:

a[i]=a[i+1];

7.程序修改题

给定程序中,函数fun的功能是:

在字符串的最前端加入n个*号形成新串,并且覆盖原串。

注意:

字符串的长度最长允许为79。

答案:

(1)将s=p;改为:

p=s;

(2)将while(*p);改为:

while(*p++);

8.程序修改题

给定程序中,函数fun的功能是:

计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。

其中x和y的值不等,z和y的值不等。

例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。

答案:

(1)将FU(m,n)(m/n)改为:

FU(m,n)((m)/(n))

(2)将Return(Value);改为:

return(value);

9.程序修改题

给定程序中,函数fun的功能是:

给一维数组a输入任意4个整数,并按下例的规律输出。

例如,输入1、2、3、4程序运行后将输出以下方阵:

4123

3412

2341

1234

答案:

(1)将voidfun(inta)改为:

voidfun(inta[])

(2)将aa[j]=a[j-1];改为:

a[j]=a[j-1];

10.程序修改题

给定程序中,函数fun的功能是:

统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。

例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。

答案:

(1)将if(t=0)改为:

if(t==0)

(2)将zero=count改为:

*zero=count

11.程序修改题

给定程序中,函数fun的功能是:

先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串的后面。

例如,当s所指的字符串为:

“ABCDE”时,则t所指的字符串应为:

“EDCBAABCDE”。

答案:

(1)将inti;改为:

inti,sl;

(2)将t[i]=s[sl-i];改为:

t[i]=s[sl-i-1];12.程序修改题

给定程序中函数fun的功能是:

判断一个整数是否是素数,若是返回1,否则返回0。

在main()函数中,若fun返回1输出YES,若fun返回0输出NO!

答案:

(1)将k++改为:

k++;

(2)将if(m=k)改为:

if(m==k)

13.程序修改题

给定程序中函数fun的功能是:

统计字符串中各元音字母(即:

A、E、I、O、U)的个数。

注意,字母不分大、小写。

例如:

若输入:

THIsisaboot,则输出应该是:

1、0、2、2、0。

答案:

(1)将num[i]=0;改为:

num[k]=0;

(2)将switch(s)改为:

switch(*s)

14.程序修改题

给定程序中,函数fun的功能是:

读入一个字符串(长度<20),将该字符串中的所有字符按ASCII码升序排序后输出。

例如,若输入:

edcba,则应输出:

abcde。

答案:

(1)将for(i=strlen(t);i;i--)改为:

for(i=strlen(t)-1;i;i--)

(2)将if(t[j]

if(t[j]>t[j+1])

15.程序修改题

给定程序中,函数fun的功能是:

由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。

例如,n=8时,输入:

193.199、195.673、195.757、196.051、196.092、196.596、196.579、196.763,所得平均值为:

195.838745,在平均值以上的实数个数应为:

5

答案:

(1)将intj,c=0,floatxa=0.0;改为:

intj,c=0;floatxa=0.0;

(2)将if(x[j]=>xa)改为:

if(x[j]>=xa)

16.程序修改题

给定程序中,函数fun的功能是:

在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。

例如,调用fun函数之前给字符串输入:

ABCDeFGH,调用后字符串中的内容为:

eABCDFGH。

答案:

(1)将q=p+i改为:

q=p+i;

(2)将While(q>p)改为:

while(q

17.程序修改题

给定程序中,函数fun的功能是:

将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A、z转换为a),其他字符不变。

答案:

(1)将while(*s!

='@')改为:

while(*s!

='\0')

(2)将(*s)++;改为:

s++

18.程序修改题

下列给定程序中,函数fun()的功能是:

通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。

例如变量a中的值原为8,b中的值原为3;程序运行后a中的值为3,b中的值为8。

答案:

(1)将t=x;x=y;改为:

t=*x;*x=y;

(2)将return(y);改为:

return(t);

19.程序修改题

N个有序整数数列已放在一维数组中,给定下列程序中,函数fun()的功能是:

利用折半查找算法查找整数m在数组中的位置。

若找到,则返回其下标值;反之,则返回-1。

折半查找的基本算法是:

每次查找前先确定数组中待查的范围:

low和high(low

如果m的值大于中间位置元素中的值,则下一次的查找范围放在中间位置之后的元素中;反之,下次查找范围落在中间位置之前的元素中。

直到low>high,查找结束。

答案:

(1)将voidfun(inta[],intm)改为:

intfun(inta[],intm)

(2)将elseif(m>=a[mid])改为:

elseif(m>a[mid])

20.程序修改题

下列给定程序中,函数fun()的功能是:

根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示的数据,由main()函数输出。

例如,若输入2,则输出

12

24

输入4,则输出

1234

2468

36912

481216

答案:

(1)将fun(int**a,intm)改为:

voidfun(int(*a)[M],intm)

(2)将a[j][k]=k*j;改为:

a[j][k]=(k+1)*(j+1);

21.程序修改题

已知一个数列从0项开始的前3项:

0、0、1,以后的各项都是其相邻的前3项之和。

下列给定的程序中,函数fun()的功能是:

计算并输出该数列前n项的平方根之和sum。

N的值通过形参传入。

例如,当n=10时,程序的输出结果应为23.197745。

答案:

(1)将fun(intn)改为:

doublefun(intn)

(2)将returnsum改为:

returnsum;

22.程序修改题

下列给定程序中,函数fun()的功能是:

从N个字符串中找出最长的那个串,并将其地址作为函数值返回。

各字符串在主函数中输入,并放入一个字符串数组中。

答案:

(1)将fun(char(*sq)[N])改为:

char*fun(char(*sq)[M])

(2)将returnsq;改为:

returnsp;

23.程序修改题

下列给定程序中,函数fun()的功能是:

用递归算法计算斐波拉契级数列中第n项的值。

从第一项起,斐波拉契级数序列为1、1、2、3、5、8、13、21、……例如,若给n输入7,该项的斐波拉契级数值为13。

答案:

(1)将switch(g);改为:

switch(g)

(2)将case1;case2:

return1;改为:

case1:

case2:

return1;

24.程序修改题

下列给定程序中,函数fun()的功能是:

用冒泡法对6个字符串按由小到大的顺序进行排序。

请改正程序中的错误,使其能得出正确的结果。

答案:

(1)将fun(char*pstr[6])改为:

voidfun(char*pstr[6])

(2)将if(strcmp(*(pstr+i),pstr+j)>0)改为:

if(strcmp(*(pstr+i),*(pstr+j))>0)

(3)将*(pstr+i)=pstr+j;改为:

*(pstr+i)=*(pstr+j);

25.程序修改题

下列给定程序中,函数fun()的功能是:

首先把b所指字符串中的字符按逆序存放,然后将a所指字符串中的字符和b所指字符串中的字符,按排列的顺序交叉合并到c所指数组中,过长的剩余字符接在c所指数组的尾部。

例如,当a所指字符串中的内容为abcdefg,b所指字符串中的内容为1234时,c所指数组中的内容应该为a4b3c2d1efg;而当a所指字符串中的内容为1234,b所指字符串中的内容为abcdefg时,c所指数组中的内容应该为1g2f3e4dcba。

答案:

(1)将while(i>j)改为:

while(i

(2)将*c=o;改为:

*c='\0';

26.程序修改题

在给定程序中,函数fun()的功能是:

利用插入排序法对字符串中的字符按从大到小的顺序进行排序。

插入法的基本方法是:

先对字符串中的头两个元素进行排序,然后把第3个字符插入到前两个字符中,插入后前3个字符依然有序;再把第4个字符插入到前3个字符中,待排序的字符串已在主函数中赋予。

答案:

(1)将while((j>=0)||(ch>aa[j]))改为:

while((j>=0)&&(ch>aa[j]))

(2)将aa[j]=ch;改为:

aa[j+1]=ch;

27.程序修改题

给定程序中,函数fun()的功能是:

找出一个大于给定整数m且紧随m的素数,并作为函数值返回。

答案:

(1)将if(i%k!

=0)改为:

if(i%k==0)

(2)将if(k

if(k>=i)

28.程序修改题

下列给定程序中,函数fun()的功能是:

根据整型参数m,计算如下公式的值:

y=1/(100×100)+1/(200×200)+1/(300×300)+…

+1/(m×m)

例如,若m=2000,则应输出0.000160。

答案:

(1)将fun(intm)改为:

doublefun(intm)

(2)将for(i=100,i<=m,i+=100)改为:

for(i=100;i<=m;i+=100)

29.程序修改题

下列给定程序中,函数fun()的功能是:

将字符串p中所有字符复制到字符串b中,要求每复制3个字符之后插入一个空格。

例如,在调用fun()函数之前给字符串a输入ABCDEFGHIJK,调用函数之后,字符串b中的内容则为ABCDEFGHIJK。

答案:

(1)将i=1;改为:

i=0;

(2)将while(i<3||*p)改为:

while(i<3&&*p)

(3)将b[k]='';改为:

b[k++]='';

30.程序修改题

在给定程序中,函数fun()的功能是:

输入的两个数中较小的数。

例如:

输入5、10,结果为minis5。

答案:

将intfun(intx,y)改为:

intfun(intx,inty)

31.程序修改题

下列给定程序中,函数fun()的功能是:

应用递归算法求某数a的平方根。

求平方根的迭代公式如下:

例如,2的平方根为1.414214。

答案:

(1)将fun(doublea,doublex0)改为:

doublefun(doublea,doublex0)

(2)将if(fabs(x1-x0)>0.00001)改为:

if(fabs(x1-x0)>=0.00001)

32.程序修改题

下列给定程序中,函数fun()的功能是:

根据输入的3个边长(整型值),判断能否构成三角形?

若能构成等边三角形,则返回3;若是等腰三角形,则返回2;若能构成三角形则返回1;若不能,则返回0。

答案:

(1)将return1;改为:

return3;

(2)将elsereturn3;改为:

elsereturn1;

33.程序修改题

在给定程序中,函数fun()的功能是:

求k!

(k<12),所有阶乘的值作为函数值返回。

例如:

若k=10,则应输出3628800。

请改正程序中的错误,使其能得出正确的结果。

答案:

(1)将ifk>0改为:

if(k>0)

(2)将elseif(k=0)改为:

elseif(k==0)

34.程序修改题

假定整数不重复数列{97,2,7,1,2,4,-1}中的数存放在数组s中。

下列给定程序中,函数fun的功能是:

删除数列中值为a的元素,同时将其他元素前移。

Sum中存放的是数列中元素的个数。

答案:

将x[j+1]=x[j]改为:

x[j]=x[j+1];

35.程序修改题

在给定程序中,函数fun()的功能是:

利用插入排序法对字符串中的字符按从小到大的顺序进行排序。

插入法的基本方法是:

先对字符串中的头两个元素进行排序,然后把第3个字符插入到前两个字符中,插入后前3个字符依然有序;再把第4个字符插入到前3个字符中,待排序的字符串已在主函数中赋予。

答案:

将c=aa[i];改为:

ch=aa[i];

36.程序修改题

下列给定程序中,函数fun()的功能是:

输出M行N列整数方阵,然后求两条对角线上的各元素之和,返回此和数。

请改正程序中的错误,使其能得出正确的结果。

答案:

(1)将fun(doubleb,doublex0)改为:

doublefun(doubleb,doublex0)

(2)将if(abs(x1-x0)>=1e-6)改为:

if(fabs(x1-x0)>=1e-6)

37.程序修改题

在给定程序中,函数fun()的功能是:

将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。

高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数为8642。

答案:

(1)将intd;改为:

longd;

(2)将if(d%2=0)改为:

if(d%2==0)

(3)将s\=10;改为:

s/=10;

38.程序修改题

给定程序中,函数fun()的功能是:

删除字符串s中所有空白字符(包括Tab字符、回车符及换行符)。

输入字符串时用'#'结束输入。

答案:

将c[t]="\0";改为:

c[t]='\0';

39.程序修改题

在给定程序中,函数fun的功能是找出100~n(不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,其个数作为函数值返回。

答案:

(1)将k=n;改为:

k=i;

(2)将s[j]=i;改为:

s[j++]=i;

40.程序修改题

下列给定程序中,函数fun()的功能是根据整型形参n,计算如下公式的值:

A1=1,A2=1/(1+A1),A3=1/(1+A2),…,

An=1/(1+A(n-1))

例如,若n=10,则应输出0.617977。

答案:

(1)将intfun(intn)改为:

floatfun(intn)

(2)将for(i=2;i

for(i=2;i<=n;i++)

41.程序修改题

下列给定程序中,函数fun()的功能是:

计算整数n的阶乘。

答案:

(1)将result*=--n;改为:

result*=n--;

(2)将return;改为:

returnresult;

42.程序修改题

给定程序中,函数fun()的功能是:

使数组中的元素的值增加10倍。

答案:

将printf("%3d",m[j]*10);改为:

printf("%3d",m[j]=m[j]*10);

43.程序修改题

在给定程序中,函数fun()的功能是:

从3个红球、5个白球、6个黑球中任意取出8个作为一组进行输出。

在每组中,可以没有黑球,但必须要有红球和白球。

组合数作为函数值返回。

正确的组合数应该是15。

程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。

答案:

(1)将for(i=0;i<=3;i++)改为:

for(i=1;i<=3;i++)

(2)将if(k>=1&&k<=6)改为:

if((k>=1&&k<=6)&&(i!

=0)&&(j!

=0)||(k==0))

44.程序修改题

下列给定程序中,函数fun的功能是:

从整数1到50之间,选出能被3整除且有一位上的数是5的数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。

规定,函数中a1放个位数,a2放十位数。

答案:

(1)将fun(int*b);改为:

intfun(int*b)

(2)将for(j=10;j<=50;j++)改为:

for(j=1;j<=50;j++)

(3)将returnj;改为:

returni;

45.程序修改题

在给定程序中,函数fun()的功能是,用下面的式子求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:

π/4≈1-1/3+1/5-1/7+…

例如,程序运行后,输入0.0001,则程序输出3.1414。

答案:

(1)将while(t>=num)改为:

while(fabs(t)>=num)

(2)将t=s%n;改为:

t=s/n;

46.程序修改题

给定程序中,函数fun()的功能是:

求S的值。

S=(22/(1*3))*(42/(3*5))*(62/(5*7))*…*(2k)2/

((2k-1)*(2k+1))

例如,当k为10时,函数的值应为1.533852。

答案:

(1)将fun(intk)改为:

doublefun(intk)

(2)将returns改为:

returns;

47.程序修改题

下列给定程序中函数fun的功能是:

传入一个整数n,计算如下公式的值:

例如,若输入5,则应输出-0.283333。

答案:

(1)将s=1.0-1/i;改为:

s=s-1.0/i;

或:

s-=1.0/i;或:

s-=(double)1/i

(2)returns;

48.程序修改题

在给定程序中建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。

函数fun()的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。

答案:

(1)将fun(NODE*h)改为:

intfun(NODE*h)

(2)将p=h->next;改为:

p=p->next

49.程序修改题

下列给定程序中,函数fun()的作用是:

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

例如,若输入“edS,dAd”,则输出“EDS,DAD”。

答案:

(1)将charfun(chartt[])改为:

char*fun(chartt[])

(2)将if((tt[i]>='A')&&(tt[i]<='Z'))改为:

if((tt[i]>='a')&&(tt[i]<='z'))

50.程序修改题

下列给定程序中,函数fun()的功能是,根据以下公式求π的值,并作为函数值返回。

π/2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9?

?

?

?

?

例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。

答案:

(1)将t=1;改为:

t=1.0;

(2)将while(t>eps)改为:

while(t>=eps)

(3)将return(s);改为:

return(2*s);或return(s*2);

51.程序修改题

在给定程序中,函数fun()的功能是:

求出两个数的最大公约数,并作为函数值返回。

例如,若给num1和num2输入49和21,则输出的最大公约数为7;若给num1和num2分别输入27和81,则输出最大公约数为27。

答案:

(1)将{t=a;b=a;a=t;}改为:

{t=a;a=b;b=t;}

(2)将return(a);改为:

return(b);

52.程序修改题

下列给定程序中,函数fun的功能是:

计算n的5次方的值(规定2

答案:

(1)将b=0;改为:

b=1;

(2)将c=1;改为:

c=0;(3)将c=c/10;改为:

b=b/10;

53.程序修改题

下列给定程序中函数fun()的功能是:

从n个学生的成

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2