100
本关任务:给定程序中函数fun的功能是:根据输入的三条边长(整型),判断能否构成三角形,是构成等边三角形,还是等腰三角形。若能构成等边三角形,函数返回3;若能构成等腰三角形,函数返回2;若能构成一般三角形,函数返回1;若不能构成三角形函,数返回0。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。 提示:错误通常在/******found******/
注释行的下一行。
平台会对你编写的代码进行测试:
测试输入: 1 2 3
预期输出: 0
测试输入: 4 5 6
预期输出: 1
测试输入: 6 6 6
预期输出: 3
开始你的任务吧,祝你成功!
#include
/********found********/
int fun(int a, int b, int c)
{ if (a+b>c && b+c>a && a+c>b)
{
if (a==b && b==c)
return 3;
else if (a==b || b==c || a==c)
return 2;
else
return 1;
}
else
return 0;
}
void main()
{ int a,b,c,shape;
scanf("%d%d%d",&a,&b,&c);
shape = fun(a,b,c);
printf("%d",shape);
}
100
本关任务:给定程序中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和。k的值由主函数传入。
为了完成本关任务,你需要掌握:1.算术运算符和逻辑运算符;2.累加求和。
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。 提示:错误通常在/******found******/
注释行的下一行。
平台会对你编写的代码进行测试:
测试输入:500
预期输出: 4622
开始你的任务吧,祝你成功!
#include
int fun(int k)
{
int m = 0, mc = 0;
while((k>=2) && (mc<10))
{
/********found********/
if((k%13==0) || (k%17==0))
{ m = m+k;
mc++;
}
k--;
}
return m;
}
/********found********/
int main()
{
int a;
scanf("%d",&a);
printf("%d", fun(a));
}
100
本关任务:函数fun的功能是:求整数x的y次方的低3位值。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。 提示:错误通常在/******found******/
注释行的下一行。
平台会对你编写的代码进行测试:
测试输入: 15625
预期输出: 625
开始你的任务吧,祝你成功!
#include
long fun(int x,int y,long *p)
{ int i;
long t = 1;
/********found********/
for (i=1; i<=y; i++)
t = t*x;
*p = t;
/********found********/
t = t%1000;
return t;
}
void main()
{ long t,r;
int x,y;
scanf("%d%d",&x,&y);
t = fun(x,y,&r);
printf("%ld\n",t);
}
300
本关任务:给定程序中函数fun的功能是:从3个红球、5个白球、6个黑球中任意取出8个作为一组,并输出组合数。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
预期输出: 15
开始你的任务吧,祝你成功!
#include
int fun()
{ int i,j,k,sum = 0;
/********found********/
for(i=1;i<=3;i++)
for(j=1;j<=5;j++)
{ k=8-i-j;
/********found********/
if(k>=0&&k<=6)
{
sum=sum+1;
}
}
return sum;
}
void main()
{ int sum;
sum=fun();
printf("%4d",sum);
}
100
本关任务:给定程序中函数fun的功能是:计算函数f(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,其中x和y的值不等,z和y的值不等。
为了完成本关任务,你需要掌握:算数运算符。
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 9 11 15
预期输出: -3.50
开始你的任务吧,祝你成功!
#include
#include
/********found********/
#define FU(m,n) (m/n)
float fun(float a,float b,float c)
{ float value;
value=FU((a+b),(a-b))+FU((c+b),(c-b));
/********found********/
return(value);
}
void main()
{
float x,y,z,sum;
scanf("%f%f%f",&x,&y,&z);
if (x==y||y==z)
{ printf("Data error!\n");
exit(0);
}
sum=fun(x,y,z);
printf("%5.2f",sum);
}
300
给定程序中函数fun的功能是:求三个数的最小公倍数。
为了完成本关任务,你需要掌握:
平台会对你编写的代码进行测试:
测试输入: 15 11 2
预期输出: 330
开始你的任务吧,祝你成功!
#include
/********found********/
int fun(int x,int y,int z){
int j,t,n,m;
j=1;
t=j%x;
m=j%y;
n=j%z;
while(t!=0||m!=0||n!=0){
j=j+1;
t=j%x;
m=j%y;
n=j%z;
}
/********found********/
return j;
}
void main(){
int x1,x2,x3,j;
scanf("%d%d%d",&x1,&x2,&x3);
j=fun(x1,x2,x3);
printf("%d",j);
}
300
给定程序中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 49
,21
; 预期输出: 7
测试输入: 27
,81
预期输出: 27
-- 开始你的任务吧,祝你成功!
#include
int fun(int a,int b){
int r,t;
if(a
300
给定程序中fun和funx函数的功能是:用二分法求方程 2x3−4x2+3x−6=0 的一个根,并要求绝对误差不超过0.001。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: -100 90
预期输出: 2.000
开始你的任务吧,祝你成功!
#include
#include
double funx(double x){
return (2*x*x*x-4*x*x+3*x-6);
}
double fun(double m,double n){
/********found********/
double r;
r=(m+n)/2;
/********found********/
while(fabs(n-m)>0.001){
if(funx(r)*funx(n)<0)
m=r;
else
n=r;
r=(m+n)/2;
}
return r;
}
void main(){
double m,n,root;
scanf("%lf%lf",&m,&n);
root=fun(m,n);
printf("%6.3f",root);
}
300
给定程序中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 55
12
34
预期输出: 55.0,34.0,12.0
开始你的任务吧,祝你成功!
#include
void fun(float *p,float *q,float *s)
{
/********found********/
float k;
if (*p<*q)
{ k=*p;
*p=*q;
*q=k;
}
/********found********/
if(*p<*s)
{ k=*s;
*s=*p;
*p=k;
}
if(*q<*s)
{ k=*q;
*q=*s;
*s=k;
}
}
void main()
{ float a,b,c;
scanf("%f%f%f",&a,&b,&c);
fun(&a,&b,&c);
printf("%4.1f,%4.1f,%4.1f\n",a,b,c);
}
300
给定程序中函数fun的功能是:实现两个整数的交换。
为了完成本关任务,你需要掌握:变量值交换算法。
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 60 65
预期输出: 65,60
开始你的任务吧,祝你成功!
#include
/********found********/
void fun(int *a, int *b) {
int t;
/********found********/
t = *b;
*b = *a;
*a = t;
}
void main() {
int a, b;
scanf("%d%d", &a, &b);
fun(&a, &b);
printf("%d,%d\n", a, b);
}
300
给定程序中函数fun的功能是:交换主函数中两个变量的值
为了完成本关任务,你需要掌握:变量值交换算法。
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 8 3
预期输出: 3,8
开始你的任务吧,祝你成功!
#include
/********found********/
void fun(int *x,int *y){
int t;
/********found********/
t=*x;
*x=*y;
*y=t;
}
void main(){
int a,b;
scanf("%d%d",&a,&b);
fun(&a,&b);
printf("%d,%d\n",a,b);
}
300
给定程序中函数fun的功能是通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 8 3
预期输出: 3,8
开始你的任务吧,祝你成功!
#include
int fun(int *x,int y){
int t;
/********found********/
t=*x;
*x=y;
y=t;
/********found********/
return(y);
}
void main(){
int a,b;
scanf("%d%d",&a,&b);
b = fun(&a,b);
printf("%d,%d\n",a,b);
}
300
给定程序中函数fun的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在main()函数中,若fun返回1输出YES,若fun返回0输出NO!
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 17
预期输出: YES
开始你的任务吧,祝你成功!
#include
int fun(int m){
int k=2;
while(k<=m&&(m%k))
/********found********/
k++;
/********found********/
if(m==k)
return 1;
else
return 0;
}
void main(){
int n;
scanf("%d",&n);
if (fun(n))
printf("YES\n");
else
printf("NO!\n");
}
300
给定程序中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 56
预期输出: 56=19+37
开始你的任务吧,祝你成功!
#include
#include
void fun(int a,int *b,int *c){
int i,j,d,y;
for(i=3;i
300
给定程序中函数fun的功能是:找出一个大于给定整数m且紧随m的素数,并作为函数值返回。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 19
预期输出: 23
开始你的任务吧,祝你成功!
#include
int fun(int m)
{ int i,k;
for(i=m+1; ;i++)
{ for(k=2;k
300
给定程序中函数fun的功能是:计算并输出high以内最大的10个素数之和。high由主函数传给fun函数。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 100
预期输出: 732
开始你的任务吧,祝你成功!
#include
#include
int fun(int high){
int sum=0,n=0,j,yes;
/********found********/
while((high>=2)&&(n<10)){
yes=1;
for(j=2;j<=high/2;j++)
if(high%j==0){
yes=0;
/********found********/
break;
}
if(yes){
sum+=high;
n++;
}
high--;
}
return sum;
}
void main(){
int n;
scanf("%d",&n);
printf("%d\n",fun(n));
}
300
给定程序的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有素数的因子)。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 2310
预期输出:2, 3, 5, 7, 11,
开始你的任务吧,祝你成功!
#include
/********found********/
int IsPrime(int n)
{
int i,m;
m=1;
for(i=2;i
300
给定程序中函数fun的功能是:求k!(k<13),所求阶乘的值作为函数值返回。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 10
预期输出: 3628800
`
开始你的任务吧,祝你成功!
#include
long fun(int k){
/********found********/
if (k>0)
return (k*fun(k-1));
/********found********/
else if (k==0)
return 1L;
}
void main() {
int k;
scanf("%d",&k);
printf("%ld\n",fun(k));
}
300
给定程序中函数fun的功能是:计算整数n的阶乘。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 5
预期输出: 5!=120
开始你的任务吧,祝你成功!
#include
double fun(int n) {
double result = 1.0;
while (n>1 && n<170)
/********found********/
result *= n--;
/********found********/
return result;
}
void main() {
int n;
scanf("%d", &n);
printf("\n\n%d!=%1g\n",n,fun(n));
}
300
给定程序中函数fun的功能是:计算n!。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 5
预期输出: 120.000000
`
开始你的任务吧,祝你成功!
#include
double fun(int n){
double result=1.0;
/********found********/
if (n==0)
return 1.0;
while(n>1&&n<170)
/********found********/
result *= n--;
return result;
}
void main(){
int n;
scanf("%d",&n);
printf("%1f\n",fun(n));
}
300
给定程序中fun函数的功能是:用递归算法计算斐波那契数列中第n项的值。
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 7
预期输出: 13
开始你的任务吧,祝你成功!
#include
long fun(int g){
/********found********/
switch(g)
{
case 0:
return 0;
/********found********/
case 1:
case 2:
return 1;
}
return(fun(g-1)+fun(g-2));
}
void main(){
long fib;
int n;
scanf("%d",&n);
fib=fun(n);
printf("%d\n",fib);
}
300
给定程序中函数fun的功能是:按以下递归公式求函数值。 n=1时,fun(n)=10 n>1时,fun(n)=fun(n−1)+2
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 5
预期输出: 18
开始你的任务吧,祝你成功!
#include
/********found********/
int fun(int n){
int c;
/********found********/
if(n==1)
c=10;
else
c=fun(n-1)+2;
return(c);
}
void main(){
int n;
scanf("%d",&n);
printf("%d\n",fun(n));
}
300
给定程序中函数fun的功能是:应用递归算法求a的平方根。求平方根的迭代公式如下: x1=(1/2)∗(x0+(a/x0))
为了完成本关任务,你需要掌握:
请改正程序中的错误,使它能得出正确的结果,不要改动main函数,不得增行或删行,也不得更改程序的结构。
平台会对你编写的代码进行测试:
测试输入: 2
测试输出: 1.414214
开始你的任务吧,祝你成功!
#include
#include
/********found********/
double fun(double a,double x0){
double x1,y;
x1=(x0+a/x0)/2.0;
/********found********/
if (fabs(x1-x0)>0.00001)
y=fun(a, x1);
else
y=x1;
return y;
}
void main(){
double x;
scanf("%lf",&x);
printf("%lf\n",fun(x,1.0));
}