A. c语言 取数游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int EachDiff(int a[],int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(a[i]==a[j])
return 0;
else
return 1;
}
int JudgeA(int a[],int b[],int n)
{
int i,result=0;
for(i=0;i<n;i++)
{
if(a[i]==b[i]) result++;
}
return result;
}
int JudgeB(int a[],int b[],int n)
{
int i,j,result=0;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i]==b[j]&&i!=j)
return result;
}
void CreateNum(int a[],int n)
{
int i;
srand(time(0));
do
{
for(i=0;i<n;i++)a[i]=rand()%10;
}while(!EachDiff(a,n));
}
int JudgeInput(int a[],int n)
{
int i;
if(!EachDiff(a,n))
return 0;
else
for(i=0;i<n;i++)
if(a[i]>9||a[i]<0)
return 0;
else
return 1;
}
int main()
{
//system();
int a[4],b[4],i;
int fth=1;
printf("作者 Dante -- 谢煜东");
printf("\t\t 欢迎来到猜数字游戏\n\n");
printf(" 计算机想好了一个4位无重复数字,首位可以为零。\n 例如:0913是可以的,3502也是可以的,6787不可以。\n");
printf(" 现在您想办法把这个数字猜出来。\n\n");
printf(" 每猜一个数字,计算机会根据这个数字给出几A几B:\n 其中A前面的数字表示位置正确的数的个数,\n 而B前的数字表示数字正确而位置不对的数的个数。\n\n");
//printf(" 如正确答案为5234,而猜的人猜5346,则是1A2B。\n 其中有一个5的位置对了,记为1A;\n 而3和4这两个数字对了,而位置没对,因此记为2B;\n 合起来就是1A2B。\n\n");
printf(" 记住!1:你共有8次机会,2:输入的数字不能重复。\n\n");
printf(" 当出现\"第几次:\"字样并等待的时候,您就可以输入你要猜测的四位数字,\n 输入完之后回车确认。祝您开心\n\n 明白之后任意键游戏正式开始!");
getchar();
CreateNum(a,4);
system("cls");
printf("\t\t现在可以输入你要猜的四位数字了,输入之后回车确认。\n");
while(fth<=8)
{
int t=1000;
printf("第%d次: ",fth);
scanf("%d",amp;b[0]);
for(i=0;i<3;i++)
{
b[i+1]=b[i]%t;
b[i]=b[i]/t;
t/=10;
}
for(i=0;i<4;i++)
if(JudgeInput(b,4)==0)
{
printf("您的输入有问题,请重新输入\n");
continue;
}
if(JudgeA(a,b,4)==4)
{
printf("\t结果: 答对了!好聪明!");
system("pause");
//return;
}
printf("\t结果:您有%d个数字和位置都对了,有%d个数字对了而位置没对\n",JudgeA(a,b,4),JudgeB(a,b,4));
fth++;
}
printf("\n很遗憾。正确答案是:");
for(i=0;i<4;i++)
printf("%d",a[i]);
printf("下次再玩吧!88\n");
system("pause");
return 0;
}
另外,团IDC网上有许多产品团购,便宜有口碑
B. 急!关于C语言的一题题目中的问题
1,在 include 文件夹下 打开 stdlib.h
就可以看到定义了一些具体的内容
是头文件
2.初始化随机数产生器,
例如:
randomize();
a = rand();
还有种办法,rand omize这样看,就知道和rand函数有关,是随机数
大部分函数都可以这样理解的
3.随机数的选取范围从0-99把,100个数
说实在的我这个也不太明白
c很多东西都要记的,我学的时候我老师就教我记下来,还要上机不准看书
C. C语言 取数问题(无法正常跳出)
#include<stdio.h>
#define max 100
int main()
{
int i,j,a[max],left=0,right=0;
for(i=0;i<max;i++)
{
scanf("%d",&a[i]);
if(getchar()=='\n') //输入完成后直接按‘ENTER’键就好,不要按空格后在按。换行符只能用'\n'来表示,'13'很让人费解.
break;
}
if(i%2==1)
{
for(j=0;j<i;j=j+2)
left+=a[j];
for(j=1;j<i;j=j+2)
right+=a[j];
if(left>right)
printf("first left\n");
else if(left<right)
printf("first right\n");
else
printf("peace!");
}
else
printf("error!输入的数字个数必须为偶数!\n");
return 0;
}
D. c语言编程问题 如何在屏幕上输入两个数,显示这两个数的和
你好,程序如下:
#include<stdio.h>
int
stu(int
a,int
b)
{
return
(a+b)*(a+b)*(a+b);
}
void
main()
{
int
a,b,lifang;
printf("输入两个整数:\n");
scanf("%d%d",&a,&b);
lifang=stu(a,b);
printf("这两个整数的和的立方为:
%d\n",lifang);
}
有疑问提出。
望采纳。
E. 求两个整数中的较大者 C语言程序只显示两个整数中的后者,哪里出错了
if(x>y)z=y;
else z=y;
写错了,都是等于y,太粗心喽。
F. C语言高手进
看不懂,数学问题
G. 取数游戏
晕,你连编程的语言都不知道,那还怎么教你呢?
只能说:用pascal,动态规划算法。
H. c语言编的程序。如果是数字就输出数字,我输入个位数时,一切正常,输入两位数及以上是只显示一个数
因为char是字符型的,只能接收键盘上的一个按键,你按下多个按键也只会接收第一个。
I. 求一段C语言程序
for
里面的意思是
i
从0开始,到CNT结束,没次循环值加一,j的初始值是-1
循环里面的2句意思是
j每次都取反,
sum=sum+j*
yy[i];/*这句为什么请看运算符详解*/
一次是加yy[i],一次是减yy[i],因为j一会儿等于1,一会儿等于-1
J. 猜数游戏c语言
#include <stdio.h>
#include <stdlib.h>
main()
{
int n,t,g;
char c;
while(1)
{
n = 1 + rand() % 100;
printf("请猜一个1~100的数字:");
scanf("%d",&g);
t=1;
while(g!=n)
{
if(t==10) break;
if(g<n) printf("猜小了哦\n");
else printf("猜大了哦\n");
scanf("%d",&g);
t++;
}
if(t==1) printf("太棒了,一次就猜对了!\n");
else if(t>2 && t<5) printf("猜了%d次,也不错哦。\n",t);
else if(t>4 && t<8) printf("猜了%d次,还可以\n",t);
else if(t==8 || t==9) printf("猜了%d次才对,你乱猜的吧\n",t);
else if(t==10) printf("怎么猜了10次还不对啊,算了,猜下一个吧。\n");
if((c=getchar())=='q') break;
}
}