①. 自動產(chǎn)生1--100之間的隨機數(shù)
②.猜數(shù)字:猜對了,恭喜就,游戲結(jié)束 猜錯了,會告訴猜到了,還是猜小了,繼續(xù)猜,知道猜 對為止
③.游戲一直玩除非退出游戲。
#define _CRT_SECURE_NO_WARNINGS
#include#include//為了使用rand
#include//為了使用time
//解析:上來就要玩游戲,所以采用do while結(jié)構(gòu)直接運行游戲
//首先打印游戲界面菜單
void menu()
{
printf("*************************\n");
printf("***** 1. paly ******\n");
printf("***** 0. exit ******\n");
printf("*************************\n");
}
void game()
{
//猜數(shù)字游戲的實現(xiàn)
//1. 生成隨機數(shù)
//rand函數(shù)返回了一個0--32767之間的一個數(shù)字 但數(shù)字不夠隨機
//時間 -- 時間戳
int ret = rand()%100+1;//為了產(chǎn)生1--100個隨機數(shù),%100,%100的余數(shù)為1--99,然后+1范圍為1--100
//printf("隨機數(shù):%d\n", ret);
//2. 猜數(shù)字
int guess = 0;
while (1)
{
printf("請輸入所猜數(shù)字:");
scanf("%d", &guess);
if (guess< ret)
{
printf("猜小了\n");
}
else if (guess >ret)
{
printf("猜大了\n");
}
else
{
printf("恭喜你,猜對了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//為了更隨機 ()里的數(shù)為隨機值 才會出來隨機數(shù) 所以用時間戳
//time函數(shù)傳空值 time函數(shù)的返回值強制類型轉(zhuǎn)化為unsigned int time函數(shù)的使用需要引用time.h
//srand在rand之前調(diào)用 但隨機數(shù)起點的設(shè)置只需要調(diào)用一次
do
{
menu();//打印菜單
printf("請選擇:");
scanf("%d", &input);
switch (input)
{
case 1:
//printf("猜數(shù)字\n");//測試用
game();
break;
case 0:
printf("退出游戲\n");
break;
default:
printf("選擇錯誤,重新選擇\n");
break;
}
}while (input);//input作為判斷的依據(jù),當input為0時 為假退出循環(huán) 輸入其他數(shù)為真 持續(xù)循環(huán)
return 0;
}
switch語句中default子句可以放在任意位置
switch語句中case后的表達式只能是整型常量表達式
switch語句中case表達式不要求順序
F11逐語句
F12逐過程
3. 對三個數(shù)從大到小排列//練習(xí) 三個數(shù)從大到小排列
#define _CRT_SECURE_NO_WARNINGS
#includeint main()
{
int a = 0;
int b = 0;
int c = 0;
//輸入
scanf("%d%d%d", &a, &b, &c);
//調(diào)整順序
if (a< b)
{
int tmp = a;//tmp相當于空瓶 用于轉(zhuǎn)接 暫時存放
a = b;
b = tmp;
}
if (a< c)
{
int tmp = a;
a = c;
c = tmp;
}
if (b< c)
{
int tmp = b;
b = c;
c = tmp;
}
//輸出大到小
printf("%d %d %d\n", a,b,c);
return 0;
}
4.打印1--100之間3的倍數(shù)//寫一個代碼打印1--100之間所有3的倍數(shù)的數(shù)字
int main()
{
int i = 0;
//for (i = 1; i<= 100; i++)
//{
// //判斷i是否為3的倍數(shù)
// if (i % 3 == 0)
// printf("3的倍數(shù)有:%d\n", i);
//}
//第二種
for (i = 3; i<= 100; i += 3)
printf("3的倍數(shù)有:%d\n", i);
return 0;
}
5.給定2個數(shù),求這兩個數(shù)的大公約數(shù)給定2個數(shù),求這兩個數(shù)的大公約數(shù)
//
//int main()
//{
// int m = 0;
// int n = 0;
// scanf("%d%d", &m, &n);//24 18
// int max = 0;
// //假設(shè)大公約數(shù)就是m和n的較小值
// if (m >n)
// max = n;
// else
// max = m;
// while (1)
// {
// if (m % max == 0 && n % max == 0)
// {
// printf("大公約數(shù)是:%d\n",max);
// break;
// }
// max--;
// }
// return 0;
//}
輾轉(zhuǎn)相除法
eg m:24 n:18 m%n=6 m=18 n=6 此時 m%n=0 t=6
//int main()
//{
// int m = 0;
// int n = 0;
// scanf("%d%d", &m, &n);//24 18
// int t = 0;
// while (t = m%n)
// {
// m = n;
// n = t;
// }
// printf("大公約數(shù):%d\n", n);
//
// return 0;
//}
第一次t=18%24=18 此時m=24 n=18 第二次t=18%24=6 此時m=18 n=6 第三次m%n=18%6=0
6. 打印1000--2000年之間的閏年//打印1000--2000年之間的閏年
int main()
{
int y = 0;
int count = 0;
for (y = 1000; y<= 2000; y++)
{
//判斷y是不是閏年
//1.被4整除,不能被100整除是閏年
//2.并且能被400整除為閏年
if (y % 4 == 0)
{
if (y % 100 != 0)
{
printf("%d ",y);
count++;
}
if(y % 400 ==0)
{
printf("%d", y);
count++;
}
}
}
printf("\n count =%d\n", count);
return 0;
}
代碼優(yōu)化
int main()
{
int y = 0;
int count = 0;
for (y = 1000; y<= 2000; y++)
{
//判斷y是不是閏年
//1.被4整除,不能被100整除是閏年
//2.被400整除為閏年
if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
{
printf("%d ", y);
count++;
}
}
printf("\n count =%d\n", count);
return 0;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當前標題:2.6C語言學(xué)習(xí)循環(huán)練習(xí)-創(chuàng)新互聯(lián)
當前路徑:http://chinadenli.net/article10/decpdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、App設(shè)計、微信小程序、微信公眾號、企業(yè)建站、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容