各位大虾速来看看这个很小很小很小的程序

jinjunweiruan1 2009-06-11 10:19:32
#include<iostream>
#include<cstdlib>
using namespace std;
int main(){
string a;
cin>>a;

int c;
for(int b=0;b<2;++b){
c=2*(b^2);
cout<<a[c]<<endl;}

system("pause");
}


我想要这个程序运行的是:比如我输入sgerhrehrthgdsfse,它程序会输出按照公式c=2*(b^2)时候的取值的字母

但是貌似不对哦

哪呢?

#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
int b;
int a;
int c=0;


do {
cout<<"输入你猜的数字"<<endl;

cin>>a;
b=a+1;
if(a!=b){
++c;
cout<<"不对啊,继续";
cout<<"已经错误"<<c<<"次啊!加油!"<<endl;
if(c==3){
cout<<"郁闷,3次还不对,这个程序你还相信会成功吗"<<endl; }
if(c==6){
cout<<"日,6次还不对,这个程序是不是假的?嘿嘿,继续不?" <<endl;}
if(c==10){
cout<<"不是吧?10次?假不假?看你自己"<<endl; }
if(c==15){
cout<<"哈哈,白痴,这个程序永远不能猜到"<<endl; }
if(c==16)
{
b=a;
cout<<"不错,你有不甘心的勇气!"<<endl; }
}

}while(a!=b);
cout<<"正确!"<<"猜了"<<c<<"次才猜对!你真笨"<<endl;



system("pause");
}
//本程序, 以后改进的地方:1,怎样让 第15次的时候,自动退出
//2,如何在第15次的时候,不退出并且再第16次输入的时候,能够该改变b的值,让程序输入什么,
// 答案就出现什么,之后再退出
//3,以后改进,变成函数调用==更复杂的,问道五行系统的写法:概率根据名字? 根据上线时间?
//根据本日时间点=====猜想

第二个程序。有点。。。。……,……希望能提供方法。谢谢
...全文
43 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
xiexei
Ryanwen 2009-06-11
  • 打赏
  • 举报
回复
for(int b=0;b <3;++b)
等同于
int b = 0;
while(b < 3)
{
...
++b; //or b++
}


jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
!~!for(int b=0;b <3;++b

不是有个++b么?
难道FOR里面是先忽略++b?第二次才开始算?

MARK学习
Ryanwen 2009-06-11
  • 打赏
  • 举报
回复
b是从0开始的 你说为什么捏 难道0的2次幂是1
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
……,……为什么捏……,……
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
恩。可以了、

#include<iostream>
#include<cstdlib>
#include<math.h>
using namespace std;
int main(){
string a;
cin>>a;

int c;
for(int b=0;b<3;++b){
c= 2*pow(b,2);
cout<<c<<a[c]<<endl;}

system("pause");
}

我现在按这个程序运行出现的是从0开始

0 ?
2 ?

8 ?

怎么是0?不应该是

2 ?


8 ?


18 ?

brookmill 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 jinjunweiruan1 的回复:]
那求幂用什么符号呢?

为什么我用^这个符号也会出现一个值?这个值是根据什么来出现的‘?
[/Quote]
求幂没有符号,要调用库函数c = 2*pow(b,2);
不过调用库函数效率比较低,b*b不就是平方么

^是位运算里的异或,书才看2天可能还没讲到这里,看到那一章再说吧
lylm 2009-06-11
  • 打赏
  • 举报
回复
乘方用pow(10,3)
Ryanwen 2009-06-11
  • 打赏
  • 举报
回复
<math.h>
pow求幂
sqrt开方
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
你把条件改成b<3试试
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
……,……小弟不才。书才看2天。
lylm 2009-06-11
  • 打赏
  • 举报
回复
第1题

输出下标4,6字母:h,e


#include <iostream> 
#include <stdlib.h>
#include <string>
using namespace std;
void main(){
string a("sgerhrehrthgdsfse");
//cin>>a;

int c;
for(int b=0;b <2;++b){
c=2*(b^2);
cout <<c<<","<<a[c] <<endl;}

system("pause");
}
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
那求幂用什么符号呢?

为什么我用^这个符号也会出现一个值?这个值是根据什么来出现的‘?
Ryanwen 2009-06-11
  • 打赏
  • 举报
回复
本来想问问你基础的 结果LS都说了

^在C里是异或 不是求幂
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
4L不对啊。我想要的就是乘方啊。不是乘以啊
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
……,……谢4L。我去试试

3L。不是啊。最近我自己在学C。刚看了2章。写点这么小的程序啊
呵呵,没啥的。就是连连语句什么的
brookmill 2009-06-11
  • 打赏
  • 举报
回复
c=2*(b^2); 改成 c=2*(b*b);
c语言里面^是按位异或

老邓 2009-06-11
  • 打赏
  • 举报
回复
其实这种小游戏没什么意思。
楼主不如学学Windows程序设计
Ryanwen 2009-06-11
  • 打赏
  • 举报
回复
第一题,说说你希望的结果是什么?
jinjunweiruan1 2009-06-11
  • 打赏
  • 举报
回复
……,……第一个问题都没人回答?

……,……第二个我学以后的时候自己会解决,但是现在如果有个提供方向,那也好。

64,640

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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