一个C语言题 急求

外语考试都是选择题(ABCD)共有十个题(1)变成把一个学生的考试答案写入一个key.txt文件中(2)正确答案是ABDBCDACBD把正确答案写入right.txt文件... 外语考试都是选择题 (A B C D) 共有十个题
(1)变成把一个学生的考试答案写入一个key.txt文件中
(2)正确答案是 A B D B C D A C B D 把正确答案写入right.txt 文件中
(3)编程从right.txt中读出正确答案存储在一维字符数组中 从key.txt文件中读取该学生的实际答案存在另一个一维字符数组中 最后统计该名考生答对多少题
展开
 我来答
Starfire9
2008-05-27 · TA获得超过282个赞
知道小有建树答主
回答量:330
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
void writeStuAns();
void writeAns(char *ans);
void readStuAns(char *stuAns);
int main() {
int i;
int count = 0;
char stuAns[10];
char ans[10] = {'A','B','D','B','C','D','A','C','B','D'};
writeStuAns();
writeAns(ans);
readStuAns(stuAns);
for (i = 0; i < 10; i++) {
if (ans[i] == stuAns[i])
count++;
}
printf("Total right nums:%d\n", count);
return 0;
}

void writeStuAns() {
char ans;
int i;
FILE *f;
if ((f = fopen("key.txt", "wt")) == NULL) {
printf("Open File Error.\n");
return;
}
for (i = 0; i < 10; i++) {
scanf("%d",&ans); //这里建设学生的答案都是从键盘输入的
fprintf(f, "%d\n", ans);
}
fclose(f);
}

void writeAns(char *ans) {
int i;
FILE *f;
if ((f = fopen("right.txt", "wt")) == NULL) {
printf("Open File Error.\n");
return;
}
for (i = 0; i < 10; i++) {
fprintf(f, "%d\n", ans[i]);
}
fclose(f);
}

void readStuAns(char *ans) {
int i;
FILE *f;
if ((f = fopen("right.txt", "rt")) == NULL) {
printf("Open File Error.\n");
return;
}
for (i = 0; i < 10; i++)
fscanf(f, "%d", &ans[i]);
fclose(f);
}

不过说实在的,我真不知道你为什么要搞的这么复杂。从right.txt文件中读出我没有写,因为你开始已经知道答案给写到right.txt里的,再给读出来岂不是多此一举?如果你实在想要的话可以参考readStuAns函数,实现非常简单。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式