请输第1个数字:1 请输第2个数字:13 1 13 2 12 3 11 4 10 5 9 6 8 7请按任意键继续. .
答案:2 悬赏:0
解决时间 2021-03-21 23:29
- 提问者网友:暖心后
- 2021-03-21 04:14
要用for循环做,但是我没用明确的思路,希望大神指点一下,上题我输入的1和13,在屏幕打印出1和13之后,再交叉打印他们之间的数,哎,不懂了
最佳答案
- 二级知识专家网友:留下所有热言
- 2021-03-21 05:23
我觉得你的题有点儿问题,因为比如说我想输出5到10之间的数,而数列里有两个5,两个10,无法确定到底是哪两个数之间的数。
我写了个程序,是输入这个数列中相邻的两个数,判断这两个数的位置。供你参考
#include
#include
// 下面是全排列
// 13 1 12 2 11 3 10 4 9 5 8 6 7 7 6 8 5 9 4 10 3 11 2 12 1 13
// 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
// 上面是分成两组后的序号,1对应m,2对应n
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
// 上面是排序的总序号
int main(void)
{
int m, n, m_ran, n_ran;
printf("Type in the first number: ");
scanf("%d", &m);
printf("Type in the second number: ");
scanf("%d", &n);
int m_ini = 14, n_ini = 1;
if(m > n)
{
if(m % 2 == 1 && n % 2 == 1 || m % 2 == 0 && n % 2 == 0)
{
m_ran = (m_ini - m) * 2 - 1;
n_ran = m_ran + 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
else
{
m_ran = m * 2;
n_ran = m_ran + 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
}
else if(m < n)
{
if(m % 2 == 1 && n % 2 == 0 || m % 2 == 0 && n % 2 == 1)
{
m_ran = m * 2;
n_ran = m_ran + 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
else
{
n_ran = n * 2;
m_ran = n_ran - 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
}
else if (m == 7 && n == 7)
{
printf("7(1st) ranks No. 13.\n");
printf("7(2nd) ranks No. 14.\n");
}
else
printf("Your numbers are not sequential or existing in the array.\n");
return 0;
}比如输入5和9,
我写了个程序,是输入这个数列中相邻的两个数,判断这两个数的位置。供你参考
#include
#include
// 下面是全排列
// 13 1 12 2 11 3 10 4 9 5 8 6 7 7 6 8 5 9 4 10 3 11 2 12 1 13
// 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
// 上面是分成两组后的序号,1对应m,2对应n
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
// 上面是排序的总序号
int main(void)
{
int m, n, m_ran, n_ran;
printf("Type in the first number: ");
scanf("%d", &m);
printf("Type in the second number: ");
scanf("%d", &n);
int m_ini = 14, n_ini = 1;
if(m > n)
{
if(m % 2 == 1 && n % 2 == 1 || m % 2 == 0 && n % 2 == 0)
{
m_ran = (m_ini - m) * 2 - 1;
n_ran = m_ran + 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
else
{
m_ran = m * 2;
n_ran = m_ran + 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
}
else if(m < n)
{
if(m % 2 == 1 && n % 2 == 0 || m % 2 == 0 && n % 2 == 1)
{
m_ran = m * 2;
n_ran = m_ran + 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
else
{
n_ran = n * 2;
m_ran = n_ran - 1;
printf("%d ranks No. %d.\n", m, m_ran);
printf("%d ranks No. %d.\n", n, n_ran);
}
}
else if (m == 7 && n == 7)
{
printf("7(1st) ranks No. 13.\n");
printf("7(2nd) ranks No. 14.\n");
}
else
printf("Your numbers are not sequential or existing in the array.\n");
return 0;
}比如输入5和9,
全部回答
- 1楼网友:滚刀废物浮浪人
- 2021-03-21 05:53
藐视这好象是街舞舞步,看起过瘾 lv10_8k=7897612231 3243184977 1896227373 9443994897 7319169444 1416312477 9918621839 9274633181 1623169819 1366392774 4141346797 1632127116 4238937671 1479263237 7793428147 9833991468 9349879638 7877381423 2793233922 2869119637 7977646776 lv11_8k=27924897394 36143823749 82794871273 13443818479 89889832791 36884332739 78899699988 62838499973 93422833633 28418631319 19672134429 68913618789
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯