日记

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归零,使其在下一次循环中难以正确运行
posted @ 2024-04-21 13:25  pengfu_xin  阅读(8)  评论(0编辑  收藏  举报