Vanhogh 2022-07-25 10:59 采纳率: 100%
浏览 66
已结题

关于#c++#的问题:打印出数组x内随机内容

想做一个随机的抽奖程序,没有学过随机数相关,c++是自学的比较生,请问这种情况怎么解决?求帮忙!软件:Dev-c++ 5.11 编译器:TDM-GCC 4.9.2 64-bit Release
//
//
//
#include <iostream>
#include <cstdlib> // Header file needed to use srand and rand
#include <ctime> // Header file needed to use time
using namespace std;
int a=0,b=0,c=0;
a = rand() % 6;
b = rand() % 6;

c = rand() % 6;

int main()
{
    if(b==a){
        while(b!=a) b = rand() % 6;
    }
    if(c==a||c==b){
        while(c!=a&&c!=b) c = rand() % 6;
    }
    char x[5]={'纥','风Vanhogh','阿七','ME','鸽子'}
    
    for(int i=1;i++;i<6){
        if(x[i]==x[a]) printf("无偿摇人结果%c\n",x[a]);
        if(x[i]==x[b]) printf("点图摇人结果%c\n",x[b]);
        if(x[i]==x[c]) printf("出设摇人结果%c\n",x[c]);
    } 
    return 0;
}

[Warning] multi-character character constant [-Wmultichar]

[Warning] character constant too long for its type
[Error] 'a' does not name a type
[Error] 'b' does not name a type
[Error] 'c' does not name a type

在网上找了好多随机数生成、随机数赋值的帖子,中和调整了很多次但程序还是报错
程序可以正常运行,打印出数组x内对应内容,并且每次运行程序结果不同
  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2022-07-25 11:01
    关注

    char x[5]={'纥','风Vanhogh','阿七','ME','鸽子'}只有5个元素
    但你下面的循环不对
    求余6得到的数值范围是0-5,而x数组的下标范围是0-4啊。如果x只有5个元素,那求余6都要改为求余5才行
    另外最后的for循环写错了
    for(int i=1;i++;i<6)
    改为
    for(int i=0;i<5;i++)
    另外字符串要用双引号
    char a[5]要改为char *a[5]

    #include <iostream>
    #include <math.h>
    #include <time.h>
    using namespace std;
    #define N  5
     
    int main()
    {
        srand(time(0));
        int a=0,b=0,c=0;
        a = rand() % N;
        b = rand() % N;
        c = rand() % N;
        if(b==a){
            while(b!=a) b = rand() % N;
        }
        if(c==a||c==b){
            while(c!=a&&c!=b) c = rand() % N;
        }
        char* x[N]={"纥","风Vanhogh","阿七","ME","鸽子"};
        
        for(int i=0;i<5;i++){
            if(x[i]==x[a]) printf("无偿摇人结果%s\n",x[a]);
            if(x[i]==x[b]) printf("点图摇人结果%s\n",x[b]);
            if(x[i]==x[c]) printf("出设摇人结果%s\n",x[c]);
        } 
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 7月25日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效