1 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
整理下你的意思:五個(gè)整型數(shù)值(1-15),后邊的數(shù)值依次比前面的大,存在并且只有一組相鄰的數(shù)值差相等;
簡化修正你的代碼(for循環(huán),減去不必要的循環(huán);c_b=c-b,你寫成了c-a;
因?yàn)樗膫€(gè)數(shù)值差你都定義了變量,的確不符合使用循環(huán),使用循環(huán)的話可以定義成數(shù)組;這里用相等的個(gè)數(shù)==1進(jìn)行判斷)
int main()
{
int a, b, c, d, e, i = 0;
int b_a, c_b, d_c, e_d=0;
int equalNum=0;
for (a = 1; a <= 11; a++)
for (b = a+1; b <= 12; b++)
for (c = b+1; c <= 13; c++)
for (d = c+1; d <= 14; d++)
for (e = d+1; e <= 15; e++)
{
b_a=b-a;
c_b=c-b;
d_c=d-c;
e_d=e-d;
/*在這里幫我加上一段邏輯控制,用遞歸算一算下面的6種關(guān)系,把6種情況里面的符合條件 的 a,b,c ,d,e的值全部打印出來。比如:b-a=c-b,等等*/
equalNum=0;
if(b_a==c_b) equalNum++;
if(b_a==d_c) equalNum++;
if(b_a==e_d) equalNum++;
if(c_b==d_c) equalNum++;
if(d_c==e_d) equalNum++;
if(equalNum==1){
printf("A:%2d B:%2d C:%2d D:%2d E:%2d ", a, b, c, d, e);
printf("\n");
i++;
}
}
printf("一共%d種\n", i);
}
運(yùn)行結(jié)果如下:
- 1 回答
- 0 關(guān)注
- 776 瀏覽
添加回答
舉報(bào)