其实我也没有直接的方法,但你如果只是想得到任意的结果,而不是把这个程序整合到其它地方的话,我可以提供给你一个迂回的方法。
先把程序改写成:
main(int argc,char *argv[])
{ int a,b,c,d,e,f,g
/*printf("qing shu ru he zhi a= \n")
scanf("%d",&a) */
a=atoi(argv[1])
for(b=1b<29b++)
for(c=b+1c<30c++)
for(d=c+1d<31d++)
for(e=d+1e<32e++)
for(f=e+1f<33f++)
for(g=f+1g<34g++)
if(a==b+c+d+e+f+g)
printf("b=%d,c=%d,d=%d,e=%d,f=%d,g=%d\n",b,c,d,e,f,g)
getch()
}
运行的时候时候打:程序名 和值>output.txt 再回车
这样就会在程序所在的文件夹里生成一个output.txt文件
程序名及和值视你的情况而定,假设文件名是hezhi.exe,要求的和值是120,就写:hezhi 120>output.txt
之后生成的output.txt文件里的内容就是你要的东西啦~
截图:
/*** 随机选取红色球
*
* 获取1~33其中一个数
*
* 0 <= Math.random < 1
*/
private int randomOneRedValue() {
int randomValue = (int) (Math.random() * 33 + 1)
return randomValue
}
选取蓝色球号码方法:
/*** 随机选取蓝色球号码
*
* 获取1~16的数值
*
* @return
*/
private int randomOneBlueValue() {
int randomValue = (int) (Math.random() * 15 + 1)
return randomValue
}
测试:
public class Test1 {public static void main(String[] arg) {
Test1 localTest1 = new Test1()
// 双色球 :红色球号码 + 蓝色球号码
// 六个红色球和一个蓝色球号码
// 红色球号码从1~33中选择
// 蓝色球号码从1~16中选择
// 一等奖:七个号码相符(六个红色号码和一个蓝色球号码)(红色球号码顺序不限,下同)
// 二等奖:六个红色球号码相符
// 三等奖:五个红色球号码,或者四个红色球号码和一个蓝色球号码相符;
// 四等奖:五个红色球号码,或者三个红色球号码和一个蓝色球号码相符;
// 五等奖:四个红色球号码,或者三个红色球号码和一个蓝色球号码相符;
// 六等奖:一个蓝色球号码相符(有误红色球号码相符均可)
// 例如:红色球号码 01 06 13 19 24 28 蓝色球号码 16
System.out.println("开始出奖")
// 定义双色球数组,大小为7
String[] values = new String[7]
for (int i = 0 i < 7 i++) {
if (i == 6) {
int blueValue = localTest1.randomOneBlueValue()
if (blueValue < 10) {
values[i] = "0" + blueValue
} else {
values[i] = String.valueOf(blueValue)
}
} else {
int redValue = localTest1.randomOneRedValue()
if (redValue < 10) {
values[i] = "0" + redValue
} else {
values[i] = String.valueOf(redValue)
}
}
}
System.out.println()
System.out.println("出奖结束")
System.out.println()
System.out.print("双色球开奖号码:")
// 打印双色球号码
for (String value : values) {
System.out.print(" " + value)
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)