设计:625的方根是25,所以x,y,z最大值是25(不考虑负数情况)
设定一个数组变量max[4], max[0]保存x+y+z的最大值,max[1]-max[3]保存此最大数的x,y,z值。
程序:#include
#include
intmain(){
intx,y,z;
intmax[4]={0,0,0,0};
for(x=0;x<=25;x++){
for(y=0;y<=25;y++){
for(z=0;z<=25;z++){
if(x*x+y*y+z*z==625){
if(x+y+z>max[0]){
max[0]=x+y+z;
max[1]=x;
max[2]=y;
max[3]=z;
}
}
}
}
}
printf("Themaxx+y+z=%d,x=%d,y=%d,z=%d",max[0],max[1],max[2],max[3]);
return0;
}
//--------------------
改进一下,减少运算次数
#include
#include
intmain(){
intx,y,z;
intmax[4]={0,0,0,0};
intt,s=0;
for(x=0;x<=25;x++){
for(y=0;y<=25;y++){
for(z=0;z<=25;z++){
t=x*x+y*y+z*z;
s++;
if(t==625){
if(x+y+z>max[0]){
max[0]=x+y+z;
max[1]=x;
max[2]=y;
max[3]=z;
}
}elseif(t>625)//减少运算次数
break;
}
}
}
printf("Themaxx+y+z=%d,x=%d,y=%d,z=%d",max[0],max[1],max[2],max[3]);
printf("运算次数:%d",s);
return0;
}
c语言程序设计多数求最大值 C语言编程问题存在三个整数 使x²+y²+z²=625 求x+y+z的最大值。这是大一C语言实验书的习题 请不要用过于复杂的算法语句...