拼题A520钻石赛

7-1 考试周 (5分)

考试周快到了,浙江大学的电子屏又调皮了…… 本题请你帮小编写一个自动倒计时的程序,对给定的日期(例如“腊八”就对应 8)和倒计时天数(例如电子屏上的“四天之后”就对应 4),自动调整公式里的分母(例如 8/2=4 里面的那个 2)。

输入格式:
输入在一行中给出两个正整数:A 是给定的日期,不超过 30;B 是倒计时天数,不超过 10。

输出格式:
在一行中输出公式 A/X=B,其中 X 是满足等式的数字,输出时保留小数点后 1 位即可。

输入样例:
8 3
输出样例:
8/2.7=3
在这里插入图片描述

#include int main()
{int A, B;scanf("%d %d", &A, &B);double x;x = A * 1.0 / B;printf("%d/%.1lf=%d", A, x, B);return 0;
}

7-2 真的恭喜你 (10分)

当别人告诉你自己考了 x 分的时候,你要回答说:“恭喜你考了 x 分!”比如小明告诉你他考了90分,你就用汉语拼音打出来 gong xi ni kao le 90 fen!。

但是如果小明没考好,比如只考了 20 分,你也“恭喜”人家就不对了。这时候你应该安慰他说:“考了 20 分别泄气!”用汉语拼音写出来就是 kao le 20 fen bie xie qi!。
输入格式:
输入在一行里给出一位小朋友的分数。这个分数是一个 0 到 100 之间的整数。

输出格式:
在一行中输出你对这位小朋友说的话。如果人家考到不低于 90 分,就说 gong xi ni kao le X fen!;如果不到 90 分,就说 kao le X fen bie xie qi!。其中 X 是小朋友输入的分数。

输入样例 1:
95
输出样例 1:
gong xi ni kao le 95 fen!
输入样例 2:
89
输出样例 2:
kao le 89 fen bie xie qi!

#include using namespace std;int main()
{int n;cin >> n;if (n >= 90)cout << "gong xi ni kao le " << n  << " fen!";elsecout << "kao le " << n << " fen bie xie qi!";return 0;
}

7-4 古风A+B (15分)

给定两个绝对值不超过 10^9的整数 A 和 B,计算它们的和 A+B 是非常简单的事,但要将和这个数字按照中国古风从上到下竖着输出,就不是那么简单了吧?

在这里插入图片描述

#include 
#include using namespace std;int main()
{int a, b, c, flag = 0;stack<int> s;cin >> a >> b;c = a + b;if (c < 0){flag = 1;c = c * (-1);}while (c != 0){s.push(c % 10);c /= 10;}if (flag)cout << "-" << endl;while (!s.empty()){cout << s.top() << endl;s. pop();}return 0;
}

7-5 猜近似数字 (15分)

甲想好了一个 n 位数字让乙来猜,只要猜的数字位数正确,至多有 1 位与谜底不同,且不同的数字相差不超过 1,就算猜对了。例如谜底是 67,若乙猜 66、68、77、57,就都算对了;猜 167 就不能算对。

输入格式:
输入首先在第一行给出一个不超过 1000 位数的、最高位不是 0 的正整数,是甲给出的谜底。随后若干行,每行给出一个乙猜的数字,都是最高位不是 0 的正整数。直到出现 -1 表示输入结束,这个数字不要做任何处理。题目保证乙至少猜了一次。

输出格式:
对每一个乙猜的数字,如果猜对了就输出 Yes,否则输出 No。

输入样例:
12345678909876
2345678909876
12345678900876
12345678809876
12345678909888
1234567890987
-1
输出样例:
No
No
Yes
No
No

#include 
#include 
#include using namespace std;int main()
{string s, temp;		//定义string类型方便处理cin >> s;while (cin >> temp &&  temp != "-1")	//读到-1结束{if (s == temp)              //相等{cout << "Yes" << endl;continue;}int count = 0;		//count用来计数不相同字符个数;int d = 0;             //不相同字符间差值for (int i = 0; i < s.length(); i++){if (s[i] != temp[i]){count++;d = abs(s[i] - temp[i]);}if (count > 1)break;}if (count > 1 || d != 1){cout << "No" << endl;continue;}elsecout << "Yes" << endl;}return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部