全国计算机二级C语言程序改错题100全中必过.docx
- 文档编号:3121458
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:107
- 大小:84.12KB
全国计算机二级C语言程序改错题100全中必过.docx
《全国计算机二级C语言程序改错题100全中必过.docx》由会员分享,可在线阅读,更多相关《全国计算机二级C语言程序改错题100全中必过.docx(107页珍藏版)》请在冰豆网上搜索。
全国计算机二级C语言程序改错题100全中必过
题目一前N项和问题
.下列给定程序中函数fun的功能是:
求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
请改正程序中的错误,使其得出正确的结果。
#include
/************found************/
voidfun(intn)
{inta,b,c,k;doubles;
s=0.0;a=2;b=1;
for(k=1;k<=n;k++){
/************found************/
s=s+(Double)a/b;
c=a;a=a+b;b=c;
}
returns;
}
main()
{intn=5;
printf("\nThevalueoffunctionis:
%lf\n",fun(n));
(1)doublefun(intn)
(2)s=s+(double)a/b;
题目二SS字符串问题
2.下列给定程序中函数fun的功能是:
统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
#include
intfun(char*str,char*substr)
{inti,j,k,num=0;
/************found************/
for(i=0,str[i],i++)
for(j=i,k=0;substr[k]==str[j];k++,j++)
/************found************/
If(substr[k+1]=='\0')
{num++;
break;
}
returnnum;
}
main()
{
charstr[80],substr[80];
printf("Inputastring:
");
gets(str);
printf("Inputasubstring:
");
gets(substr);
printf("%d\n",fun(str,substr));
(1)for(i=0;str[i];i++)
(2)if(substr[k+1]=='\0')
题目三变量互换问题1
2.下列给定程序中函数fun的功能是:
实现两个变量值的交换,规定不允许增加语句和表达式。
例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。
请改正程序中的错误,使它得出正确的结果。
#include
intfun(int*x,inty)
{
intt;
/**************found**************/
t=x;x=y;
/**************found**************/
return(y);
}
main()
{
inta=3,b=8;
printf("%d%d\n",a,b);
b=fun(&a,b);
printf("%d%d\n",a,b);
(1)t=*x;*x=y;
(2)return(t);或returnt;
题目三变量互换问题2
1.下列给定程序中,函数fun的功能是:
实现两个整数的交换。
例如,给a和b分别输入60和65,输出为:
a=65b=60。
#include
#include
#include
/*************found**************/
voidfun(inta,b)
{intt;
/*************found**************/
t=b;b=a;a=t;
}
voidmain()
{inta,b;
system("CLS");
printf("Entera,b:
");scanf("%d%d",&a,&b);
fun(&a,&b);
printf("a=%db=%d\n",a,b);
}
(1)voidfun(int*a,int*b)
(2)t=*b;*b=*a;*a=t;
题目三变量互换问题3
2.下列给定程序中,函数fun的功能是:
将主函数中两个变量的值进行交换。
例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。
#include
/*************found**************/
voidfun(intx,inty)
{intt;
/*************found**************/
t=x;x=y;y=t;
}
voidmain()
{inta,b;
a=8;
b=3;
fun(&a,&b);
printf("%d%d\n",a,b);
}
(1)voidfun(int*x,int*y)
(2)t=*x;*x=*y;*y=t;
题目四最大公约数问题
2.下列给定程序中函数fun的功能是:
求两个非零正整数的最大公约数,并作为函数值返回。
例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
#include
intfun(inta,intb)
{intr,t;
if(a
/************found************/
t=a;b=a;a=t;
}
r=a%b;
while(r!
=0)
{a=b;b=r;r=a%b;}
/************found************/
return(a);
}
main()
{intnum1,num2,a;
printf("Inputnum1num2:
");scanf("%d%d",&num1,&num2);
printf("num1=%dnum2=%d\n\n",num1,num2);
a=fun(num1,num2);
printf("Themaximuncommondivisoris%d\n\n",a);
(1)t=a;a=b;b=t;
(2)return(b);或returnb;
题目五长数变短数1
2.下列给定程序中函数fun的功能是:
将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数为7531。
#include
voidfun(longs,long*t)
{intd;
longsl=1;
/************found************/
t=0;
while(s>0)
{d=s%10;
/************found************/
if(d%2==0)
{*t=d*sl+*t;
sl*=10;
}
s/=10;
}
}
main()
{longs,t;
printf("\nPleaseenters:
");scanf("%ld",&s);
fun(s,&t);
printf("Theresultis:
%ld\n",t);
(1)*t=0;
(2)if(d%2!
=0)或if(d%2==1)
题目五长数变短数2
2.下列给定程序中函数fun的功能是:
将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数:
8642。
#include
voidfun(longs,long*t)
{intd;
longsl=1;
*t=0;
while(s>0)
{d=s%10;
/************found************/
if(d%2=0)
{*t=d*sl+*t;
sl*=10;
}
/************found************/
s\=10;
}
}
main()
{longs,t;
printf("\nPleaseenters:
");scanf("%ld",&s);
fun(s,&t);
printf("Theresultis:
%ld\n",t);
}
(1)if(d%2==0)
(2)s/=10;
题目五长数变短数3
2.下列下列给定程序中,函数fun的功能是:
从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为7531。
#include
/************found************/
voidfun(longs,longt)
{longsl=10;
*t=s%10;
while(s>0)
{s=s/100;
*t=s%10*sl+*t;
/************found************/
sl=sl*100;
}
}
main()
{longs,t;
printf("\nPleaseenters:
");scanf("%ld",&s);
fun(s,&t);
printf("Theresultis:
%ld\n",t);
}
(1)voidfun(longs,long*t)
(2)sl=sl*10;
题目五长数变短数4
2.下列给定程序中函数fun的功能是:
从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为642。
#include
/************found************/
voidfun(longs,longt)
{longsl=10;
s/=10;
*t=s%10;
/************found************/
while(s<0)
{s=s/100;
*t=s%10*sl+*t;
sl=sl*10;
}
}
main()
{longs,t;
printf("\nPleaseenters:
");scanf("%ld",&s);
fun(s,&t);
printf("Theresultis:
%ld\n",t);
}
(1)voidfun(longs,long*t)
(2)w
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国计算机 二级 语言 程序 改错 100 全中必