C语言彩票20选5问题求解!
答案:6 悬赏:0
解决时间 2021-03-22 04:47
- 提问者网友:残阳碧曼
- 2021-03-21 04:53
3:可以排除任意输入的排列(如:可以选择排除数(如输入7,那么输出结果中包含7的排列将被排除)
要求3:可以多次排除(例如输出排除7的结果后再从剩余的结果中排除包含3的等等)
要求4,9即可排除输出结果中包含的此排列)
要求5:c语言编写
p.s,5:输入1做一个可以将20选5的所有情况(从1-20中选出5个数)
要求1:可以选择和值范围(例如输入50,60那么输出的5个数的和值范围就在50-60之间)
要求2,7
要求3.然后输入要排除的数组中包含某一个数的一组数(例如输入5,则将要输出的数组中包含有1!
要的是组合数,3,5,3.然后输入排除的一组数(例如输入2,3,4,5,6则把结果中包含2,3,4,5,6的数组抛除)
5!
另外二十个数是给定的数(1-20)
注意,5及2,4,6等等这些包含5的数组将要被抛除)
3.接着判断是否还需要再输入一个数(YorN)如不需要 转入4 需要 结果保留 转入2
4:要求2.首先输入范围
2,4,要求4
程序的顺序是,2;memory.h>:
1.输出结果。
注意:不好意思没有头文件<p.s.
本题是将所有符合条件的数字分成一组一组 全部输出
最佳答案
- 二级知识专家网友:何以畏孤独
- 2021-03-21 06:00
"r"TC 2, t;
printf("系统正在初始化。; NUM1;%d %d".h>
#define FILE1 "data;
fclose(fp); s-1; ++i)
{
k = i, t, filter[NUM2];
char choice;
for (i = 0.0 通过测试,自己测试下看结果是否正确; NUM2;
return。\n"
for (i = 0; i <.h>
#include < NUM2-1, "%d "
fclose(fp);
fp = fopen(FILE1, ", a[i]);
}
fprintf(fp;);
printf(" index; ++i)
{
if (s == sum[i])
return;
}
sum[index++] = s;
memcpy(a;
void init()
{
int i, s; ++j)
{
if (result[j] == number[i])
{
f = 1;
break;
}
}
if (f == 1)
continue;
result[cnt] = number[i];
traverse(cnt+1);
}
}
void clear()
{
free(sum), sizeof(int) * NUM2);
asort(a, NUM2);系统正在清理中;
}
void main()
{
FILE *fp1;
t = NUM2, int s)
{
int i, j;
fflush(fp), a[i]);
printf(" ++i)
s += result[i];
if (s < sum1 || s >
for (j = i + 1; j <
for (i = 0; i <.txt"
#define FILE3 "result;, a[i]);
fp = fopen(FILE1;n".h>
#include
if (fp == NULL)
{
printf("无法打开文件;
int number[NUM1];
int result[NUM2];
a[i] = a[k];
a[k] = t;
}
}
}
void traverse(int cnt)
{
int i, k, t, "%d\
for (i = 0;%d "。。!\n" s; ++j)
{
if (a[k] > a[j])
{
k = j;
}
}
if (k != i)
{
t = a[i];
int i, f; ++i)
{
fprintf(fp.txt"
#define FILE2 "temp;
int sum1, sum2, index = 0;
for (i = 0; i <
printf("mem;
for (i = 0; i <
}
for (i = 0; i <
if (cnt == NUM2)
{
int s = 0;
unlink(FILE1);
unlink(FILE2)。
#include
s *= (t-i);
sum = (int *)malloc(sizeof(int) * s);
memset(sum, 0; i < NUM1; ++i)
number[i] = i+1;w");
if (fp == NULL || fp1 == NULL)
{
printf("无法打开文件!\n");
exit(-1);
}
do
{
printf("请输入一个过滤数字:");
scanf("%d", &t);
getchar();
while (1)
{
f = 0;
memset(result, 0, sizeof(int) * NUM2);
for (i = 0; i < NUM2; ++i)
fscanf(fp, "%d", result + i);
if (result[0] == 0)
break;
for (i = 0; i < NUM2; ++i)
{
if (t == result[i])
{
f = 1;
break;
}
}
if (f == 1)
continue;
for (i = 0; i < NUM2-1; ++i)
{
printf("%d ", result[i]);
fprintf(fp1, "%d ", result[i]);
}
printf("%d\n", result[i]);
fprintf(fp1, "%d\n", result[i]);
}
fclose(fp);
fclose(fp1);
unlink(FILE1);
rename(FILE2, FILE1);
fp = fopen(FILE1, "r");
fp1 = fopen(FILE2, "w");
printf("是否继续执行过滤(y/n)?");
choice = getchar();
getchar();
}
while (choice == 'y' || choice == 'Y');
fclose(fp);
fclose(fp1);
fp = fopen(FILE1, "r");
fp1 = fopen(FILE3, "w");
if (fp == NULL || fp1 == NULL)
{
printf("无法打开文件!\n");
exit(-1);
}
printf("请输入需要过滤的一组数:");
for (i = 0; i < NUM2; ++i)
scanf("%d", filter+i);
for (i = 0; i < NUM2; ++i)
printf("%d ", filter[i]);
getchar();
f = 0;
while (1)
{
memset(result, 0, sizeof(int) * NUM2);
for (i = 0; i < NUM2; ++i)
fscanf(fp, "%d", result + i);
if (result[0] == 0)
break;
i = 0;
while ((i < NUM2) && (filter[i] == result[i++]));
if (i == NUM2)
continue;
for (i = 0; i < NUM2-1; ++i)
fprintf(fp1, "%d ", result[i]);
fprintf(fp1, "%d\n", result[i]);
}
fclose(fp1);
clear();
system("PAUSE");
}。。\ sum2)
return;
fp1 = fopen(FILE2, " ++i)
{
f = 0;
for (j = 0, j, f;操作成功完成!结果已保存到result;
init();
traverse(0);
int a[NUM2];
printf("););).txt文件;n");
printf("请输入和值范围:");
scanf("
s = 1。\n" j < cnt;, a[i]), &sum1, &sum2);
getchar(), result;
exit(-1);
}
}
void asort(int *a, sizeof(int) * s).txt"
#define NUM1 8
#define NUM2 5
FILE *fp = NULL;
int * sum = NULL
printf("系统正在初始化。; NUM1;%d %d".h>
#define FILE1 "data;
fclose(fp); s-1; ++i)
{
k = i, t, filter[NUM2];
char choice;
for (i = 0.0 通过测试,自己测试下看结果是否正确; NUM2;
return。\n"
for (i = 0; i <.h>
#include < NUM2-1, "%d "
fclose(fp);
fp = fopen(FILE1, ", a[i]);
}
fprintf(fp;);
printf(" index; ++i)
{
if (s == sum[i])
return;
}
sum[index++] = s;
memcpy(a;
void init()
{
int i, s; ++j)
{
if (result[j] == number[i])
{
f = 1;
break;
}
}
if (f == 1)
continue;
result[cnt] = number[i];
traverse(cnt+1);
}
}
void clear()
{
free(sum), sizeof(int) * NUM2);
asort(a, NUM2);系统正在清理中;
}
void main()
{
FILE *fp1;
t = NUM2, int s)
{
int i, j;
fflush(fp), a[i]);
printf(" ++i)
s += result[i];
if (s < sum1 || s >
for (j = i + 1; j <
for (i = 0; i <.txt"
#define FILE3 "result;, a[i]);
fp = fopen(FILE1;n".h>
#include
if (fp == NULL)
{
printf("无法打开文件;
int number[NUM1];
int result[NUM2];
a[i] = a[k];
a[k] = t;
}
}
}
void traverse(int cnt)
{
int i, k, t, "%d\
for (i = 0;%d "。。!\n" s; ++j)
{
if (a[k] > a[j])
{
k = j;
}
}
if (k != i)
{
t = a[i];
int i, f; ++i)
{
fprintf(fp.txt"
#define FILE2 "temp;
int sum1, sum2, index = 0;
for (i = 0; i <
printf("mem;
for (i = 0; i <
}
for (i = 0; i <
if (cnt == NUM2)
{
int s = 0;
unlink(FILE1);
unlink(FILE2)。
#include
sum = (int *)malloc(sizeof(int) * s);
memset(sum, 0; i < NUM1; ++i)
number[i] = i+1;w");
if (fp == NULL || fp1 == NULL)
{
printf("无法打开文件!\n");
exit(-1);
}
do
{
printf("请输入一个过滤数字:");
scanf("%d", &t);
getchar();
while (1)
{
f = 0;
memset(result, 0, sizeof(int) * NUM2);
for (i = 0; i < NUM2; ++i)
fscanf(fp, "%d", result + i);
if (result[0] == 0)
break;
for (i = 0; i < NUM2; ++i)
{
if (t == result[i])
{
f = 1;
break;
}
}
if (f == 1)
continue;
for (i = 0; i < NUM2-1; ++i)
{
printf("%d ", result[i]);
fprintf(fp1, "%d ", result[i]);
}
printf("%d\n", result[i]);
fprintf(fp1, "%d\n", result[i]);
}
fclose(fp);
fclose(fp1);
unlink(FILE1);
rename(FILE2, FILE1);
fp = fopen(FILE1, "r");
fp1 = fopen(FILE2, "w");
printf("是否继续执行过滤(y/n)?");
choice = getchar();
getchar();
}
while (choice == 'y' || choice == 'Y');
fclose(fp);
fclose(fp1);
fp = fopen(FILE1, "r");
fp1 = fopen(FILE3, "w");
if (fp == NULL || fp1 == NULL)
{
printf("无法打开文件!\n");
exit(-1);
}
printf("请输入需要过滤的一组数:");
for (i = 0; i < NUM2; ++i)
scanf("%d", filter+i);
for (i = 0; i < NUM2; ++i)
printf("%d ", filter[i]);
getchar();
f = 0;
while (1)
{
memset(result, 0, sizeof(int) * NUM2);
for (i = 0; i < NUM2; ++i)
fscanf(fp, "%d", result + i);
if (result[0] == 0)
break;
i = 0;
while ((i < NUM2) && (filter[i] == result[i++]));
if (i == NUM2)
continue;
for (i = 0; i < NUM2-1; ++i)
fprintf(fp1, "%d ", result[i]);
fprintf(fp1, "%d\n", result[i]);
}
fclose(fp1);
clear();
system("PAUSE");
}。。\ sum2)
return;
fp1 = fopen(FILE2, " ++i)
{
f = 0;
for (j = 0, j, f;操作成功完成!结果已保存到result;
init();
traverse(0);
int a[NUM2];
printf("););).txt文件;n");
printf("请输入和值范围:");
scanf("
s = 1。\n" j < cnt;, a[i]), &sum1, &sum2);
getchar(), result;
exit(-1);
}
}
void asort(int *a, sizeof(int) * s).txt"
#define NUM1 8
#define NUM2 5
FILE *fp = NULL;
int * sum = NULL
全部回答
- 1楼网友:哭不代表软弱
- 2021-03-21 09:43
不知道 20 选 5,是要组合还是排列
1 2 3 4 5 和 1 2 3 5 4 是一种还是两种?
- 2楼网友:桑稚给你看
- 2021-03-21 09:25
明天考了,现在还问P
- 3楼网友:孤伤未赏
- 2021-03-21 08:43
是 #include "mem.h", 梦想窗外大侠的程序你好好研究一下吧,人家真的是高手。
- 4楼网友:孤伤未赏
- 2021-03-21 07:28
我说下我的思路
先生成顺序的数列
然后符合排除条件的重新赋值0
输出的时候判断是不是0
是0的话不输出也不计数
- 5楼网友:社会水太深
- 2021-03-21 06:38
#47,a[i1],a[i5]);
test++,k=0,i=0;%d"stdlib.h" 19;
main()
{
int n= 5;* HELLO.C -- Hello;
for(i1 = 0; i1 < 20-k-4; i1++)
for(i2 = i1+1; i2 < 20-k-3; i2++)
for(i3 = i2+1; i3 < 20-k-2; i3++)
for(i4 = i3+1; i4 < 20-k-1; i4++)
for(i5 = i4+1; i5 < 20-k; i5++)
{
s = a[i1]+a[i2]+a[i3]+a[i4]+a[i5];conio;,&n,test=0;
for(i = 0; i<20;
}
}
if(test == 0)
printf("!\n" j <20 ; j++)
{
if(a[j]==0)
for(i = j;stdio,%d,%d;n");
while(1)
{
scanf(" i< i++)
a[i] = i+1,%d"
}
/= 0)
break;n";
a[temp-1] = 0, world */
#include "
getch(),a[i3],a[i4]; i++)
a[i]=a[i+1];
}
,a[20]={0},&m).h"
#include ".h"
#include "
if(temp <,%d,%d\
printf("qing shu ru tichude shu:\,m = 100;
if(s <= m && s>=n )
{
printf("%d;
for(j = 0;,&temp),i3,i4,j=0,i1,i2;*把数组中0去掉*/,a[i2],i5,s,temp;
k++;no number;n");
scanf("%d;
printf("qing shu ru fan wei:\)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯