C语言中如何用名字存数组,用时间函数模拟随机,实现随机输出一个姓名。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中如何用名字存数组,用时间函数模拟随机,实现随机输出一个姓名。相关的知识,希望对你有一定的参考价值。

班级抽奖摇号用,但是我C语言只学了一点点,求助大神

参考技术A 把时间作为srand 函数的seed,每次就可以产生不同的随机数,对产生的数字用班级总人数相除得余数,就可以控制产生的数字在班级人数范围。然后每个数字作为数组的下标对应班上的一个人。 参考技术B 可以用String类数组,比如String[3] = "张三","李四","王五";再用时间函数比如ctime()*7%3 就可以得到一个随机姓名了。 参考技术C 名字用二维数组存,然后随机函数随机个值出来就行了
核心思想:
#include<time.h>
#include<stdlib.h>
char name[21][21];
int i;
srand();
for() scanf("%s",name[i]);
for(i=0;i<21;i++)

res=rand()%21;
printf("%s\n",name[res]);
追问

我试一下,编译有个错怎么办,我看不懂。

追答

发过来,我看看

追问

不用了,还是谢谢,我们学到数组了,可是还有点不懂

本回答被提问者和网友采纳

c++中如何用函数传递fstream类型

就是在一个函数中..我想要传递一个fstream类型的形参...不过总是成功不了!~有谁能给个例子么?~!!谢谢~~~

用 fstream 类型作为函数的参数传递时, 由于fstream的拷贝构造函数 是private, 因此在传递参数时,fstream不允许调用其拷贝构造函数,则编程写为下面这种形式会报错:

void Openfile(fstream f)



编译时会出现错误:
error C2248: “std::basic_ios<_Elem,_Traits>::basic_ios”: 无法访问 private 成员(在“std::basic_ios<_Elem,_Traits>”类中声明)
因此在用 fstream作为参数时,应为引用,如:
void Openfile(fstream & f)
参考技术A #include<iostream>
#include<fstream>
#include<assert.h>
using namespace std;
void func(fstream &);
int main(void)

fstream fp;
fp.open("x.txt",ios::in|ios::out);
assert(fp.is_open());
func(fp); //你要的
return 0;

void func(fstream &fp)

cahr ch[12]="记得要创建x.txt,不然可能错误";
for(int i=0;i<12;i++)
fp.puts(ch[i]);
fp.close();

//由于我这没有编译器,要是错误给我发信息本回答被提问者采纳
参考技术B 例如定义函数:void fun(你要传的参数类型) 参考技术C 形参要用引用传递:fstream &fs
呵呵
参考技术D void func(fstream &fs);

以上是关于C语言中如何用名字存数组,用时间函数模拟随机,实现随机输出一个姓名。的主要内容,如果未能解决你的问题,请参考以下文章

C语言如何用数组存储一些中文名字,并且可以随机抽取一个名字输出

c语言如何随机输出同学名字?

C语言中如何用gets();语句来接收一个二维数组

C语言中如何用 gets(),put()

C语言中如何用一个程序调用另一个程序,两个程序都是.c文件。

c++中如何用函数传递fstream类型