C++ 要从for循环得出的数字中取出其中最大值,怎么办?
发布网友
发布时间:2024-01-24 04:40
我来回答
共5个回答
热心网友
时间:2024-01-24 09:32
循环条件从大到小就可以了啊
#include <stdio.h>
void main()
{
int A,B,C,maxA,maxB;
for(A=9;A>=0;A--)
for(B=9;B>=0;B--)
{
C=30000+A*1000+400+B*10+5;
if(C/178<193)
{
printf("A=%d,B=%d\n",A,B);
break;//求出一个就中止循环。这个肯定是最大的了
}
}
}
如果你想只输出一个的话就这样:
#include <stdio.h>
void main()
{
int A,B,C,maxA,maxB;
for(A=9;A>=0;A--)
for(B=9;B>=0;B--)
{
C=30000+A*1000+400+B*10+5;
if(C/178<193)
{
printf("A=%d,B=%d\n",A,B);
goto END;//求出一个就中止循环。这个肯定是最大的了
}
}
END:
return ;
}
热心网友
时间:2024-01-24 09:33
程序中把每次循环的A B值都输出了。
应将maxA与maxB利用上,保存当前最大值。
#include <stdio.h>
void main()
{
int A,B,C,maxA,maxB;
maxA=maxB=0;
for(A=0;A<10;A++){
for(B=0;B<10;B++) {
C=30000+A*1000+400+B*10+5;
if(C/178<193){
if(A>maxA) maxA = A;
if(B>maxB) maxB = B;
}
}
}
printf("A=%d,B=%d\n",maxA,maxB);
}
应该可以了,不过这种算法比较费时。
热心网友
时间:2024-01-24 09:33
稍稍修改了一下。
#include <stdio.h>
void main()
{
int A, B, C, maxA = 0, maxB = 0;
for (A = 0; A < 10; A++)
for (B = 0; B < 10; B++)
{ C = 30405 + A * 1000 + B * 10;
if (C / 178 < 193)
{
printf("A=%d,B=%d\n", A, B);
if (A > maxA) { maxA = A; }
if (B > maxB) { maxB = B; }
}
}
printf("maxA=%d maxB=%d\n", maxA, maxB);
}
热心网友
时间:2024-01-24 09:34
int main(){
int A, B, C, maxA = 0, maxB = 0;
for (A = 0; A < 10; A++)
for (B = 0; B < 10; B++)
{
C = 30405 + A * 1000 + B * 10;
if (C / 178 < 193)
{
printf("A=%d,B=%d\n", A, B);
if (A >= maxA)
{
maxA = A;
if (B > maxB) { maxB = B; }
}
}
}
printf("*******************************************\n");
printf("maxA=%d maxB=%d\n", maxA, maxB);
system("pause");
}
热心网友
时间:2024-01-24 09:34
#include <stdio.h>
void main()
{
int A,B,C,maxA,maxB;
for(A=0;A<10;A++)
{
for(B=0;B<10;B++)
{
C=30000+A*1000+400+B*10+5;
if(C/178<193)
{
maxA=A;
maxB=B;
}
}
}
printf("maxA=%d,maxB=%d\n",maxA,maxB);
}