网站设计联系,男士手表网站,万网域名注册,wordpress配置邮件算法竞赛入门【码蹄集新手村600题】(MT1020-1040#xff09; 目录MT1021 %f格式符MT1022 小数、指数MT1023 进制乱炖MT1024 进制形式MT1025 八、十六进制MT1026 合并MT1027 整数逆序MT1028 四位数逆序MT1029 位数MT1030 最大公约数MT1031 最简分数MT1032 最小公倍数MT1033 多项… 算法竞赛入门【码蹄集新手村600题】(MT1020-1040 目录MT1021 %f格式符MT1022 小数、指数MT1023 进制乱炖MT1024 进制形式MT1025 八、十六进制MT1026 合并MT1027 整数逆序MT1028 四位数逆序MT1029 位数MT1030 最大公约数MT1031 最简分数MT1032 最小公倍数MT1033 多项式计算MT1034 偶数平方MT1035 奇数平方MT1036 和的立方MT1037 绝对值MT1038 交换输出MT1039 偶数位MT1040 奇数位 目录
MT1021 %f格式符
1题目 输入一个实数第一次按实型输出第二次保留2位小数输出第三次保留3位小数但最小列宽8列输出空格分隔。 格式
输入格式
输入实型输出格式
输出实型空格分隔。样例1
输入
31331.14345435输出
31331.143454 31331.14 31331.143 2参考代码
#includestdio.h
int main()
{double x;scanf(%lf, x);printf(%lf %.2lf %8.3lf, x, x, x);return 0;
}MT1022 小数、指数
1题目 输出3.1415926、12345678.123456789的小数、指数形式。 格式
输入格式
无输出格式
输出为实型空格分隔样例1
输入
无输出
3.141593 3.141593e000
12345678.123457 1.234568e0072参考代码
#includestdio.h
int count(int x)
{int count 0;while (x / 10 ! 0){x x / 10;count;}return count;
}int main()
{double x1 3.1415926;double x2 12345678.123456789;double x3 x2;while ((int)x3 ! 1){x3 x3 / 10;}printf(%lf %.6lfe%0*d\n, x1, x1, 3, count(x1));printf(%lf %.6lfe%0*d\n, x2, x3, 3, count(x2));return 0;
}MT1023 进制乱炖
1题目 输入一个正整数输出它的十进制形式、八进制形式、十六进制形式(小写)、无符号的十进制形式空格分隔。 格式
输入格式:
输入整型空格分隔。输出格式:
输出整型空格分隔。样例1
输入格式:
33输出格式:
33 41 21 332参考代码
#includestdio.h
int main()
{int x;scanf(%d, x);printf(%d %o %x %u, x, x, x, x);return 0;
}MT1024 进制形式
1题目 分别输出128、456789的十进制、八进制、十六进制字母大写数据形式。 格式
输入格式:无输出格式:
输出为整型空格分隔。样例1
输入格式:
无输出格式:
128 200 80
456789 1574125 6F8552参考代码
#includestdio.h
int main()
{printf(%d %o %X\n, 128, 128, 128);printf(%d %o %X, 456789, 456789, 456789);return 0;
}MT1025 八、十六进制
1题目 输出202、117、70、130的十进制、八进制、十六进制数据形式结果为0ddddd或0Xddddd。 格式
输入格式
无输出格式
输出为整型空格分隔。每个数的输出占一行。样例1
输入
无输出
202 0312 0XCA
117 0165 0X75
70 0106 0X46
130 0202 0X82 2参考代码
#includestdio.h
int main()
{ int x1 202, x2 117, x3 70, x4 130;printf(%d %#o %#X\n, x1, x1, x1);printf(%d %#o %#X\n, x2, x2, x2);printf(%d %#o %#X\n, x3, x3, x3);printf(%d %#o %#X\n, x4, x4, x4);return 0;
}MT1026 合并
1题目 已知a、b、c是一个十进制数的百位、十位、个位求这个十进制数。 格式
输入格式
输入为正整型a、b、c空格分隔输出格式
输出为整型样例1
输入
1 3 4输出
134备注
注意这里所有整数的范围应该使用32位整数存储如在c/c下应使用int。2参考代码
#includestdio.h
int main()
{ int a, b, c;scanf(%d %d %d, a, b, c);printf(%d\n, 100*a10*bc);return 0;
}MT1027 整数逆序
1题目 编写一个程序要求输入一个两位数的数字然后逆序输出数字。不考虑不合理的输入或是溢出等特殊情况。 格式
输入格式
输入正整数输出格式
输出为逆序后的字符串样例1
输入
28输出
822参考代码
#includestdio.h
int main()
{ int num, a, b;scanf(%d, num);a num / 10;b num % 10;printf(%d%d, b, a);return 0;
}MT1028 四位数逆序
1题目 将一个四位数正整数(如1278逆序(如8721输出。不考虑负数等特殊情况。 格式
输入格式:
输入为整型输出格式:
输出为逆序后的字符串样例1
输入格式:
1234输出格式:
43212参考代码
#includestdio.h
int main()
{int x, a, b, c, d;scanf(%d, x);a x % 10;b x % 100 / 10;c x / 100 % 10;d x / 1000;printf(%d%d%d%d, a, b, c, d);return 0;
}MT1029 位数
1题目 编写一个程序计算一个数字包含多少位数。您可以假定该数字不超过四位数。本题不考虑负数或者其他特殊情况。 格式
输入格式:
输入为整型输出格式:
输出为整型样例1
输入格式:
87输出格式:
22参考代码
#includestdio.h
int main()
{int x, count 1;scanf(%d, x);for (int i0;i4;i){if (x / 10 ! 0){x / 10;count;}}printf(%d, count);return 0;
}MT1030 最大公约数
1题目 请编写一个简单程序输入2个整数输出他们的最大公约数。不考虑负数0或者其他特殊情况。 格式
输入格式:
输入为整型空格分隔输出格式:
输出为整型样例1
输入格式:3 5输出格式:12参考代码
#includestdio.h
int main()
{int x, y, num;scanf(%d %d, x, y);for (int i1;ix iy;i){if (x % i 0 y % i 0){num i;}}printf(%d\n, num);return 0;
}MT1031 最简分数
1题目 编写一个程序输入一个分数然后输出它的最简分数。不考虑负数0或者其他特殊情况。 格式
输入格式:
输入为整型输出格式:输出为整型样例1
输入格式:
3/6输出格式:2/12参考代码
#includestdio.h
int main()
{int x, y, num, i;scanf(%d/%d, x, y);for (i1;ix i y;i){if (x % i 0 y % i 0){num i;}}printf(%d/%d\n, x/num, y/num);return 0;
}MT1032 最小公倍数
1题目 请编写一个简单程序输入2个整数输出他们的小公倍数。不考虑负数0或者其他特殊情况。 格式
输入格式:
输入为整型空格分隔输出格式:
输出为整型样例1
输入格式:3 5输出格式:
152参考代码
#includestdio.h
int main()
{int x, y, num;scanf(%d %d, x, y);printf(%d\n, x*y);return 0;
}MT1033 多项式计算
1题目 计算公式 格式
输入格式
输入为整型x输出格式
输出为整型样例1
输入
1输出
102参考代码
#includestdio.h
int main()
{ int x;scanf(%d, x);printf(%d\n, x*x*x*x*x*x - 2*x*x*x*x*x 3*x*x*x*x - 5*x*x 6*x 7);return 0;
}MT1034 偶数平方
1题目 编写一个程序输入数字n然后打印1和n之间的哪些是偶数平方的数。不考虑负数0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。 格式
输入格式:
输入为整型输出格式:
输出为整型每个字数占一行样例1
输入格式:100输出格式:
4
16
36
64
1002参考代码
#includestdio.h
int main()
{int n, i;scanf(%d, n);for (i1;in/10;i){if (i % 2 0 i * i n){printf(%d\n, i * i);}}return 0;
}1题目 格式 样例1 2参考代码
#includestdio.h
int main()
{int n, i;scanf(%d, n);for (i1;in/10;i){if (i % 2 1 i * i n){printf(%d\n, i*i);}}return 0;
}MT1035 奇数平方
1题目 编写一个程序输入数字n然后打印1和n之间的那些是奇数平方的数。不考虑负数0或者其他特殊情况。不考虑溢出或者超出整型范围的情况。 格式
输入格式:
输入为整型输出格式:
输出为整型每个字数占一行样例1
输入格式:100输出格式:
1
9
25
49
81备注
n大于等于12参考代码
#includestdio.h
int main()
{int n, i;scanf(%d, n);for (i1;in/10;i){if (i % 2 1 i * i n){printf(%d\n, i*i);}}return 0;
}MT1036 和的立方
1题目 输入为整数xy求x、y之和的立方。不考虑溢出等特殊情况。 格式
输入格式
输入为整型空格分隔输出格式
输出为整型样例1
输入
1 3输出
642参考代码
#includestdio.h
int main()
{ int x, y;scanf(%d %d, x, y);printf(%d\n, (x y) * (x y) * (x y));return 0;
}MT1037 绝对值
1题目 输入数字a并计算a的绝对值。不考虑不合理的输入或是溢出等特殊情况。 格式
输入格式
输入实型数字a输出格式
输出a的绝对值输出为实型样例1
输入
-5.1输出
5.1000002参考代码
#includestdio.h
#includemath.h
int main()
{ double a;scanf(%lf, a);printf(%lf\n, sqrt(a*a));return 0;
}MT1038 交换输出
1题目 请编写一个简单程序输入两个整数a,b交换他们的值并输出。 格式
输入格式:输入为int空格分隔输出格式:输出为int空格分隔样例1
输入格式:3 5输出格式:5 32参考代码
#includestdio.h
int main()
{int a, b, temp;scanf(%d %d, a, b);temp a;a b;b temp;printf(%d %d, a, b);return 0;
}MT1039 偶数位
1题目 输入一个数字N把偶数位置的所有数更改为0。比如30二进制形式是11110,替换后是01010则输出对应的十进制整数10。最右边是第0位从右向左依次为0位1位等等。不考虑非法输入等特殊情况。 格式
输入格式:
输入为整型输出格式:
输出为整型样例1
输入格式:
30输出格式:
102参考代码
#includestdio.h
int main()
{ int N;scanf(%d, N);int ID 0, ch 1, temp N;while (temp){if (ID % 2 0 temp % 2 1){N N - ch;}temp temp / 2;ch 2 * ch;ID;}printf(%d\n, N);return 0;
}MT1040 奇数位
1题目 输入一个数字N把奇数位置的所有数更改为0。比如30二进制形式是11110替换后是10100则输出对应的十进制整数20。最右边是第0位从右向左依次为0位1位等等。不考虑非法输入等特殊情况。 格式
输入格式:
输入为整型输出格式:
输出为整型样例1
输入格式:30输出格式:202参考代码
#includestdio.h
int main()
{ int N;scanf(%d, N);int ID 0, ch 1, temp N;while(temp){if (ID % 2 1 temp % 2 1){N N -ch;}temp / 2;ch * 2;ID;}printf(%d\n,N);return 0;
}