在VS2013環境下,基礎進階中。。。(5)

1.寫一個猜數字的小遊戲

#include<stdio.h>
#include<windows.h>
#include<time.h>

#pragma warning(disable:4996)

void menu()
{
printf("#####################################\n");
printf("###########    1.PLAY   #############\n");
printf("###########    0.EXIT   #############\n");
printf("#####################################\n");

}

void game()
{
int guss = 0;
int num = rand() % 100 + 1;
//產生一個0~100的隨機數
printf("在0~100之間請猜一個數字:");
scanf("%d",&guss);
while (num != guss)
{
if (num > guss)
{
printf("不好意思,你猜的太小了!\n");
printf("請再猜一次喲(^-^):");
scanf("%d", &guss);
}
else
{
printf("不好意思,你猜的太大了!\n");
printf("請再猜一次喲(^-^):");
scanf("%d", &guss);
}
}
printf("你真的是太棒了!這個數就是:%d\n", num);
printf("遊戲結束\n");

}

int main()
{
srand((unsigned)time(NULL));
//設置一個隨機種子,每次運行都能保證隨機種子不同
int enter = 0;
do
{
menu();
printf("請選擇是否參與遊戲:");
scanf("%d", &enter);
switch (enter)
{
case 1:
game();
break;
case 0:
break;
default:
printf("輸入錯誤!請正確選擇(1/0)");
break;
}
} while (enter);
system("pause");
return 0;

}



2.寫代碼實現在整型有序數組中查找想要的數字,找到了返回下標,找不到返回-1.(折半查找)

#include<stdio.h>
#include<windows.h>
#pragma warning(disable:4996)

int search(int *b,int size,int key)
{
int left = 0;
int right = size-1;
int mid = 0;
while (left <= right)
{
mid = (left + right) / 2;
if (key > b[mid])
{
left = mid + 1;
}
else if (key < b[mid])
{
right = mid - 1;
}
else
{
return mid;
}
}
if (left > right)
{
return -1;
}
}
int main()
{
int num = 0;
int a[10] = { 0 };
printf("請輸入10個有序整型數字(以空格或者回車間隔):\n");
for (int i = 0; i < 10; i++)
{
scanf("%d",&a[i]);
}
printf("請輸入一個數字(我們會告訴你它在數組中的下標):");
scanf("%d",&num);
printf("%d的下標是:%d(如果是-1,則表示這個數據不在數組中)\n", num, search(a, 10, num));
system("pause");
return 0;

}




3..編寫代碼模擬三次密碼輸入的場景。(最多能輸入三次密碼,密碼正確,提示“登錄成功”,密碼錯誤,可以重新輸入,最多輸入三次。三次均錯,則提示退出程序)

#include<stdio.h>
#include<windows.h>

#pragma warning(disable:4996)

#define psw "tyy"

int main()

{
char a[10] = {'\0'};
int times = 3;
for (; times > 0; times--)
{
printf("請輸入密碼:");
gets(a);
if (0 == strcmp(psw, a))
{
break;
}
else
{
printf("密碼輸入錯誤,請重新輸入(還剩%d次機會);",times-1);
}
}
if (0 == times)
{
printf("登錄失敗,賬戶凍結!!\n");
}
else
{
printf("Welcome Home(^_^)\n");
}
system("pause");
return 0;

}




4.編寫一個程序,可以一直接收鍵盤字符,如果是小寫字符就輸出對應的大寫字符,如果接收的是大寫字符,就輸出對應的小寫字符,如果是數字不輸出

#include<stdio.h>
#include<windows.h>

#pragma warning(disable:4996)

int main()
{
int ch = 0;
while ((ch = getchar()) != EOF)
{
if (ch >= 'A' && ch <= 'Z')
{
ch += 32;
putchar(ch);
}
else if (ch >= 'a' && ch <= 'z')
{
ch -= 32;
putchar(ch);
}
}
system("pause");
return 0;

}


發佈了32 篇原創文章 · 獲贊 62 · 訪問量 7835
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章