闃呰涓嬪垪绋嬪簭璇存槑鍜孋浠g爜锛屽~鍏?n)澶勩€?/p>銆愯鏄庛€?/p>骞煎効鍥湁n(<20)涓瀛愬洿鎴愪竴鍦堝垎绯栨灉銆傝€佸笀鍏堥殢鏈哄湴鍙戠粰姣忎釜瀛╁瓙鑻ュ共
闃呰涓嬪垪绋嬪簭璇存槑鍜孋浠g爜锛屽~鍏?n)澶勩€?/p>
銆愯鏄庛€?/p>
骞煎効鍥湁n(<20)涓瀛愬洿鎴愪竴鍦堝垎绯栨灉銆傝€佸笀鍏堥殢鏈哄湴鍙戠粰姣忎釜瀛╁瓙鑻ュ共棰楃硸鏋滐紝
鐒跺悗鎸変互涓嬭鍒欒皟鏁达細姣忎釜瀛╁瓙鍚屾椂灏嗚嚜宸辨墜涓殑绯栨灉鍒嗕竴鍗婄粰鍧愬湪浠栧彸杈圭殑灏忔湅鍙嬨€傚鍏辨湁8涓瀛愶紝鍒欑1涓皢鍘熸湁鐨勪竴鍗婂垎缁欑2涓紝绗?涓皢鍘熸湁鐨勪竴鍗婂垎缁欑3涓紝鈥︹€︼紝绗?涓皢鍘熸湁鐨勪竴鍗婂垎缁欑1涓紝杩欐牱鐨勫钩鍒嗗姩浣滃悓鏃惰繘琛屻€傝嫢骞冲垎鍓嶏紝鏌愪釜瀛╁瓙鎵嬩腑鐨勭硸鏋滄槸濂囨暟棰楋紝鍒欏繀椤讳粠鑰佸笀閭i噷瑕佷竴棰楋紝浣夸粬鐨勭硸鏋滄暟鍙樻垚鍋舵暟銆傚皬瀛╀汉鏁板拰姣忎釜灏忓鐨勫垵濮嬬硸鏋滄暟鐢遍敭鐩樿緭鍏ャ€備笅闈㈢殑绋嬪簭鍙眰鍑虹粡杩囧灏戞涓婅堪杩欐牱鐨勮皟鏁达紝浣挎瘡涓瀛愭墜涓殑绯栨灉鈥旀牱澶氾紝璋冩暣缁撴潫鏃舵瘡涓瀛愭湁绯栨灉澶氬皯棰楋紝鍦ㄨ皟鏁磋繃绋嬩腑鑰佸笀鍙堟柊澧炲彂浜嗗灏戦绯栨灉銆?/p>
銆愮▼搴忋€?/p>
include define N 20 int allEqual (int a[ ]锛宨nt n) /*妫€鏌ユ瘡涓瀛愭墜涓殑绯栨灉鏄惁涓€鏍峰*/ { iht i; for(i=1; in; i++) if(a[O]!=a[i]) return O; return 1; } int a[N], b[N]; void main ( ) { int i, n, addk, loopc; printf("Enter n((20)\n"); scanf("%d", &n); printf ("Enter data\n"); for( i=O; i(n; i++) scanf("%d", &a[i]); addk=O;(1); while (2){ /*骞冲垎寰幆*/ loopc++; for ( i=O; i ( n; i++){ /*涓轰竴娆¤皟鏁翠綔鍑嗗*/ if(a[i]%2) { a[i]++;(3); } if (in-1) b[i+1]=a[i]/2; else(4) a[i]/=2; } for(i=O; in; i++)(5); /*瀹屾垚涓€娆¤皟鏁?/ } printf("璋冩暣%d娆n", loopc); printf("姣忎釜瀛╁瓙鏈?d棰楃硸鏋淺n", a[0]); printf("璋冩暣杩囩▼涓柊澧炲彂%d棰楃硸鏋溿€俓n", addk); }
参考答案: