性别mf是什么意思(性别mf是什么意思网络用语)
想要“小棉袄”的可以看过来了,B超单子的“秘密”,你知道吗?
“重男轻女”时代一去不复返了,现在,很多的家庭更喜欢女儿,除去以后经济上的压力,还更想有一个贴心的“小棉袄”,文文静静,乖乖巧巧的,声音甜甜软软的喊粑粑麻麻的时候,心里真是甜如蜜了……
那么,怎么才能早点知道怀的是不是女宝宝呢?问医生?医生是不会告诉你的。其实,自己看看产检的单子,上面有“秘密”哦,或许就藏着暗示男宝女宝的数据。
我们都知道,现在科技发达,在宝宝4个月后,就可以通过B超来确定是男是女,可受国家政策影响,医生并不会告诉我们性别。可又控制不住内心的好奇,怎么办呢?其实在B超单子上就藏有一些蛛丝马迹,来推测一下自己宝宝是男是女,不但相对来说准确一些,而且也是有一定的科学依据的。赶紧来看看吧!
首先是“XY”的暗示。大家都知道男性染色体是XY,女性则是XX,B超单子上也会出现这两个字母哦,X代表女,Y代表男,如果上面显示X的话,那恭喜你心愿达成了。还有的医院会用MF来标记,据说M代表的male,就是男性的意思;F代表female,就是女性的意思。
其次是看孕囊的数据。在孕早期去做B超时,一般会在单子上看到孕囊大小,孕囊数据如果是4.0cm*4.0cm*2.0cm或4.0cm*3.8cm*1.8cm。可能就是男孩。4.0*3.0*2.0cm或者3.8*3.5*3.0cm就可能是女孩。
最后有一个叫肾盂分离的词,肾盂分离大多数会存在于男宝身上。宝妈不要担心,出现肾盂分离只要不超过10cm,就属于正常范围的。
总觉得B超单子看不懂,现在这样一看,也挺简单的哈,所谓求人不如求已,自己多了解一下,也省得问医生,结果还问不出来。
想要“小棉袄”的可以看过来了,B超单子的“秘密”,你知道吗?
“重男轻女”时代一去不复返了,现在,很多的家庭更喜欢女儿,除去以后经济上的压力,还更想有一个贴心的“小棉袄”,文文静静,乖乖巧巧的,声音甜甜软软的喊粑粑麻麻的时候,心里真是甜如蜜了……
那么,怎么才能早点知道怀的是不是女宝宝呢?问医生?医生是不会告诉你的。其实,自己看看产检的单子,上面有“秘密”哦,或许就藏着暗示男宝女宝的数据。
我们都知道,现在科技发达,在宝宝4个月后,就可以通过B超来确定是男是女,可受国家政策影响,医生并不会告诉我们性别。可又控制不住内心的好奇,怎么办呢?其实在B超单子上就藏有一些蛛丝马迹,来推测一下自己宝宝是男是女,不但相对来说准确一些,而且也是有一定的科学依据的。赶紧来看看吧!
首先是“XY”的暗示。大家都知道男性染色体是XY,女性则是XX,B超单子上也会出现这两个字母哦,X代表女,Y代表男,如果上面显示X的话,那恭喜你心愿达成了。还有的医院会用MF来标记,据说M代表的male,就是男性的意思;F代表female,就是女性的意思。
其次是看孕囊的数据。在孕早期去做B超时,一般会在单子上看到孕囊大小,孕囊数据如果是4.0cm*4.0cm*2.0cm或4.0cm*3.8cm*1.8cm。可能就是男孩。4.0*3.0*2.0cm或者3.8*3.5*3.0cm就可能是女孩。
最后有一个叫肾盂分离的词,肾盂分离大多数会存在于男宝身上。宝妈不要担心,出现肾盂分离只要不超过10cm,就属于正常范围的。
总觉得B超单子看不懂,现在这样一看,也挺简单的哈,所谓求人不如求已,自己多了解一下,也省得问医生,结果还问不出来。
C++初学必练基础题「第四期」
7-30 字符串的冒泡排序 (20 分)题目我们已经知道了将_N_个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的_K_(<N),输出扫描完第_K_遍后的中间结果序列。 输入格式:
❝
输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。
❞
输出格式:
❝
输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。
❞
输入样例:
❝
6 2 best cat east a free day
❞
输出样例:
❝
best a cat day east free
❞
解答#include <iostream>#include <vector>using namespace std;int main(){ int n; int k; cin >> n >> k; vector<string> nums; for (int i = 0; i < n; ++i) { string temp; cin >> temp; nums.push_back(temp); } for (int i = nums.size() - 1; i >= 0 && k > 0; --i) { for (int j = 0; j < i; ++j) { if (nums[j] > nums[j + 1]) { swap(nums[j], nums[j + 1]); } } --k; } for (int i = 0; i < nums.size(); ++i) { cout << nums[i] << endl; } return 0;}
image.png
7-31 字符串循环左移 (20 分)题目输入一个字符串和一个非负整数N,要求将字符串循环左移N次。 输入格式:
❝
输入在第1行中给出一个不超过100个字符长度的、以回车结束的非空字符串;第2行给出非负整数N。
❞
输出格式:
❝
在一行中输出循环左移N次后的字符串。
❞
输入样例:
❝
Hello World! 2
❞
输出样例:
❝
llo World!He
❞
解答#include <iostream>using namespace std;int main(){ string s1; int n; getline(cin, s1); cin >> n; string s2 = s1 + s1; cout << s2.substr(n % s1.length(), s1.length()) << endl; return 0;}
image.png
7-32 说反话-加强版 (20 分)题目给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。 输入格式:
❝
测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
❞
输出格式:
❝
每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。
❞
输入样例:
❝
Hello World Here I Come
❞
输出样例:
❝
Come I Here World Hello
❞
解答#include <iostream>#include <vector>using namespace std;int main(){ string s1; getline(cin, s1); // 最后添加一个空格 s1 += " "; string s2; // 去除最开始的空格 int index = 0; while (s1[index] == ' ') { ++index; } // 得到最开始没有空格的s1 s1 = s1.substr(index, s1.length() - index); vector<string> nums; int preIndex = 0;// 一个单词第一个字母的索引 int count = 0;// 统计一个单词的长度 int blank_space = 0;// 统计空格数量 for (int i = 0; i < s1.length(); ++i) { if ((i == 0) || (s1[i - 1] == ' ' && s1[i] != ' ')) { preIndex = i; } if (s1[i] != ' ') { ++count; blank_space = 0; } else { ++blank_space; // 遇到的第一个空格 添加单词 预防有多个空格的情况 if (blank_space == 1) { nums.push_back(s1.substr(preIndex, count)); count = 0; } } } for (int i = nums.size() - 1; i >= 0; --i) { if (i == 0) { cout << nums[i] << endl; } else { cout << nums[i] << " "; } } return 0;}
image.png
7-33 有理数加法 (15 分)题目本题要求编写程序,计算两个有理数的和。 输入格式:
❝
输入在一行中按照a1/b1 a2/b2的格式给出两个分数形式的有理数,其中分子和分母全是整形范围内的正整数。
❞
输出格式:
❝
在一行中按照a/b的格式输出两个有理数的和。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。
❞
输入样例1:
❝
1/3 1/6
❞
输出样例1:
❝
1/2
❞
输入样例2:
❝
4/3 2/3
❞
输出样例2:
❝
2
❞
解答#include <iostream>using namespace std;int gcd(int a, int b){ if (a % b == 0) { return b; } else { return gcd(b, a % b); }}int main(){ string s1; string s2; cin >> s1 >> s2; int a1 = 0, a2 = 0, b1 = 0, b2 = 0; int charIndex; charIndex = s1.find('/'); for (int i = 0; i < charIndex; ++i) { a1 = a1 * 10 + (s1[i] - '0'); } for (int i = charIndex + 1; i < s1.length(); ++i) { b1 = b1 * 10 + s1[i] - '0'; } charIndex = s2.find('/'); for (int i = 0; i < charIndex; ++i) { a2 = a2 * 10 + s2[i] - '0'; } for (int i = charIndex + 1; i < s2.length(); ++i) { b2 = b2 * 10 + s2[i] - '0'; } int a = (a1 * b2 + a2 * b1) / gcd(a1 * b2 + a2 * b1, b1 * b2); int b = (b1 * b2) / gcd(a1 * b2 + a2 * b1, b1 * b2); if (b == 1) { cout << a << endl; } else { cout << to_string(a) << "/" << to_string(b) << endl; } return 0;}
image.png
7-34 通讯录的录入与显示 (10 分)题目通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。 输入格式:
❝
输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话和手机均为不超过15位的连续数字,前面有可能出现+。 在通讯录记录输入完成后,最后一行给出正整数K,并且随后给出K个整数,表示要查询的记录编号(从0到N−1顺序编号)。数字间以空格分隔。 输出格式: 对每一条要查询的记录编号,在一行中按照姓名 固话 手机 性别 生日的格式输出该记录。若要查询的记录不存在,则输出Not Found。
❞
输入样例:
❝
3 Chris 1984/03/10 F +86181779452 13707010007 LaoLao 1967/11/30 F 057187951100 +8618618623333 QiaoLin 1980/01/01 M 84172333 10086 2 1 7
❞
输出样例:
❝
LaoLao 057187951100 +8618618623333 F 1967/11/30 Not Found
❞
解答#include <iostream>#include <vector>using namespace std;int main(){ int n; cin >> n; vector<vector<string> > people; while (n) { string a, b, c, d, e; cin >> a >> b >> c >> d >> e; vector<string> temp; temp.push_back(a); temp.push_back(b); temp.push_back(c); temp.push_back(d); temp.push_back(e); people.push_back(temp); --n; } int counts; cin >> counts; while (counts) { int id; cin >> id; if (id < 0 || id >= people.size()) { cout << "Not Found" << endl; } else { cout << people[id][0] << " " << people[id][3] << " " << people[id][4] << " " << people[id][2] << " " << people[id][1] << endl; } --counts; } return 0;}
image.png
7-35 有理数均值 (20 分)题目本题要求编写程序,计算N个有理数的平均值。
输入格式:
❝
输入第一行给出正整数N(≤100);第二行中按照a1/b1 a2/b2 …的格式给出N个分数形式的有理数,其中分子和分母全是整形范围内的整数;如果是负数,则负号一定出现在最前面。
❞
输出格式:
❝
在一行中按照a/b的格式输出N个有理数的平均值。注意必须是该有理数的最简分数形式,若分母为1,则只输出分子。
❞
输入样例1:
❝
4 1/2 1/6 3/6 -5/10
❞
输出样例1:
❝
1/6
❞
输入样例2:
❝
2 4/3 2/3
❞
输出样例2:
❝
1
❞
解答#include <iostream>using namespace std;// 求最大公因数int gcd(int a, int b){ if (a % b == 0) { return b; } else { return gcd(b, a % b); }}int main(){ int n; cin >> n; int *a = new int[n]; // 存储4个分子 int *b = new int[n]; // 存储4个分母 char c; // 分隔符/ for (int i = 0; i < n; ++i) { cin >> a[i] >> c >> b[i]; } int a0 = 0; // 分子初始值0 int b0 = 1; // 分母初始值1 // 计算n个分式通分后的结果 for (int i = 0; i < n; ++i) { a0 = a0 * b[i] + b0 * a[i]; b0 *= b[i]; } // 如果不判断 a0==0 会出现浮点错误 if (a0 == 0) { cout << 0 << endl; return 0; } // 平均数 其实就是分母乘以n b0 *= n; // 求a0 b0的最大公因数 int t = gcd(a0, b0); a0 /= t; b0 /= t; if (b0 == 1) { cout << a0 << endl; } else { cout << a0 << "/" << b0 << endl; } return 0;}7-36 复数四则运算 (15 分)题目
本题要求编写程序,计算2个复数的和、差、积、商。
输入格式:
❝
输入在一行中按照a1 b1 a2 b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。
❞
输出格式:
❝
分别在4行中按照(a1+b1i) 运算符 (a2+b2i) = 结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。
❞
输入样例1:
❝
2 3.08 -2.04 5.06
❞
输出样例1:
❝
(2.0+3.1i) + (-2.0+5.1i) = 8.1i (2.0+3.1i) - (-2.0+5.1i) = 4.0-2.0i (2.0+3.1i) * (-2.0+5.1i) = -19.7+3.8i (2.0+3.1i) / (-2.0+5.1i) = 0.4-0.6i
❞
输入样例2:
❝
1 1 -1 -1.01
❞
输出样例2:
❝
(1.0+1.0i) + (-1.0-1.0i) = 0.0 (1.0+1.0i) - (-1.0-1.0i) = 2.0+2.0i (1.0+1.0i) * (-1.0-1.0i) = -2.0i (1.0+1.0i) / (-1.0-1.0i) = -1.0
❞
解答#include <bits/stdc++.h>using namespace std;struct num{ double real; double image;};num c1, c2;void print(double a, double b, char c) { bool flag = false; if (c1.image >= 0 && c2.image >=0) printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = ", c1.real, c1.image, c, c2.real, c2.image); else if (c1.image >= 0 && c2.image < 0) printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = ", c1.real, c1.image, c, c2.real, c2.image); else if (c1.image < 0 && c2.image >= 0) printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = ", c1.real, c1.image, c, c2.real, c2.image); else printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = ", c1.real, c1.image, c, c2.real, c2.image); if (fabs(a) < 0.1 && fabs(b) < 0.1) { cout << "0.0\n"; return ; } if (fabs(a) >= 0.1) { printf("%.1lf", a); flag = true; } if (fabs(b) >= 0.1) { if(flag && b > 0.0) printf("+%.1lfi", b); else printf("%.1lfi", b); } cout << endl;}void add(num a, num b) { double really = a.real + b.real; double imagen = a.image + b.image; print(really, imagen, '+'); }void minu(num a, num b) { double really = a.real - b.real; double imagen = a.image - b.image; print(really, imagen, '-'); }void multi(num a, num b) { double really = - a.image * b.image + a.real * b.real; double imagen = a.image * b.real + a.real * b.image; print(really, imagen, '*');}void divide(num a, num b) { double di = b.real * b.real + b.image * b.image; double really = (a.image * b.image + a.real * b.real) / di; double imagen = (a.image * b.real - a.real * b.image) / di; print(really, imagen, '/');}int main() { cin >> c1.real >> c1.image >> c2.real >> c2.image; add(c1, c2); minu(c1, c2); multi(c1, c2); divide(c1, c2); return 0;}7-37 整数分解为若干项之和 (20 分)题目
将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。
输入格式:
❝
每个输入包含一个测试用例,即正整数N (0<N≤30)。
❞
输出格式:
❝
按递增顺序输出N的所有整数分解式子。递增顺序是指:对于两个分解序列N1={n1,n2,⋯}和N2={m1,m2,⋯},若存在i使得n1=m1,⋯,ni=mi,但是ni+1<mi+1,则N1序列必定在N2序列之前输出。每个式子由小到大相加,式子间用分号隔开,且每输出4个式子后换行。
❞
输入样例:
❝
7
❞
输出样例:
❝
7=1+1+1+1+1+1+1;7=1+1+1+1+1+2;7=1+1+1+1+3;7=1+1+1+2+2 7=1+1+1+4;7=1+1+2+3;7=1+1+5;7=1+2+2+2 7=1+2+4;7=1+3+3;7=1+6;7=2+2+3 7=2+5;7=3+4;7=7
❞
解答#include <iostream>using namespace std;int a[50] = {0};int n, sum = 1;bool flag = true;void dfs(int num, int step) { if(num == n) { if(sum % 4 != 1) cout << ";"; cout << num << "=" << a[1]; for(int i = 2; i < step; i++) cout << "+" << a[i]; if(sum % 4 == 0) cout << endl; sum++; } if(num > n) return ; for(int i = 1; i <= n; i++) { a[step] = i; if(a[step] >= a[step - 1]) dfs(num + i, step + 1); }}int main() { cin >> n; dfs(0, 1); return 0;}7-38 数列求和-加强版 (20 分)题目
给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。
输入格式:
❝
输入数字A与非负整数N。
❞
输出格式:
❝
输出其N项数列之和S的值。
❞
输入样例:
❝
1 3
❞
输出样例:
❝
123
❞
解答第四个测试点超时
#include <iostream>#include <string>using namespace std;string addStr(string a, string b){ int p = a.length() - 1; int q = b.length() - 1; int flag = 0; string ans = ""; while (p >= 0 && q >= 0) { ans = ans + to_string(((a[p] - '0') + (b[q] - '0') + flag) % 10); flag = (a[p] - '0' + b[q] - '0' + flag) / 10; --p; --q; } while (p >= 0) { ans += to_string(a[p] - '0' + flag); flag = 0; --p; } while (q >= 0) { ans += to_string(b[q] - '0' + flag); flag = 0; --q; } if (flag == 1) { ans += "1"; } // 在这里使用reverse会报错 但在main函数、vscode中则不会 // 解决办法:添加#include<bits/stdc++.h> // reverse(ans.begin(), ans.end()); string rans = ""; for (int i = ans.length() - 1; i >= 0; --i) { rans += ans[i]; } return rans;}int main(){ string a; int n; cin >> a >> n; string ans = "0"; string num = ""; while (n) { num += a; ans = addStr(ans, num); --n; } cout << ans << endl; return 0;}
改进:
#include <iostream>#include <bits/stdc++.h>using namespace std;int main(){int a;int n;int flag = 0;// 进位string ans = "";// 最后结果cin >> a >> n;while (n){// 比如 输入是2 3// 222// 22// 2//--------// 个位其实就是3个2相加 十位就是2个2相加 百位就是1个2相加// 同时在注意下进位就好了 这里进位最大可不一定是1哈 比如20个3相加 进位是6了long long x = n * a + flag;if (x >= 10){flag = x / 10;x %= 10;}else{flag = 0;}ans += x + '0';--n;}// 如果得到最后的进位大于0 说明还得添加一位// 比如 99+11 // 算到最后是 01 而最后进位还有个1 所以需要手动添加进位 为 011 if (flag > 0){ans += to_string(flag);}// 反转字符串 011 -> 110reverse(ans.begin(), ans.end());if (ans.size() == 0){cout << "0" << endl;}else{cout << ans << endl;}return 0;}
image.png
结语文章仅作为学习笔记,记录从0到1的一个过程
希望对您有所帮助,如有错误欢迎小伙伴指正~
免责声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件举报,一经查实,本站将立刻删除。