作者s9471050 (我的上帝)
看板Programming
标题[讨论] 小小的中奖程式
时间Mon Nov 26 23:51:25 2007
题目---
写一个程式,
利用随机产生六个乐透号码和一个特别号 (0<x<45)
-->Input
<6 个整数 >
--> Output
< 有中奖的号码 >
*****************************
-->Sample Input
11, 25, 37, 9, 12, 31
-->Sample Output
25, 37, 31
*****************************
提示--
使用函式库time与srand、rand()两个函式来取出乱数,
并控制好输出值的范围,再与输入的数字进行比较。
然後
关於一个程式的问题...
程式码如下
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n1[7],n2[6],i,j; //设变数n1为开奖号码,n2为使用者所选择号码
srand((unsigned)time(NULL)); //重新选择乱数种子数
for(j=0;j<7;j++) //取7个乱数,乱数范围1~44
{
n1[j]=rand()%44+1;
if(n1[j]==n1[j-1])
{
for(j=0;j<7;j++)
{
n1[j]=rand()%44+1;
}
}
}
printf("请输入六个不同乐透号码(1~44):\n");
for(i=0;i<6;i++) //读取使用者输入的六个乐透号码
{
printf("第%d个号码:",i+1);
scanf("%d",&n2[i]);
}
printf("\n");
printf("本期开奖号码:");
for(j=0;j<7;j++) //印出本期开奖七个号码(含特别号)
{
printf("%d ",n1[j]);
}
printf("\n");
printf("中奖号码:");
for(j=0;j<7;j++) //从开奖号码中找出中奖号码
{
for(i=0;i<6;i++)
{
if(n1[j]==n2[i])
printf("%d ",n2[i]);
}
}
printf("\n");
system("PAUSE");
return 0;
}
**************************************************************
请问有办法不用到if就写出来吗???
***************************************************************
不知道有没有违反板规...
第一次在这里po文.......
--
【C party】!!写程式全民运动~~
http://www.wretch.cc/blog/Cparty
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.126.172.79
1F:推 buganini:可以啊 回圈控制里面都有隐含着判断 221.169.71.109 11/27 00:11
2F:→ buganini:或着用 && || 运算子的特性去做也可以 221.169.71.109 11/27 00:12
3F:→ buganini:n1[j]==n2[i] && printf("%d",n2[i]); 221.169.71.109 11/27 00:13
4F:推 qerter:程式缩排是个好习惯 140.127.220.14 11/27 12:32