Ⅰ 用c语言计算fibonacci数列的前50项和
#include"stdio.h"
intmain(){
longintf1,f2,i;
f1=1;f2=1;//赋初始值
for(i=1;i<=20;i++){//循环20次,一次两个,结果为前50项
printf("%12d%12d",f1,f2);//输出两项
f1=f1+f2;f2=f2+f1;//计算下面两项
if(i%2==0)//一行四个好看用
printf(" ");
}
return0;
}
(1)c语言亚巧克力计算扩展阅读
C语言程序Fibonacci数列计算兔子:
#include<stdio.h>
#defineYEAR12
intmain()
{
intf[YEAR+1]={0,1,2};//1月和2月兔子对数分别初始化为1,2,不使用f[0]
intmonth;
for(month=3;month<=YEAR;month++)//从3月份开始计算每个月总兔数
{
f[month]=f[month-1]+f[month-2];
}
for(month=1;month<=YEAR;month++)//输出12个月的总兔对数
{
printf("%d ",f[month]);
}
printf(" sum=%d ",f[YEAR]);//输出年末的兔子总数
return0;
}
Ⅱ 怀巧克力问题,请大神用C语言写代码,并且完成下面的题目!
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<string>
#include<time.h>
usingnamespacestd;
structchocolate{
inttag;
charcho;
};
#definemax100
chars='p';
intt=7;
chocolatep[max][max];
voidcoutcho(chocolatep[max][max],intm,intn);
voidchoosecutcho(intm,intn,intx0,inty0);
voidmain(){
intm,n,x0,y0,h;
intz=2;
cout<<"**************************************"<<endl;
cout<<"**欢迎来到掰巧克力的游戏**"<<endl;
cout<<"**请输入游戏的模式(1为单人,2为双人)**"<<endl;
cout<<"**************************************"<<endl;
cin>>h;
if(h==1)
cout<<"你选择了单人游戏!"<<endl;
elseif(h==2)
cout<<"你选择了双人游戏!"<<endl;
cout<<"请输入巧克力的长度和宽度:"<<endl;
cin>>n>>m;
srand((unsigned)time(NULL));
x0=rand()%m+1;
y0=rand()%n+1;
for(inti=0;i<m;i++)
for(intj=0;j<n;j++)
p[i][j].cho='@';
p[x0-1][y0-1].cho='*';
cout<<"巧克力初始化如下:"<<endl;
coutcho(p,m,n);
while(m!=1||n!=1){
if(z%2==0&&h==1)
{
choosecutcho(m,n,x0,y0);
cout<<"电脑走步,经分析决定沿"<<s<<"="<<t<<"位置掰巧克力!"<<endl;
cout<<"电脑走完后的巧克力形状如下:"<<endl;
}
elseif(z%2==0&&h==2)
{
cout<<"玩家一走走步!"<<endl;
cin>>s>>t;
while((s=='x'&&(t<=0||t>=n))||(s=='y'&&(t<=0||t>=m)))
{
cout<<"输入错误!请重新输入:"<<endl;
cin>>s>>t;
}
cout<<"玩家一掰完后的巧克力如下:"<<endl;
}
elseif(z%2!=0&&h==1)
{
cout<<"轮到你走步,请输入你要掰的方向(x或y)和要掰的位置:"<<endl;
cin>>s>>t;
while((s=='x'&&(t<=0||t>=n))||(s=='y'&&(t<=0||t>=m)))
{
cout<<"输入错误!请重新输入:"<<endl;
cin>>s>>t;
}
cout<<"你掰玩后的巧克力如下:"<<endl;
}
elseif(z%2!=0&&h==2)
{
cout<<"玩家二走走步!"<<endl;
cin>>s>>t;
while((s=='x'&&(t<=0||t>=n))||(s=='y'&&(t<=0||t>=m)))
{
cout<<"输入错误!请重新输入:"<<endl;
cin>>s>>t;
}
cout<<"玩家二掰完后的巧克力如下:"<<endl;
} if(s=='x')
{
if(y0>t)
{
n=n-t;
p[x0-1][y0-t-1].cho=p[x0-1][y0-1].cho;
p[x0-1][y0-1].cho='@';
y0=y0-t;
}
elseif(y0<=t)
n=t;
}
elseif(s=='y')
{
if(x0>t)
{
m=m-t;
p[x0-t-1][y0-1].cho=p[x0-1][y0-1].cho;
p[x0-1][y0-1].cho='@';
x0=x0-t;
}
else
if(x0<=t)
m=t;
}
coutcho(p,m,n);
z++;
}
if(z%2!=0&&h==1)
cout<<"电脑获胜!"<<endl;
elseif(z%2==0&&h==1)
cout<<"你获胜了!"<<endl;
elseif(z%2!=0&&h==2)
cout<<"玩家一获胜了!"<<endl;
elseif(z%2==0&&h==2)
cout<<"玩家二获胜了!"<<endl;
}
voidcoutcho(chocolatep[max][max],intm,intn){
inti,k;
cout<<"x";
for(k=1;k<=n;k++)
cout<<k%10<<"";
cout<<endl;
cout<<"y"<<endl;
for(i=0;i<m;i++){
cout<<(i+1)%10<<"";
for(intj=0;j<n;j++)
cout<<p[i][j].cho<<"";
cout<<endl;
}
}
voidchoosecutcho(intm,intn,intx0,inty0){
intp1,p2,p3,p4,i,j,k,l,p,q1;
p1=y0-1;
p2=x0-1;
p3=n-y0;
p4=m-x0;
p=p1^p2^p3^p4;
if(p!=0)
{
for(i=0;i<p1;i++)
{
q1=i^p2^p3^p4;
if(q1==0)
{
t=p1-i;
s='x';
gotoT1;
}
}
for(j=0;j<p2;j++)
{
q1=p1^j^p3^p4;
if(q1==0)
{
t=p2-j;
s='y';
gotoT1;
}
}
for(k=0;k<p3;k++)
{
q1=p1^p2^k^p4;
if(q1==0)
{
t=y0+k;
s='x';
gotoT1;
}
}
for(l=0;l<p4;l++)
{
q1=p1^p2^p3^l;
if(q1==0)
{
t=x0+l;
s='y';
gotoT1;
}
}
}
else
{
if(p1!=0)
{
s='x';
t=1;
}
elseif(p2!=0){
s='y';
t=1;
}
elseif(p3!=0){
s='x';
t=n-1;
}
elseif(p4!=0){
s='y';
t=m-1;
}
}
T1:
;
}
Ⅲ C语言题目求救!!!在线等
巧克力问题
设一个队列数组存放盒子,box[100];头尾指针相连形成一个圆,再设置一个数组变量记录每个盒子中的巧克力数,向左边的盒子移巧克力则box减1,向右边移则加1,本盒巧克力数减1,所移到的临盒巧克力数加1,少者少出,多者多出,最后令所有盒中巧克力数不大于1. 用嵌套循环语句实现。盒子内巧克力就是基本输入流,移动次数用变量计数,基本输出留显示输出。
Ⅳ C语言程序题“切巧克力”。。。。。。。
有思路就会有代码,代码是人的思路转化为计算机指令的体现。
你写一下,哪里挡住了,贴出代码,帮你打通路!
Ⅳ c语言一块n*m的巧克力,春哥需要掰多少次才可以让巧克力变成一块一块的
m-1 + m(n-1)
Ⅵ C语言 “巧克力”
按照你的意思,一次只能拿一块完整的巧克力掰开,这样的话,最少次数应该是先沿着长边掰开,如,2×8,先掰开成两个1×8,剩下的在每个掰8-1次。所以程序可以在你的基础上修改下:
#include<stdio.h>
int main()
{
unsigned long a,b,alls;
scanf("%ld%ld",&a,&b);
// 注意,a b 合法性检查,如不能为0,这里不再详细编写
alls = a > b ? b-1 + (a-1) * b : a-1 + a *(b-1);
printf("%ld",alls);
return 0;
}
程序只是表达思想的工具,知道如何算才是最重要的。所以,不管程序多么大,都是表达思想的,思想重于方法。
Ⅶ 求关于购买到最多的巧克力的c语言程序代码,指点下,非常感谢
int m=7,n=20;
int c=0; //巧克力数
int q=0; //优惠券数
int getcho(int n)
{
if(n>0) //购买巧克力
{
c=n; //购买n块
q=n; //得到的优惠券数
n=0; //钱归零
}
if(q<m)
{
return c;
}
else
{
c+=q/m; //用优惠券兑换巧克力
q=q-q/m*m+q/m; //剩余优惠券数
getcho(0);
}
return c;
}
Ⅷ 一个c语言题
#include<stdio.h>
intmain()
{intn,i,t,rest=12;
doublex;
scanf("%lf",&x);
n=x*110+0.5;
printf("Chocolatenumber=%d
",n);
for(i=0;i<=n/24;i++)
{t=(n-24*i)%11;
if(t<rest)rest=t;
}
for(i=n/24;i>=0;i--)
if((n-i*24)%11==rest)
printf("Littlebox=%d,bigbox=%d,rest=%d
",(n-i*24)/11,i,rest);
return0;
}