当前位置: 代码迷 >> 综合 >> C语言学习第四周——学校题库打野
  详细解决方案

C语言学习第四周——学校题库打野

热度:75   发布时间:2024-03-08 00:10:49.0

1

有4名专家对4款赛车进行评论。

A说:2号赛车是最好的。

B说:4号赛车是最好的。

C说:3号赛车不是最好的。

D说:B说错了。

事实上只有一款赛车是最好的,且只有一名专家说对了,其他3人都说错了,编程输出最好的赛车编号。

#include <stdio.h>
int main()
{int car;int a[4];int i;for(car=1;car<5;car++){ a[0]=(car==2);a[1]=(car==4);a[2]=(car!=3);a[3]=(car!=4);if((a[0]+a[1]+a[2]+a[3])==1){printf("最好的赛车编号为%d",car);}}
}

2

从键盘输入1个整数x,打印所有小于x的斐波那契数列(数列的第一项、第二项为1,数列从第三项开始,每一项都等于前两项的和)。

#include <stdio.h>
int main()
{int a,b,c,x;scanf("%d",&x);a=1;b=1;printf("%d %d ",a,b);for(;a+b<x;){c=a+b;printf("%d ",c);a=b;b=c;}
}

3

 

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

#include <stdio.h>
int main()
{int a,b,c;for(a=1;a<=4;++a){for(b=1;b<=4;b++){for(c=1;c<=4;c++){if(a!=b&&b!=c&&a!=c){printf("%d,%d,%d\n",a,b,c);}}}}
}

4

求1!+2!+…+n!,其中n(1<=n<=10)值由用户输入

#include <stdio.h>
int main()
{int a,n,t=1,s;scanf("%d",&n);for(a=1;a<=n;a++){t*=a;s+=t;}printf("%d",s);
}

5

编写程序利用公式:ex=1+x+x2/2!+x3/3!+......+xn/n!求的近似值。

找出并改正以下源程序中错误,得出正确的运行结果。

源程序如下:

#include <stdio.h>

#include <math.h>

void main()

{

    int i;

    float a,e,x;

    printf("请输入x的值:");

    scanf("%d",&x);

    e=0;

    i=0;

    a=1;

    while(a>1e-6);

    {

        a=a*x/i;

        e=e+a;

        i++;

    }

    printf("exp(x)=%f\n",exp(x));

    printf("循环次数为:%d次,e的x次方为:%f\n",i,e);

}

程序正确的运行结果为:

1.0

exp(x)=2.718282

循环次数为:11次,e的x次方为:2.718282

Press any key to continue

#include <stdio.h>#include <math.h>void main(){int i;float a,e,x;x=1.0;scanf("%f",&x);e=1;i=1;a=1;while(a>1e-6){a=a*x/i;e=e+a;i++;}printf("exp(x)=%f\n",exp(x));printf("循环次数为:%d次,e的x次方为:%f\n",i,e);}

 

  相关解决方案