4个回答
展开全部
输出步骤如下:
//输入正整数n<=20输出一个n层的倒三角形.例如n=5则输出如下所示
// 解题思路 每层是2n-1个* 5-i个空格 双层for循环
/*
#########
#######
#####
###
#
*/
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=n;i>0;i--){
for(int j=1;j<=2*i-1;j++){
printf("#");
}
printf("\n");
for(int j=0;j<=5-i;j++){
printf(" ");
}
}
return 0;
拓展资料:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
展开全部
这个是杨辉三角形,有规律的,两连全是,中间每个数字是上面两个数字之和。
解法太多,下面是六种解法,自己参考
http://blog.sina.com.cn/s/blog_520db5ec01009c1c.html
解法太多,下面是六种解法,自己参考
http://blog.sina.com.cn/s/blog_520db5ec01009c1c.html
追问
这个不是杨辉三角形吧?
追答
是不太一样啊,但可以借鉴杨光三解的程序,这个类似杨光三解,只是变化了一下。程序也可以相应变化一下。
两边全是1,
下面的值除了中间的值,都是上面两肩值的和,中间值例外,是自己头顶值的2倍。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
int main(void)
{
int i, j, k;
for (i = 1; i <= 4; i++)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 4 - i; j >= 1; j--)
printf(" ");
printf("\n");
}//左对齐
printf("左对齐\n");
for (i = 3; i >= 0; i--)
{
for (k = i; k >= 1; k--)
printf(" ");
for (j = 1; j <= 4 - i; j++)
printf("*");
printf("\n");
}//右对齐
printf("右对齐\n");
for (i = 4; i >= 1; i--)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 0; j <= 3; j++)
printf(" ");
printf("\n");
}//倒左对齐
printf("倒左对齐\n");
for (i = 4; i >= 1; i--)
{
for (k = 4 - i; k >= 1; k--)
printf(" ");
for (j = i; j >= 1; j--)
printf("*");
printf("\n");
}//倒右对齐
printf("倒右对齐\n");
return 1;
}
int main(void)
{
int i, j, k;
for (i = 1; i <= 4; i++)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 4 - i; j >= 1; j--)
printf(" ");
printf("\n");
}//左对齐
printf("左对齐\n");
for (i = 3; i >= 0; i--)
{
for (k = i; k >= 1; k--)
printf(" ");
for (j = 1; j <= 4 - i; j++)
printf("*");
printf("\n");
}//右对齐
printf("右对齐\n");
for (i = 4; i >= 1; i--)
{
for (k = i; k >= 1; k--)
printf("*");
for (j = 0; j <= 3; j++)
printf(" ");
printf("\n");
}//倒左对齐
printf("倒左对齐\n");
for (i = 4; i >= 1; i--)
{
for (k = 4 - i; k >= 1; k--)
printf(" ");
for (j = i; j >= 1; j--)
printf("*");
printf("\n");
}//倒右对齐
printf("倒右对齐\n");
return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#define num 4
int main() {
int a[num][num], j, k, n;
for(j = 0; j < num; ++j){
for(k = 0; k <=j; ++k) {
if(k == 0) {
a[j][k] = 1;
}
else if(k == j) {
a[j][k] = 2 * a[j - 1][k - 1];
}
else {
a[j][k] = a[j - 1][k -1] + a[j - 1][k];
}
}
}
for(j = 0; j < num; ++j){
n = num - 1 - j;
while(n--)
printf(" ");
for(k = 0; k <j; ++k) {
printf("%d", a[j][k]);
}
for(k = j; k >= 0; --k) {
printf("%d", a[j][k]);
}
printf("\n");
}
return 0;
}
数字间空格我不弄了
#define num 4
int main() {
int a[num][num], j, k, n;
for(j = 0; j < num; ++j){
for(k = 0; k <=j; ++k) {
if(k == 0) {
a[j][k] = 1;
}
else if(k == j) {
a[j][k] = 2 * a[j - 1][k - 1];
}
else {
a[j][k] = a[j - 1][k -1] + a[j - 1][k];
}
}
}
for(j = 0; j < num; ++j){
n = num - 1 - j;
while(n--)
printf(" ");
for(k = 0; k <j; ++k) {
printf("%d", a[j][k]);
}
for(k = j; k >= 0; --k) {
printf("%d", a[j][k]);
}
printf("\n");
}
return 0;
}
数字间空格我不弄了
追问
谢谢啦!我懂啦..
另外数字键的空格只要 ‘%d’后边敲几个空格就ok啦!printf("%d ", a[j][k]);
追答
还可以优化
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询