1.把硬幣分成兩部分,得到兩個重量;
2.從重的拿壹個,那是真金白銀的重量;
3.把光40幣和真幣壹個壹個對比,光的話就是假幣。
(註意三元表達式中的問號和if語句相當於天平的使用)
# include & ltstdio.h & gt
void main() {
int a[80]={2},s,s1=s2=0,I,* p;
a[51]= 1;/*假設第52張是假幣。
for(I = 0;我& lt40;i++) {
s 1+= a[I];
S2+= a[I+40];
}
p =(s 1 & gt;s2)?& ampa[40]:& amp;a[0];
s =(s 1 & gt;s2)?a[0]:a[40];
for(I = 0;我& lt40;i++,p++)if(* p & lt;s)斷開;
Printf("假幣為%d張,重量為% d \ n ",p-&;a[0]+1,* p);
}