直接上代碼
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define Num 10
//函式的宣告
int backNumber();
int search(int n);
int doYouWant();
//主函式
int main(int argc, char *argv[]) {
int m = 0;
int k, i;
int num[Num];
//回圈10次 保留每一次的次數
do{
//接識訓傳值,并將隨機產生的數賦值給n
int n = backNumber();
//將猜測入放進用戶猜測函式中 并將猜測次數回傳
num[m ++] = search(n);
// 將用戶是否繼續玩的結果進行回傳判斷
k = doYouWant();
if (k == 2){
break;
}
}while (m < 10);
int max = num[0];
int min = num[0];
int j = 0;
int l = 0;
//便利陣列 找到最大值最小值 并保存輸出
for (i = 0 ; i < m ; i ++){
if (max < num[i]){
j = i;
max = num[i];
}
if (min > num[i]){
l = i;
min = num[i];
}
}
printf("you best score from %d is %d\n", l, num[l]);
printf("you worng score from %d is %d\n", j, num[j]);
return 0;
}
//產生亂數
int backNumber(){
//產生亂數為1-100;
int result = rand()%100 + 1;
//回傳亂數
return result;
}
//比對函式 查看用戶輸入是否正確
int search(int n){
int m, count = 0, k;
do{
//用戶輸入數字
printf("please input number \n");
scanf("%d", &m);
if (m > n){
// 輸入結果比猜測數大
printf("you guess big \n");
} else if (m < n){
// 輸入結果比猜測數小
printf("you guess small \n");
} else{
// 輸入結果與猜測數相等
printf("you guess right \n");
break;
}
count ++;
//控制只能輸10次
}while(count < 10);
//回傳傳入陣列中保存起來
return count;
}
//詢問用戶是否要繼續玩
int doYouWant(){
int n;
printf("Do you want replay \n");
printf("yes : 1 \n");
printf("no : 2 \n");
scanf("%d", &n);
//回傳判斷值n
return n;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298189.html
標籤:其他
