用C语言来随机输出一个中文你打英文!

Python018

用C语言来随机输出一个中文你打英文!,第1张

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main()

{

char word[20][2][20]//字符串数组,储存单词及对应的翻译

char answer[20]//字符串数组,储存用户输入答案

char flag = 'y'//退出标志

int i = 0

FILE *fp//文件指针,指向打开的文件

fp = fopen("conect.txt", "r")//打开 conect.txt 文件(里面保存了单词及翻译)

if(fp == NULL)//如果打开不成功,则退出

return -1

while(i <5)//读入5个单词及其翻译

{

fscanf(fp, "%s", word[i][0])//word[i][0]里面存的是中文

fscanf(fp, "%s", word[i++][1])//word[i][1]里面存的是中文对应的翻译

}

while(flag == 'y')//当退出标志是y时,一直重复做以下的事情

{

srand( (unsigned)time( NULL ) )//在生成随机数前必要的操作,设置随机种子

i = rand() % 5//随机生成一个小于5的数

printf("please input your answer\n")//提示用户回答

printf("%s\n", word[i][0])//输入第i个单词的中文

gets(answer)//读入用户输入的答案

if( !strcmp(answer, word[i][1]) )//比较用户输入的答案与标准的答案

{

//strcmp是字符串比较函数

//如果用户输入的答案answer与第i个单词的翻译相同

printf("GOOD! U R RIGHT!\n")

}

else

{

printf("error answer!\n")//否则输出错误提示和正确答案

printf("the answer is %s\n", word[i][1])

}

printf("input y to continue orther to exit\n")

scanf("%c", &flag)//输入一个字母,如果字母是y则再生成一个单词让用户翻译

//如果不是y,则退出程序

gechar()//消除多余回车影响

}

return 0

}

--------------------------------------------------------------

在你的C文件同目录下新建一个名为conect.txt的文本文件,内容如下

---------------------------------------------------------------

yes

不是

no

真的

really

good

bad

---------------------------------------------------------------

格式是一行中文,下一行是翻译

至少要有5个中文与英文

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

void main()

{

int m

char s1[]="26537"

char s2[]="monkey"

char s3[]="USA"

char s4[]="$&"

char s5[]="给我一首歌的时间"

srand(time(NULL))

m=rand()%5

switch (m)

{

case 0:

printf("%s\n",s1)

break

case 1:

printf("%s\n",s2)

break

case 2:

printf("%s\n",s3)

break

case 3:

printf("%s\n",s4)

break

case 4:

printf("%s\n",s5)

break

default:

break

}

}

示例

//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 = 0i <10i++) {

int r = rand() % NUM

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

}

system("pause")

return 0

}

运行测试

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

更多C语言教程