C语言程序设计,2015-2016下学期考查试卷
班级—————— 学号—————— 姓名 ——————
一、请如实表述C语言上课情况,并提出合理建议;
二、请用VC6开发环境完成猜数游戏的编程(6月24日下午,由学委收集提交给我)
猜数游戏
计算机生成一个4位数的整数,每个数字都不一样。如3264
用户输入一个4位数,如1234
比较这俩个数有多少个数字位置相同,有多少个数字位置不同 如这俩个数有俩个数字位置相同(2、4)。一个数字位置不同(3)。
当有4个数字位置都相同时,说明猜对了。程序结束,否则继续猜
如:
被猜数是3264(计算机出题)
第一次猜 5789 (用户输入)
系统提示: 0个数字位置相同,0个数字位置不同
第二次猜。1234
系统提示 : 2个数字位置相同,一个数字位置不同
第三次猜 1264
系统提示:3个数字位置相同,0个数字位置不同
第四次猜 2264
系统提示:3个数字位置相同,0个数字位置不同
第五次猜 3264
系统提示:4个数字位置相同,0个数字位置不同 恭喜你猜对了,你一共猜了5次。程序结束
//被猜数由键盘输入,一般应对输入进行合规性检查。
//本程序的被猜数ans为系统指定,85分以上的优秀编程要求实现ans值由函数生成,且要求每个数字不一样 如不能生成类似2326(2重复出现了),提示,使用系统库函数随机函数
#include
#define N 4
void fenjie(int,int*,int);
int main()
{
int answer[N],guess[N],ans=3264; //其它变量自行添加
fenjie(ans,answer,N); //把被猜数3264进行分解,放在数组answer内。
//完成本函数
}
//输入一个整数b,一个数组给p,一个整数表示数组大小n
//无输出
//功能:把整数b进行分解,每一位数字放在数组里每个元素内。如b为3264,则p0为4,p1为6,p2为2,p3为3;
void fenjie( int b,int *p,int n)
{
int j;
for(j=0;j
{
*p++=b%10;
b=b/10;
}
return ;
}
//比较函数 void bijiao( int *a,int *b, in int n,int *c);
//输入被比较的数组a,b。 a,b数组的大小n,比较结果放在数组c里。
//功能:比较a和b,位置和值相同的个数放在数组c[0]
// 数值相同,但位置不同的个数放在数组c[1],n为数组a,b的大小
void bijiao( int *a,int *b, int n,int *c)
{
//完成本函数
}
//其它自定义函数,自行添加。