.小学生计算机辅助系统(computer-aided instruction,cia)

前言:我知道大家不会看到后面,所以在前面写了,我是个初学者,学了有俩年了。学了几门语言却没有一门精通,c++语言复杂的语法让我始终入不了门。然后我发现了c语言,大家不要看不起这些题目。虽然他真的不难并且很无聊,但他真的很重要。我一直嫌弃课本无法传递思想,那些帖子经常把代码打出是错误的。直到我一边学一边写帖子,这真的挺难的,表述思想要一个很长的字数。我又怕太长了大家看的累,我想向大家呈现从下向上编程的考虑,对于入口出口流程控制的思考,来表达我在想啥。我会再改进,因为我也是学习无法停下来不停琢磨。大家有不对的可以在评论里打出。(ps以下代码均在小龙Dev c++实现过)

题目(总):

(ps怕大家找不到放前面了)

           任务1:

思路         输入是一个数   输出正确则结束,错误接着进行需要有个生成随机变量的函数rand(),一个判断函数,一个控制流程让错误的学生继续进行回答,这里循环结构用do..while控制(ps:if 需要封装。:)

需要对输入数字进行防御性检查。对于错误的数字用getchar()函数去掉。

思维导图:

小学生计算机辅助教学系统(c语言版)-LMLPHP

代码:

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

main()
{
    int a, b, answer;
    int ret;//字符是否合法的标识,0是错误,1是对
  ===   int flag = 0;//是否答对的标识
    srand (time(NULL));
    a = rand() % 10 + 1;
    b = rand() % 10 + 1;
    do
        {
            printf("%d*%d = ?\n", a, b);
            ret = scanf("%d", &answer);
            while (ret != 1)
                {
                    while (getchar() != '\n');
                    printf("请输入正确数字 ");
                    ret = scanf("%d", &answer);
                }
            if (answer == a * b)
                {
                    printf("%Right!\n");
                    flag = 1;
                }
            else
                {
                    printf("Wrong !Please try again.\n");
                }
        }
    while (flag != 1 
02-04 17:50