出题器-整除-商不为1
条件除数2-200,被除数2-200
在链表中随机显示出100道除法题 格式 32/4=
rand函数随机生成数字,用while循环100次就可以了啊
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
typedef struct
{
int fz;
int fm;
}Data;
typedef struct _linknode
{
Data data;
struct _linknode* next;
}LinkNode;
//求数字n的因子
void yinzi(int n, int a[], int* nmb)
{
int i = 2;
int k = 0;
for (; i < n && k<40; i++)
{
if (n % i == 0)
{
a[k++] = i;
}
}
*nmb = k;
}
int main()
{
int i = 0;
int nmb = 0;
int yz[40],index;
LinkNode* head, * p, * t;
head = (LinkNode*)malloc(sizeof(LinkNode));
head->next = NULL;
p = head;
srand((unsigned int)time(NULL));
while (i < 100)
{
t = (LinkNode*)malloc(sizeof(LinkNode));
t->next = NULL;
while (1)
{
t->data.fz = rand() % 199 + 2; //分子 2-200
//计算fz的所有因子,分母在因子中随机选择
yinzi(t->data.fz, yz, &nmb);
if (nmb > 0)
break;
}
index = rand() % nmb;
t->data.fm = yz[index];
p->next = t;
p = t;
printf("%d/%d=\n", t->data.fz, t->data.fm);
i++;
}
return 0;
}