我学C/C++好无聊,有没的程序可以做一下?

lkmouse 2003-01-25 02:15:05
好无聊!
...全文
38 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
arya 2003-01-30
  • 打赏
  • 举报
回复
To watchingwang:
让机器猜是给程序员出智力题。做程序员就不要满足于能做出给一般人出的智力题。
MPU 2003-01-28
  • 打赏
  • 举报
回复
我一年前写的文曲星中的猜数字(很烂):
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void four_srand();
void num_while();
int num[4];
int *q=&num[0];
int a=0,b=0,z,ctr,ctr1;
int kk[4],r,r_1,r_2,r_3,r_4,r_22,r_33,r_44,ret,ret1;
int s=1,ss=0;
int *p=&kk[0];
int num_i,num_j;
///////////////////////////////////////////////
char linjin;//////////////////////////////
/////////////////////////////////////////////////////////////////////////////
int i,t,t_1,t_2,t_3,t_4,t_22,t_33,t_44;
int num_1[9999];
main()
{
four_srand();

num_while();

return 0;
}
/////////////////////////////////////////////////////////////////////////////
void four_srand()
{
srand( (unsigned)time( NULL ) );


for(i=0;i<9999;i++)
{

num_1[i]=rand();
}
for(i=0;i<9999;i++)
{

if(num_1[i]<10000&&num_1[i]>999)
{
t=num_1[i];
}
else
{
i++;
continue;
}
t=num_1[i];
t_1=t/1000;
t_22=t/100;
t_2=t_22-(t_22/10)*10;
t_33=t/10;
t_3=t_33-(t_33/10)*10;
t_44=t/1;
t_4=t_44-(t_44/10)*10;

if(t_1==t_2||t_1==t_3||t_1==t_4||t_2==t_3||t_2==t_4||t_3==t_4)
{
i++;
continue;
}
else
{

*(q+0)=t_1;
*(q+1)=t_2;
*(q+2)=t_3;
*(q+3)=t_4;

}
}
}
///////////////////////////////////////////////
void num_while()
{
cout<<"Please into four number:"<<"\n";
while(s)
{
cout<<"\nThe number is:";
char Buf[5];
cin.getline(Buf,9);
r = atoi(Buf);
if(r<1023||r>9876)
{
cout<<"The number is erro!"<<"\n";
continue;
}

ss++;

r_1=r/1000;
r_22=r/100;
r_2=r_22-(r_22/10)*10;
r_33=r/10;
r_3=r_33-(r_33/10)*10;
r_44=r/1;
r_4=r_44-(r_44/10)*10;




*(p+0)=r_1;
*(p+1)=r_2;
*(p+2)=r_3;
*(p+3)=r_4;



////////////////////////////////////////////////////////////////
if(kk[0]==kk[3]||kk[1]==kk[3]||kk[2]==kk[3]||kk[0]==kk[1]||kk[0]==kk[2]||kk[1]==kk[2]||r==999999)
{
cout<<"The number is erro!"<<"\n";
ss--;
continue;
}
else
{

for(ctr=0;ctr<4;ctr++)
{
if(*(p+ctr)==*(q+ctr))
{
a++;
}
else
{
for(ctr1=0;ctr1<4;ctr1++)
{
if(*(p+ctr)==*(q+ctr1))
{
b++;
}
}

}
}
for(z=0;z<4;z++)
{
cout<<kk[z];

}

cout<<" ";
cout<<a<<"A"<<b<<"B"<<"\n";


if(ss==8&&a!=4)
{
cout<<"Fail!"<<"\n\n"<<"The Number is"<<*(q+0)<<*(q+1)<<*(q+2)<<*(q+3)<<"\n\n";
cin>>linjin;
break;
}

if(a!=4)
{ a=0,b=0;
continue;
}

if(a==4)
{
cout<<"Successful!"<<"\n";
}


}
/////////////////
cin>>linjin;//////
//////////////////
break;
}
}
////////////////////////////////////////////////////////////////////////////////////



















watchingwang 2003-01-28
  • 打赏
  • 举报
回复
to arya(行者):

可要是让机器猜又有什么意义呢,我这个是给人出的智力题!
arya 2003-01-28
  • 打赏
  • 举报
回复
to watchingwang:
你这个程序是让用户猜吧?我提的程序正好反过来,是要机器猜,用户判断。难度稍微大点。
watchingwang 2003-01-28
  • 打赏
  • 举报
回复
我这个是类似arya说的那个程序是几年前无聊时用TC写的:

#include "stdio.h"
#include "stdlib.h"
#define RANGE 6

main()
{int myth[4];
int answer[4];
int n,i,j,e,f;randomize();clrscr();
for(i=0;i<4;i++)
myth[i]=random(RANGE-1)+1;
printf("You will have 10 chances to guess the");
printf(" 4 numbers ranging from 1, 2, 3, 4, 5, 6 \nwhich");
printf(" I have already set behind in advance.");
printf(" Are you ready? Good luck!\n\n");
for(n=0;n<10;n++)
{e=0;f=0;
for(i=0;i<4;i++)
scanf("%d",&answer[i]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(answer[i]==myth[j])
{e++;break;}
for(i=0;i<4;i++)
if(answer[i]==myth[i]){f++;e--;}
printf("FITNESS=%d,EXISTENCE=%d\n\n",f,e);
if(f==4) break;
}
if (n<=10&&f==4){switch(n)
{case 0:printf("What? I hate cheating!??\nYour grade: None \nCheating!!\n");break;
case 1:printf("No,I can believe it!!!!!!!!!!\nYour grade 150%%\n");break;
case 2:printf("Woww,you luck dog!\nYour grade 120%%\n");break;
case 3:printf("You are very smart!\nYour grade: 100%%\n");break;
case 4:printf("Congratulation!You win the game!\nYour grade: 95%%\n");break;
case 5:printf("Good!\nYour grade: 90%%\n");break;
case 6:printf("Good!\nYour grade: 85%%\n");break;
case 7:printf("Ok!\nYour grade: 80%%\n");break;
case 8:printf("So,finally you make it.\nYour grade: 70%%\n");break;
case 9:printf("Just on deadline,but you did make it.\nYour grade 60%%\n");break;}}
else {printf("Sorry,you loss!Your grade:0%%\nHere is the answer:\n");
for(i=0;i<4;i++)
printf("%d ",myth[i]);}
getch();}
toybearcn 2003-01-27
  • 打赏
  • 举报
回复
你要我们oop的大作业题目吗?
是交通模拟程序,不难,也很有趣
djwinter 2003-01-27
  • 打赏
  • 举报
回复
哪里有电子板用c++的计算机图形学的东西亚?
znnren 2003-01-27
  • 打赏
  • 举报
回复
大家说的字符界面的游戏是指那类??
能否举几个例子??

贪吃蛇能做成字符界面的吗?
lw549 2003-01-27
  • 打赏
  • 举报
回复
顺其自然,自然而然.
ywchen2000 2003-01-27
  • 打赏
  • 举报
回复
tongyi lou shang de
cupidvenus 2003-01-25
  • 打赏
  • 举报
回复
先做好书上的习题,再做些字符界面的游戏,然后再深入
Cybergate 2003-01-25
  • 打赏
  • 举报
回复
是的,编游戏是学习OOP的最好方法之一, 做起来有兴趣, 而且在游戏中对象的概念是很明显的. 当年我用Quick Basic编游戏的时候已经形成了面向对象的模糊概念,还希望有人能发明一种可以实现这种机制的语言, 没想到C++就是我想要的, 真是相见恨晚.
IceboundRock 2003-01-25
  • 打赏
  • 举报
回复
贪吃蛇吧,很有趣,程序也不复杂。自己试试看先!
fireseed 2003-01-25
  • 打赏
  • 举报
回复
做一个电子宠物得了
skyingeye 2003-01-25
  • 打赏
  • 举报
回复
请指教我啊 我给你加分
QQ6746786
arya 2003-01-25
  • 打赏
  • 举报
回复
编个猜数字游戏如何?我有一个四位数,数字从1到9,你用C++编个程序,猜这个数字是什么。每猜一次,我回答猜的数字正确的(就是位置和数字对的)有几个,剩下数字对位置不对的有几个。比如我想
1112,
你猜是1231, 那么全对的只有1个,半对的有两个。编个交互式程序尽量用最小的次数猜出来。

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧