搜索
查看: 1541|回复: 7
打印 上一主题 下一主题

咳咳,剪刀石头布程序

[复制链接]
跳转到指定楼层
楼主
发表于 2013-12-3 12:48:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
额,今天轮到我来求救了,废话不多说,上代码。
#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

最佳答案

查看完整内容

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

我私信了,话说你原来在线啊
7#
发表于 2013-12-3 17:55:29 | 只看该作者
cad20020601 发表于 2013-12-3 16:20
我私信了,话说你原来在线啊

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

额,最近你都不在啊,我无聊ing~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表