大家我被这个问题难住了 大一新生

难住了,现在是大一。请各位看下这个,完全没有思路,应该如何去解决呢?

img

两种方法
第一种是用数组,
让计算机随机一个一位数字,连续四次,存入到数组,用户输入也是同样的道理,
判断有无相等的数字,就从用户输入的数组里面,两层循环判断,a[ 0 ]==a[ 0 ],a[ 0 ]==a[ 1 ] .......a[ 1 ]==a[ 0 ],a[ 1 ]==a[ 1 ]这样, 相等用个变量加1,
判断位置,两个数组一一比较,一层循环就够了,a[ i ]==a[ j ] 这样,相等用个变量加1,
再输出这两个变量,外面大循环条件N次的继续下一次
第一种是用乘,模运算,这个还是太麻烦
计算机随机一个四位数字,用户输入也是同样的道理,分别存到变量中,这两个变量不要改变数值了,不然后面找不到,再要两个变量存入这两个四位数字,比如a,b
判断有无相等的数字,外循环,计算机随机的数,for(i=1000;i<0;i=i/10) a / i 就是第一个数,内循环用户的数字,for(j=1000;j<0;j=j/10) b / j 就是第一个数,判断第一个数是否相等,然后b=b % j ,一直循环,内循环结束就是计算机的数的第一位和用户的数的所有位都判断了一遍,不过这时b的值应该变了,要重新把用户的数赋给b,接着又开始从 i ,相等也是用一个变量记起来
判断位置,也是一个循环就够了,和前面差不多,还省了一步,你要是采用这种方法,不会的话,我再仔细给你说
其实还可以两种合起来用,
就是题目要求一定要输入四位,那么输入你可以采用第二种方法,运算的时候,把数字像第二种一样,把每个数字拆出来放到数组里面,然后就用第一种去判断,这样会好一些
其实我不说那么多,程序都写出来了,但主要是你的作业而不是我的,要把思路给你,你自己去写,程序有问题再另说