L. 线性插值法
输入
a
,
f
(
a
)
,
b
,
f
(
b
)
,
c
a,f(a),b,f(b),c
a,f(a),b,f(b),c根据线性插值法计算
f
(
c
)
f(c)
f(c)的值。
输入数据保证 a<c<b
#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. 贷款计算
购房者从银行贷了一笔款d ,准备每月还款额为p ,月利率为r% ,计算几个月能还清。
#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
nput an integer representing the year of a date, conclude if the year is a leap year.
yes - 1
no - 0
#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
输出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;
}