gpt4 book ai didi

c - 程序的数组迭代

转载 作者:行者123 更新时间:2023-11-30 19:20:40 25 4
gpt4 key购买 nike

我有一个项目,但我的老师还没有教我们有关数组的知识。我们需要输出与一个数字与另一个数字的比较相对应的 =<> 符号。 IE 主号码是 1234,我输入 2315,输出将是 <<<>,其中符号不是按数字顺序排列,而是按 =、<、> 顺序排列。

我有一个想法,即使用一个数组,然后使用一些代码来读出整个数组并对它应用规则,但是我不知道如何实现它。我已经在谷歌上搜索了一段时间,但没有发现任何真正有帮助的东西。

只是为了让您知道该程序的步骤远不止这些,所有这些我都已经完成了,我只是无法弄清楚这部分。我不仅仅想要答案,我只是想要有人为我指明正确的方向。

谢谢

编辑::示例 1234 和 2315 是不好的示例。为了在不泄露太多问题的情况下给出更明确的想法,所以我有工作要做,就是按照从最小到最大或从最大到最小的顺序列出 num1 和 num2(对应于 1234 和 2315),然后进行比较。另一个例子是 4751 是主号码,我输入 1294。输出将是 ==<>。感谢到目前为止大家的帮助。我学到了很多东西。

EDIT2::谢谢大家的帮助。我学到了很多。至少在我上传代码之前我不想再提交任何内容。

最佳答案

据您所知,您已经成功完成了大部分作业,并为您提供了代码,您必须完成并理解代码,才能弄清楚并使其适应您的需求,这将起到什么作用你要。事实上,您不必按照与数字本身相同的顺序输出符号,这使得这变得更容易。

#include <stdio.h>

int main(void) {
int num1 = 1234;
int num2 = 2315;

int lt = 0, gt = 0, eq = 0;

while ( num1 > 0 && num2 > 0 ) {
int op1 = num1 % 10;
int op2 = num2 % 10;

if ( op1 < op2 ) {
++lt;
} else if ( op1 > op2 ) {
++gt;
} else {
++eq;
}
num1 /= 10;
num2 /= 10;
}

for ( int i = 0; i < eq; ++i ) {
putchar('=');
}

for ( int i = 0; i < lt; ++i ) {
putchar('<');
}

for ( int i = 0; i < gt; ++i ) {
putchar('>');
}

putchar('\n');

return 0;
}

和输出:

paul@MacBook:~/Documents/src/scratch$ ./eq
<<<>
paul@MacBook:~/Documents/src/scratch$

关于c - 程序的数组迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21789757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com