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;
}
}