#includestdio.h
目前成都創(chuàng)新互聯(lián)公司已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管維護、企業(yè)網(wǎng)站設(shè)計、樂至網(wǎng)站維護等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
int Common(int m,int n) //求最大公約數(shù)
{
int t = m%n;
while(t) //歐幾里得算法求最大公約數(shù)
{
m = n;
n = t;
t = m%n;
}
return n;
}
int Common1(int m,int n) //求最小公倍數(shù)
{
return m*n/Common(m,n);
}
int main()
{
int m,n;
printf("請輸入兩個整數(shù)\n");
scanf("%d%d",m,n);
printf("最大公約數(shù)為:%d\n",Common(m,n));
printf("最小公倍數(shù)為:%d\n",Common1(m,n));
return 0;
}
定義和聲明可以分開的。先聲明兩個函數(shù),然后再后面再寫函數(shù)體就可以了。比如
void?A();
void?B();
void?A()
{
B();
return;
}
void?B()
{
A();
return;
}
首先我們先點開C-Free5.0然后新建一個你猜.c的空白頁面,輸入基本語句。然后保存。
然后我們要解決的問題是如何生成一個隨即數(shù)值。
#includestdio.h
#includestdlib.h //為了獲得隨機數(shù)
#includetime.h //獲取時間
main()
{
int a,b;
srand(time(NULL));
a=1+(rand()%100);//獲得一個100以內(nèi)的隨機數(shù)
printf("%d",a);
}
rand()是“偽隨機數(shù)”產(chǎn)生函數(shù),注意,是“偽隨機數(shù)”而不是“隨機數(shù)”,如果每次srand()給的參數(shù)值相同,那么rand()產(chǎn)生的序列就是相同的。time(NULL)返回的是從某年的1月1日0時0分0秒開始到系統(tǒng)當(dāng)前時間所經(jīng)過的秒數(shù),所以如果不是同一秒鐘以內(nèi)多次運行程序的話,time(NULL)的返回值一定是不同的,用這樣的方式來產(chǎn)生相對比較隨機的序列。
第三步自然是,開始猜的過程,我們這里用的是while 循環(huán) 然后用if語句判斷是否正確,如果正確就用break;跳出循環(huán)。當(dāng)然為了嚴重能不能退出,我們還要作弊下,先看到a的值,我們需要輸出下a的值在while循環(huán)之前。
while(a)
{
printf("請輸入你心中想的那個數(shù): ");
scanf("%d",b);
if(a==b)
break; }
printf("恭喜你猜對了!\n");
好,上面的程序基本功能能用,但是程序整體不是很美觀,缺少提示語句,所以我們加上提示語句。
if(ba)
printf("你輸入的數(shù)值太大。\n");
if(ba)
printf("你輸入的數(shù)值太小。\n");
這部分代碼用if語句來實現(xiàn)。
好了我們現(xiàn)在將完整的代碼寫一邊然后進行調(diào)試下代碼是否如我們所想的那樣。
#includestdio.h
#includestdlib.h //為了獲得隨機數(shù)
#includetime.h //獲取時間
main()
{
int a,b;
srand(time(NULL));
a=1+(rand()%100);//獲得一個100以內(nèi)的隨機數(shù)
while(a)
{
printf("請輸入你心中想的那個數(shù): ");
scanf("%d",b);
if(a==b)
{
printf("恭喜你猜對了!\n");
break; }
if(ba)
printf("你輸入的數(shù)值太大。\n");
if(ba)
printf("你輸入的數(shù)值太小。\n");
}
getch();
}
6
好的如上圖我們可以看到我們的程序很完美,然后編譯后會出現(xiàn)一個exe的程序,這個程序就是我們的小猜數(shù)字游戲,但是我們發(fā)現(xiàn)每次等我們猜對后后,就會閃退,我們在程序里面寫一個 getch();放在最后沒就好了,再重新編譯下。
在Win32程序中,可以使用多線程來實現(xiàn),但是那個比較復(fù)雜,不太容易在短時間內(nèi)掌握。
#include stdio.h
int is(int number);
int main(void)
{ int m,n,i;
printf("m(=1)=");
scanf("%d",m);
printf("n(=1000)=");
scanf("%d",n);
for(i=m;i=n;i++)
if(is(i)) printf("%-5d",i);
printf("\n");
}
int is(int number)
{ int s=0,x,a;
if(number==0) return 1;
for(x=number;x!=0;x/=10)
{ a=x%10;
s+=a*a*a;
}
return s==number;
}