2024/4/21
#include<stdio.h>
void f(double a,double b,double c,double *max){
*max=a;
int arr[3]={a,b,c};
for(int i=0;i<3;i++){
if(*max<arr[i]) *max=arr[i];
}
}
int main(){
double a=0.0,b=0.0,c=0.0;
double max_1=0.0,max_2=0.0,max_3=0.0;
double m=0.0;
scanf("%lf%lf%lf",&a,&b,&c);
f(a,b,c,&max_1);
f(a+b,b,c,&max_2);
f(a,b,b+c,&max_3);
//printf("%.3lf\n%.3lf\n%.3lf\n",max_1,max_2,max_3);
m=((max_1)/((max_2)*(max_3)));
printf("%.3lf",m);
return 0;
}
总结出现的问题:
更改变量类型后忘记更改输入输出格式
容易忘记当子函数中的引用参量要更改时要使用指针
#include<stdio.h>
void f(){
}
int main(){
int num=0;
int flag=0;//记得重置
int count=0;
scanf("%d",&num);
for(int i=2;i<=num;i++){
for(int j=2;j<i;j++){
if(i%j==0) {flag=1;break;}
}
if(flag==0) {count++;}
flag=0;
}
printf("%d",count);
return 0;
}
总结出现的问题:
没有及时将flag归零,使其在下一次循环中难以正确运行