MT1094 AP数列
(1)题目
输入AP数列(正整数)的前两项A1、A2和n。输出序列的第n项。不考虑负数,0或者其他特殊情况。
格式
输入格式: 输入为整型,空格分隔 输出格式: 输出为整型
样例1
输入格式: 2 3 4 输出格式: 5
(2)参考代码
#include<stdio.h> int main() { int A1, A2, n, d; scanf("%d %d %d", &A1, &A2, &n); d = A2 - A1; printf("%d", A1 + (n - 1) * d); return 0; }
MT1095 GP数列
(1)题目
输入GP数列(正整数)的前两项A1、A2和n。输出序列的第n项。不考虑负数,0或者其他特殊情况。
格式
输入格式: 输入为整型,空格分隔 输出格式: 输出为整型
样例1
输入格式: 1 3 4 输出格式: 27
(2)参考代码
#include<stdio.h> #include<math.h> int main() { int A1, A2, n; double q; scanf("%d %d %d", &A1, &A2, &n); q = A2 / A1; printf("%d", (int)(A1 * pow(q, n-1))); return 0; }
MT1096 三角形斜边
(1)题目
假定直角三角形的斜边是固定长度的,输入三角形的最大可能面积,输出斜边的长度。比如最大面积为25的直角三角形,斜边的长度是10。不考虑负数,0或者其他特殊情况。不考虑溢出或者超出数据范围的情况。
格式
输入格式: 输入为整型 输出格式: 输出为整型
样例1
输入: 21 输出: 9
(2)参考代码
#include<stdio.h> #include<math.h> int main() { double s; scanf("%lf", &s); printf("%d\n", (int)sqrt(4 * s)); //printf("%d\n", sqrt(4 * s)); //输出结果为1 return 0; }
MT1097 小码哥的生日
(1)题目
小码哥过生日,妈妈给她买了一个很大的蛋糕,小码哥开始给朋友们分蛋糕,如果切n刀,最多可以分给多少小朋友呢?每个朋友一块蛋糕。不考虑负数,0或者其他特殊情况。n从键盘输入。
格式
输入格式: 输入为整型 输出格式: 输出为整型
样例1
输入: 4 输出: 11
(2)参考代码
#include<stdio.h> int main() { int N; scanf("%d", &N); printf("%d", N * (N + 1) / 2 + 1); return 0; }
MT1098 完全平方数
(1)题目
输入一个正整数n,检查它是否为完全平方数。不考虑0,负数或者其他特殊情况。
格式
输入格式: 输入为整型 输出格式: 输出为YES或者NO
样例1
输入格式: 35 输出格式: NO
(2)参考代码
#include<stdio.h> int main() { int n, i; scanf("%d", &n); for (i=1;i<=n;i++) { if (i * i == n) { printf("YES"); return 0; } } printf("NO"); return 0; }
MT1099 个人所得税
(1)题目
将个人所得税算法定义为宏。个人所得税计算公式为︰应纳税所得额sx税率–速算扣除数。不考虑不合理的输入或是溢出等特殊情况。税率如下表:
格式
输入格式: 输入为整型 输出格式: 输出为整型
样例1
输入格式: 500 输出格式: 25
(2)参考代码
#include<stdio.h> #define tax(s, rate, k) ((s)*(rate)-(k)) int main() { int s, k; double rate; scanf("%d", &s); if (s<=500) { rate = 0.05; k = 0; printf("%d", (int)tax(s, rate, k)); } else if (500<s && s<=2000) { rate = 0.10; k = 25; printf("%d", (int)tax(s, rate, k)); } else if (2000<s && s<=5000) { rate = 0.15; k = 125; printf("%d", (int)tax(s, rate, k)); } else if (5000<s && s<=20000) { rate = 0.20; k = 375; printf("%d", (int)tax(s, rate, k)); } else if (20000<s && s<=40000) { rate = 0.25; k = 1375; printf("%d", (int)tax(s, rate, k)); } else if (40000<s && s<=60000) { rate = 0.30; k = 3375; printf("%d", (int)tax(s, rate, k)); } else if (60000<s && s<=80000) { rate = 0.35; k = 6375; printf("%d", (int)tax(s, rate, k)); } else if (80000<s && s<=100000) { rate = 0.40; k = 10375; printf("%d", (int)tax(s, rate, k)); } else { rate = 0.45; k = 15375; printf("%d", (int)tax(s, rate, k)); } return 0; }
MT1100 带参数的宏
(1)题目
请编写一个简单程序,把f(x)=(x*x)定义成带参数的宏,计算f(9)/f(6)并输出结果。
格式
输入格式: 无 输出格式: 输出为实型
样例1
输入: 无 输出: 2.250000
(2)参考代码
#include<stdio.h> #define f(x) ((x)*(x)) int main() { printf("%lf\n", f(9.0)/f(6.0)); return 0; }