c++打印一个沙漏。输入一个整数n,符号的行数(n是大于1的奇数)输出使用“*”打印沙漏符号 - 爱问答

(爱问答)

c++打印一个沙漏。输入一个整数n,符号的行数(n是大于1的奇数)输出使用“*”打印沙漏符号

请使用c++,别看题目上的pascal,用c++
c++打印一个沙漏。 输入一个整数n,符号的行数(n是大于1的奇数) 输出 使用“*”打印沙漏符号

#include<iostream> using namespace std; int main() { int n; char symbol; cin >> n >> symbol; if (n < 1) return 0; n = n - 1; int max_row = 1; int row_num = 0; while(n >= 0){ if (n - 2 * (max_row + 2) < 0) break; max_row += 2; ++row_num; n -= max_row * 2; } for (int i = 0; i < row_num; i++){ for (int j = 0; j < i; j++){ cout << " "; } for (int j = 0; j < max_row - 2 * i; j++){ cout << symbol; } cout << endl; } for (int i = row_num; i >= 0; i--){ for (int j = 0; j < i; j++){ cout << " "; } for (int j = 0; j < max_row - 2 * i; j++){ cout << symbol; } cout << endl; } cout << n; return 0; } 2、素数对猜想 思路:判断素数的函数直接默写;因为判断相邻素数,直接用一个变量记录上一个素数,再与新得到的素数比较 #include<iostream> using namespace std; bool isPrime(int num){ if (num == 0 || num == 1) return false; for (int i = 2; i * i <= num; i++){ if (num % i == 0) return false; } return true; } int main() { int n; cin >> n; int count = 0; int lastPrime = 2; for (int i = 3; i <= n; i++){ if (isPrime(i)){ if (i - lastPrime == 2) ++count; lastPrime = i; } } cout << count; return 0; }

相关标签:沙漏

下一篇:本站不承载具体内容,仅做链接跳转、数据统计之用

上一篇:请教大神,我想让一个工作表的复选框,在勾选的时候显示红色,怎么编写宏

热门标签:
excel 网盘 破解 word dll
最新更新:
你这修改器地址不对有木马病毒 步步高S3pro怎么打开开发者选项?安卓版本7.0 用单元格内容替换单元格中部分内容 电脑内的文件传输至iPhone,这需要苹果的中间软件吗 我电脑坏了,买了新的但又发现不好,已退了。我姨讲不要买电脑就算了。我不太喜欢她那么讲, 11代cpu可以装win11吗 为什么组装电脑时老板说运行内存条最好用1样的,而现在的16G运行内存的手机用的是12+4G不用16G 千元内10系显卡选啥?我主要玩csgo,一百多帧就行。 进厂做苹果电脑累还是在海底捞做服务员好 win10升win11电脑经常卡 迅雷11怎么退出账号 A,B两个单元格有不同数字如何查找 vbs,这个代码为什么显示缺少语句? vbs,这个有什么错啊 在html中插入视频的代码