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);}