12.02
阿新 • • 發佈:2019-01-14
1.完成猜數字遊戲。
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include <Windows.h> #include <time.h> int menu() { printf("*****************************************************************************\n"); printf("--------------------------1.開始遊戲-----------------------------------------\n"); printf("--------------------------2.結束遊戲-----------------------------------------\n"); printf("*****************************************************************************\n"); printf("請輸入你的選擇:"); int chocie; scanf("%d", &chocie); return chocie; } void game() { srand(time(0)); int i; int result = rand() % 100 + 1; while (1) { printf("請輸入[1-100]裡的一個數:"); scanf("%d", &i); if (i > result) { printf("高了!\n"); } else if (i < result) { printf("低了!\n"); } else { printf("恭喜你猜對了!\n"); break; } } } int main() { while (1) { int choice = menu(); if (choice == 1) { game(); } if (choice==2) { printf("結束遊戲\n"); break; } else { printf("輸入錯誤請重新輸入\n"); } } system("pause"); }
2.寫程式碼可以在整型有序陣列中查詢想要的數字,
找到了返回下標,找不到返回-1.(折半查詢)
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int a[11] = { 0,1,2,3,4,5,6,7,8,9,10 }; int left = 0; int right = sizeof(a) / sizeof(a[0]) - 1; int find; int mid = 0; printf("請輸入你要查詢的數[0-10]:\n"); scanf("%d", &find); while (left<=right) { mid = (left + right) / 2; if(a[mid]>find) { right = mid - 1; } else if (a[mid]<find) { left = mid + 1; } else break; } while (1) { if (left <= right) { printf("找到了,下標是%d\n", mid); break; } else if(find>10) { printf("-1!\n"); break; } } system("pause"); }
3.編寫程式碼模擬三次密碼輸入的場景。
最多能輸入三次密碼,密碼正確,提示“登入成功”,密碼錯誤,
可以重新輸入,最多輸入三次。三次均錯,則提示退出程式。
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include <string.h > int main() { int i; for (i = 0; i < 3; i++) { printf("請輸入密碼:"); char password[1024] = { 0 }; scanf("%s", password); if (strcmp(password, "123456") == 0) { break; } else printf("密碼錯誤請重新輸入:\n"); } if(i<3) { printf("登入成功!\n"); } else { printf("登入失敗!請確認你的密碼是否正確!\n"); } system("pause"); }
4.編寫一個程式,可以一直接收鍵盤字元,
如果是小寫字元就輸出對應的大寫字元,
如果接收的是大寫字元,就輸出對應的小寫字元,
如果是數字不輸出。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int ch;
printf("請輸入一個字元:\n");
while ((ch = getchar()) != EOF)
{
if (ch >= 'a'&&ch <= 'z')
printf("%c\n", ch - 32);
else
if (ch >= 'A'&&ch <= 'Z')
printf("%c\n", ch + 32);
else
if (ch >= '0'&&ch <= '9');
else;
}
printf("\n");
system("pause");
}