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

供稿:hz-xin.com     日期:2025-01-15
C语言中如何用名字存数组,用时间函数模拟随机,实现随机输出一个姓名。

把时间作为srand 函数的seed,每次就可以产生不同的随机数,对产生的数字用班级总人数相除得余数,就可以控制产生的数字在班级人数范围。然后每个数字作为数组的下标对应班上的一个人。

我就按我的理解大概的写一段,你根据你的需要改改就好
#include #include //随机数要用的头文件#include //时间函数用的头文件int main(){ int i; char s[][30]= { "我是第一句", "我是第二句", "我是第三句" }; srand(time(0)); //置随机数种子,种子为程序运行时间 i=rand()%3; //取一个0到2间的随机数给i printf("%s", s[i]); //输出取的随机数所对应的一个字符串 return 0;}

示例































//Visual Studio中加上这句才可以使用scanf()

//否则只能使用scanf_s()

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>


#define NUM 5

//argc: 参数个数 argv[]: 参数数组

int main(int argc, char *argv[])

{

char ch_arr[NUM][8] = { "小东", "小明","小李","小王","小红" };


srand((unsigned)time(NULL));// 初始化随机数

for (int i = 0; i < 10; i++) {

int r = rand() % NUM;

printf("[%d] %s
", r, ch_arr[r]);

}


system("pause");

return 0;

}

运行测试

注意:必须确保窗口的代码页设置的是中文

更多C语言教程



#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int main()
{
char m,*names[]={"猪八戒","张三","李四","王五","马六","孙悟空","东方不败"};
int len=sizeof(names)/sizeof(char*);

srand(time(NULL));
do
{
puts(names[rand()%len]);
printf("是否继续(y/n)?");
m=getchar()|0x20;
fflush(stdin);
}while('y'==m);
return 0;
}

C语言如何用数组存储一些中文名字,并且可以随机抽取一个名字输出
\/\/Visual Studio中加上这句才可以使用scanf()\/\/否则只能使用scanf_s()define _CRT_SECURE_NO_WARNINGS include <stdio.h> define NUM 5 \/\/argc: 参数个数 argv[]: 参数数组 int main(int argc, char *argv[]){ char ch_arr[NUM][8] = { "小东", "小明","小李","小王","小红" }...

C语言:怎么用数组存储中文名字!
在C语言中存储中文名字,需要使用wchar_t类型来定义数组。用wprintf函数输出,通过setlocal设置本地环境。示例如下:include <stdio.h>#include <locale.h>int main(){setlocale(LC_ALL, "chs");wchar_t wc[] = L"李磊和韩美美";wprintf(L"%s\\n",wc);return 0;} ...

在VC中如何用C语言输入一个汉字,将汉字给一个变量,使这个变量输出的时候...
可以用unsigned char类型的数组储存汉字,输出时按字符串输出即可 include<stdio.h> int main() { unsigned char s[]="百度一下,你就知道"; printf("%s\\n",s); puts(s); scanf("%s",s); printf("%s\\n",s); puts(s); return 0; } ...

C语言 二维数组存放中文输出
void main(){ char a[2][3][1024]={{"姓名","语文","数学"},{"张三","50","50"}};int i,j;for(i=0;i<2;i++){for(j=0;j<3;j++)printf("%s ",a[i][j]);printf("\\n");} }

C语言中如何使用汉字?
在C语言中,可以通过将汉字作为字符串输入。由于一个汉字占2个字节,所以对汉字的操作,只能以2个字节作为操作单位。下面通过具体实例来说明汉字在C语言中的使用:char s[] = "首都北京"; \/\/ 将汉字字符赋值给字符数组char s2[20]; \/\/ 定义字符数组,存放用户输入的汉字scanf("%s", s2);...

C语言中怎么用数组定义汉字?
需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char a[20] = "我你";puts(a);。3、编译器运行test.cpp文件,此时成功定义一个两个汉字的数组并打印了出来。

c语言中,用字符数组储存名字,比如s[0]存储张三,s[1]存储李四,我应该如 ...
因为汉字是多字节字符,所以,如果一个数组中存储多个人名,则要定义成二维数组,如:char names[10][20]; \/\/最多存储10个人名,每个人名,不超过10个汉字(GBK编码,一个汉字两个字节)strcpy( names[0], "张三" );strcpy( names[1], "李四" );...

c语言如何使用二维数组存储中文?
用char就可以储存了 include<stdio.h>int main(){char a[2][10]={"百度一下","你就知道"};int i;for(i=0;i<8;i++)printf("%c",a[0][i]);printf("\\n");for(i=0;i<2;i++)printf("%c",a[0][i]);printf("\\n");for(i=2;i<4;i++)printf("%c",a[0][...

C语言问题,如何将中文放进字符数组
char *s[4]={"李四","张三","黄生","二小"},*p;[4]把p[i]指向s[i],即:for(i=0;i<4;i++)p[i]=s[i];也可以直接char *p[4]={"李四","张三","黄生","二小"};这里数字4只是表示指针数组中指针的个数,而不是字符长度。

c语言中如何输入汉字
具体操作步骤如下:一、首先定义一个wchar_t类型的数组用于存储输入的中文,同时定义两个变量inx、size,size用于保存实际输入的汉字中文数,inx用于循环控制打印每一个中文汉字的16进制编码。二、然后,输入中文汉字,需要调用wscanf函数,注意不能使用%s作为字符串输入,而要使用%ls。三、接下来使用wcslen(...