L. 线性插值法
#include<stdio.h>
int main()
{
double a, fa, b, fb, c;
scanf("%lf %lf %lf %lf %lf", &a, &fa, &b, &fb, &c);
double k = (fb - fa) / (b - a);
double d = fa - k * a;
printf("%.3lf", k * c + d);
}
M. 贷款计算
#include<stdio.h>
#include<math.h>
int main()
{
double d, p, r;
scanf("%lf %lf %lf", &d, &p, &r);
double res = log2(p / (p - d * r / 100)) / log2(1 + r / 100);
printf("%.0lf", round(res));
return 0;
}
N. LeapYearConclusion
#include<stdio.h>
int main()
{
int year;
scanf("%d", &year);
if(year % 4 == 0)
{
if(year % 100 == 0)
{
if(year % 400 == 0)
printf("1");
else
printf("0");
return 0;
}
printf("1");
}
else
printf("0");
return 0;
}
O. 大小写转换
#include<stdio.h>
int main()
{
char c;
scanf("%c", &c);
c += A - a;
printf("%c", c);
return 0;
}
P. 判断奇偶
法一 直接输出位运算 模运算结果
#include<stdio.h>
int main()
{
unsigned long long n;
scanf("%llu", &n);
printf("%d", n & 1 );
// 也可以改成 printf("%d", n % 2 );
return 0;
}
法二 三目运算符(虽然有点多此一举)
#include<stdio.h>
int main()
{
unsigned long long n;
scanf("%llu", &n);
printf(n & 1 ? "1" : "0");
return 0;
// 也可以用switch
}
法三 switch
#include<stdio.h>
int main()
{
unsigned long long n;
scanf("%llu", &n);
switch(n % 2)
{
case 1: printf("1"); break;
case 0: printf("0"); break;
}
return 0;
}
Q. ASCII
#include<stdio.h>
int main()
{
char c;
scanf("%c", &c);
int ascii = c;
if(c >= a && c <= z)
c += A - a;
printf("%d %d", ascii, c - A + 1);
return 0;
}