输出星号金字塔(2)
发布时间:2022-09-30 17:41:32 403
相关标签:
题目要求:
输出:多组输出星号金字塔到屏幕上。如下形式:
空格 | 空格 | 空格 | * | |||
空格 | 空格 | * | * | * | ||
空格 | * | * | * | * | * | |
* | * | * | * | * | * | * |
算法分析:
每一行是奇数,根据最后一行确定每一行应该输入多少空格。
例如,最大一行为7个星,第1行有(7-1)/2=3个空格;
第2行是(7-3)/2=2个空格;
第3行是(7-5)/2=1个空格。
知识点:
1.利用标准字符输出函数putchar();
2.利用for()循环体控制行和列;
3.多组输入的处理方法:
法1:
while(scanf("%d",&n)!=EOF){
...
}
法2:
while(~scanf("%d",&n)){
...
}
注:法1与法2是等价的。
代码:
#include
int main(){
int n; //最大行星号数目
while(scanf("%d",&n)!=EOF){
int i;
for(i=0;i //控制一行打印 int j; for(j=0;j<=(n-1-i)/2;j++){ //控制每行的空格 putchar(' '); } for(j=0;j<=i;j++){ //控制每行的* putchar('*'); } printf("\n"); //打印完一行换行 } } return 0; } 注:n可以重复输入,可以输出多组金字塔。 ______________________________________________END______________________________________________
文章来源: https://blog.51cto.com/u_15714963/5466167
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报