#include <iostream>
#include <string>
using namespace std
size_t count = 0
size_t remain = 25
void do_beans( string &turn_flag, string &Afetch, size_t &preAfetch, size_t &nAfetch )
{
cout<<"轮到"<<turn_flag<<"取豆子"<<endl
cin>>Afetch
cin.ignore()
if(Afetch == "u")
{
count++
cout<<turn_flag<<"反悔 退出 "<<preAfetch<<" 颗豆子"<<endl
remain+=preAfetch
cout<<"还剩 "<<remain<<" 颗豆子"<<endl
}
else
{
nAfetch = atoi(Afetch.c_str())
if (nAfetch>3)
{
cout<<"只能最多取三颗豆子"<<endl
return
}
count++
cout<<turn_flag<<"此次取走 "<<nAfetch<<" 颗豆子"<<endl
preAfetch =nAfetch
remain-=nAfetch
cout<<"还剩 "<<remain<<" 颗豆子"<<endl
}
return
}
//看谁取到最后一颗豆子
int main()
{
size_t nAfetch,nBfetch
string Afetch,Bfetch
size_t preAfetch = 0,preBfetch = 0
string turn_flag
while(remain >1) //当剩余豆子数目大于1 胜负未分
{
if (!(count%2))
{
turn_flag = "A"
do_beans(turn_flag, Afetch, preAfetch, nAfetch)
}
else
{
turn_flag = "B"
do_beans(turn_flag, Bfetch, preBfetch, nBfetch)
}
}
cout<<"本次获胜者是: "<<((turn_flag == "A") ? "B" : "A") <<endl
return 0
}
简单图形处理系统
首先要有相应的数据机构
struct
{int x
int y
}point
struct
{
int radius
point center
}cycle
struct
{
int a
int b
int c
}line
以下就是堆砌代码 和数学问题 希望对你有帮助
/*编写一程序P211.C实现以下功能根据输入的n在屏幕上显示对应的以#组成的菱形图案。编程可用素材:printf("Please input n: ")...。
程序的运行效果应类似地如图1和图2所示,图1中的1和图2中的5是从键盘输入的内容。
*/
#include <stdio.h>
int main(void)
{
int n, i=1, j, m,k=1
printf("Please input n: ")
scanf("%d", &n)
do
{
for (j=ij <= nj++)
{
printf(" ")
}
for (m=1m <= 2*i-1m++)
{
printf("#")
}
printf("\n")
i++
}while (i <= n+1)
do
{
for (j=0j<kj++)
{
printf(" ")
}
for (m=1m <= 2*n-1m++)
{
printf("#")
}
printf("\n")
n--k++
}while (n)
return 0
}
//德昂当同学的说法确实是你的错误所在,这就是你成功的一半了。
/*其实笔者建议你将上面的那个图抽象成为一个线性规划的问题:建立一个坐标系,之后提取出来更方便的数学关系式,例如上面的方程则是:| i-j |<=n和| i+j |<n之后将i,j分别当做两个行列变量进行解决。请作者予以尝试!*/
c语言是一种编程语言的标准,而ToubC,Visual
C,
都是各商家的c语言编译工具(也包含代码编辑),而c++是c语言的扩展语言标准,C#也是另一种语言标准。
如果要学C语言,可以选择Toub
C2.0
是使用的最广的,但C
,C++,C#
是不同的三种语言,(相当与一个大家族分成的三个小家族)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)