啊哈磊_编程从这里起步

标题: 咳咳,剪刀石头布程序 [打印本页]

作者: cad20020601    时间: 2013-12-3 12:48
标题: 咳咳,剪刀石头布程序
额,今天轮到我来求救了,废话不多说,上代码。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
        char a[5];
    srand((unsigned)time(NULL));
    int i=rand()%3,w;
        printf("这是一个“剪刀石头布”的小游戏\n请输入:(只能输入“剪刀”、“石头”、“布”)\n");   
    for(w=0;w<2;w++)
    while(a[i]!=" ")
    scanf("%s",a[i]);
    if(a=='石头')
    {
        if(i==1) printf("电脑出了剪刀,你赢了~");       
    else if(i==2) printf("电脑出了石头,平局!");
    else printf("电脑出了布,你输了。");
    }       
    if(a=='剪刀')
    {
        if(i==1) printf("电脑出了剪刀,平局!");       
    else if(i==2) printf("电脑出了石头,你输了。");
    else printf("电脑出了布,你赢了~");
    }       
    if(a=='布')
    {
        if(i==1) printf("电脑出了剪刀,你输了。");       
    else if(i==2) printf("电脑出了石头,你赢了~");
    else printf("电脑出了布,平局!");
    }       
        system("pause");
        return 0;
}


运行后,表面没问题,但输入后马上就崩溃了:




360截图20131203124750843.jpg (17.42 KB, 下载次数: 6)

360截图20131203124750843.jpg

作者: 4399APPLE    时间: 2013-12-3 12:48
C语言你要想清楚,是哪个国家的人发明出来的
有可能是中国人吗?
所以你这里就出错了
字符串比较能用单引号吗?
能直接用“=="之类的符号吗?
在英文中,一个汉字代表两个英文字符
所以你可以用#include <string.h>中的strcmp()函数
但其实把这些汉字定义在宏里面更好
或者直接用链表
基于上面的方法
有可能啊哈C不能运行
就请用WIN-TC或者TC 2.0
还有疑问请私信
作者: cad20020601    时间: 2013-12-3 12:48
咳,求解,可能是字符串错了
作者: rosynirvana    时间: 2013-12-3 14:37
字符还是字符串要想清楚
作者: 4399APPLE    时间: 2013-12-3 15:06
其实我到现在都还不知道你的机是什么系统的。。。
你发那个"你想拥有更多钱吗"显示的是WIN7
但上面的警告框又是WIN XP。。。
作者: cad20020601    时间: 2013-12-3 16:20
4399APPLE 发表于 2013-12-3 15:04
C语言你要想清楚,是哪个国家的人发明出来的
有可能是中国人吗?
所以你这里就出错了

我私信了,话说你原来在线啊
作者: 4399APPLE    时间: 2013-12-3 17:55
cad20020601 发表于 2013-12-3 16:20
我私信了,话说你原来在线啊

我真不知道,你给我11个提醒干嘛?我的电脑都要死机了。。。
作者: 4399APPLE    时间: 2013-12-22 14:22
cad20020601 发表于 2013-12-3 16:20
我私信了,话说你原来在线啊

额,最近你都不在啊,我无聊ing~~~




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2