#includeint main(){double x,y;scanf("%lf", &x);y = x;if (x >= 1 && x < 10)y = x - 1;if (x >= 10)y = 3 * x - 11;printf("y=%.2lf", y);return 0;
}
⭐ 海伦公式求面积
⭐ getchar() 吃掉输入缓冲区的换行符
#include
#includeint main(){double x1,y1,x2,y2,x3,y3,tmp,p,primeter,area;scanf("%lf,%lf", &x1,&y1);getchar();//吃掉换行符scanf("%lf,%lf", &x2, &y2);getchar();scanf("%lf,%lf", &x3, &y3);double a = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));double b = sqrt((x3 - x2)*(x3 - x2) + (y3 - y2)*(y3 - y2));double c = sqrt((x3 - x1)*(x3 - x1) + (y3 - y1)*(y3 - y1));// 判断是否构成三角形(任意两边之和大于第三边) 并且 每条边都不能为 0if (a + c > b && a + b >c && b + c > a && a && b && c){primeter = a + b + c;p = primeter / 2;area = sqrt(p*(p - a)*(p - b)*(p - c));printf("primeter=%.2lf,area=%.2lf", primeter, area);return 0;//输出完提前返回结束 main 函数}printf("Impossible");return 0;
}
⭐ case:里边要break 不然就会继续走下一个 case (当然可以利用)
#include
#includeint main(){int m;scanf("%d", &m);switch (m){case 2:case 3:case 4:printf("Spring");break;case 5:case 6:case 7:printf("Summer");break;case 8:case 9:case 10:printf("Autumn");break;case 11:case 12:case 1:printf("Winter");break;default:printf("Error");}return 0;
}
⭐ 统一输出变量 c
#includeint main(){int n;scanf("%d", &n);char c;if (n % 5 == 0 && n % 7 == 0)c = 'A';else if (n % 5 == 0)c = 'B';else if (n % 7 == 0)c = 'C';elsec = 'D';printf("%c",c);return 0;
}
⭐ 闰年( 模 4 == 0 并且 模 100 != 0 )或者(模 400 == 0)
⭐ C语言 非0为真,布尔变量转int,真为1,假为0
#includeint main(){int year,leap;//leap为0,不是闰年;leap为1,是闰年scanf("%d", &year);leap = year % 4 == 0 && year % 100 || year % 400 == 0;if (leap)printf("yes");else printf("no");return 0;
}
⭐ 特判平闰年的二月就好
#includeint judgeyear(int year){int flag = 0;//平年返回0if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)flag = 1;//闰年返回1return flag;
}int main(){int year, month, day;int days[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };int flag_1 = 0;scanf("%d%d%d", &year, &month, &day);//判断输入的合法性if (day > 0 && month != 2 && day <= days[month] && month > 0 && month <= 12)flag_1 = 1;if (month == 2){if (day > 0 && day <= days[month] + judgeyear(year))flag_1 = 1;}if (flag_1)printf("yes");else printf("no");return 0;
}
⭐ 提示:3 月 3 日 并不用加上 3 月份的 天数,只需算 1 2 月的天数 + 3 即可
#includeint judgeyear(int year){int flag = 0;//平年返回0if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)flag = 1;//闰年返回1return flag;
}int main(){int year, month, day;int dayNumber = 0;scanf("%d%d%d", &year, &month, &day);month -= 1;//月份减一,天数==当前月前面所有月的天数和 + 日数switch (month){case 12:dayNumber += 31;case 11:dayNumber += 30;case 10:dayNumber += 31;case 9:dayNumber += 30;case 8:dayNumber += 31;case 7:dayNumber += 31;case 6:dayNumber += 30;case 5:dayNumber += 31;case 4:dayNumber += 30;case 3:dayNumber += 31;//3月的情况,请填写多行代码case 2:dayNumber += (28+judgeyear(year));//2月的情况,请填写一行代码case 1:dayNumber += 31;//1月的情况,请填写多行代码break;default:printf("Input error!");}printf("%d", dayNumber+day);return 0;
}
⭐ break;
#includeint judgeyear(int year){int flag = 0;//平年返回0if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)flag = 1;//闰年返回1return flag;
}int main(){int year, month, day;int dayNumber = 365;scanf("%d%d%d", &year, &month, &day);if(judgeyear(year)){dayNumber = 366;}switch (month){case 1:dayNumber -= 31;case 2:dayNumber -= 28 + judgeyear(year);case 3:dayNumber -= 31;case 4:dayNumber -= 30;case 5:dayNumber -= 31;case 6:dayNumber -= 30;case 7:dayNumber -= 31;case 8:dayNumber -= 31;case 9:dayNumber -= 30;case 10:dayNumber -= 31;case 11:dayNumber -= 30;case 12:dayNumber -= 31;break;default:printf("Input error!");}printf("%d", dayNumber + day);return 0;
}
⭐ 递推(数据范围小)
#includeint main(void)
{int year, month, day, Feb, sum;scanf("%d%d%d", &year, &month, &day);if ((day>31) || (day<1)){printf("input error!");return;}if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){Feb = 29;}else { Feb = 28; }//printf("%d\n", Feb);switch (month){case 1: sum = 31;break;case 2: if (day > Feb){printf("input error\n ");return 0;}elsesum = 31 + Feb; break;case 3:sum = 31 + Feb + day; break;case 4: sum = 62 + Feb + day; break;case 5: sum = 92 + Feb + day; break;case 6: sum = 123 + Feb + day; break;case 7: sum = 153 + Feb + day; break;case 8: sum = 184 + Feb + day; break;case 9: sum = 215 + Feb + day; break;case 10: sum = 245 + Feb + day; break;case 11: sum = 276 + Feb + day; break;case 12: sum = 306 + Feb + day; break;defult:printf("input error\n ");}printf("%d", sum);return 0;}
⭐ for 循环 变量 i 枚举的是月份
#includeint main(){int month_day[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };int year, month, day;int i;scanf("%d%d%d", &year, &month, &day);if (month<0 || month>12)printf("date error");else{for (i = 1; iday = day + month_day[i];if (i == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0))day++;}}printf("%d", day);return 0;
}
#includeint main(){int year, month, day, week,i;int month_day[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };scanf("%d%d%d", &year, &month, &day);scanf("%d", &week);//输入当年元旦是星期几if (month<0 || month>12)printf("date error");else{for (i = 1; i//填写多行代码,用switch结构,//或者else – if结构,或者两者结合,确定每月的天数day = day + month_day[i];if (i == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0))day++;}}printf("%d", (day + week - 1) % 7);}
⭐ 目标:如何上学校作业平台做实验(非 GDPU wifi)
① 安装 Easy Connect 客户端(可先跳第二步,不行再回来安装)
😋 官网下载传送门
😋 奶牛下载传送门
② 广药官网右上导航栏入口
③ 登录(完)