求用C语言打印出1 123 12345 1234567 123456789这样的等腰三角形的程序是啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求用C语言打印出1 123 12345 1234567 123456789这样的等腰三角形的程序是啥相关的知识,希望对你有一定的参考价值。
形状为 1
123
12345
1234567
123456789
#include<stdio.h>
void main( )
int i,j,k;
for (i=0;i<=4;i++)
for (j=0;j<4-i;j++)
printf(" ");
for (k=1;k<=i*2+1;k++)
printf("%d",k);
printf("\n");
本回答被提问者采纳 参考技术B #include<stdio.h>
void main( )
int i,j;
for(i=0;i<=4;i++)
for(j=1;j<=i*2+1;j++)
printf("%d",j);
printf("\n");
参考技术C for(int i =3;i<10;i++)
for(int j =1;j<=i;j++)
printf("%d",j);
printf("\n");
参考技术D 不太明白要求,举的例子是等腰三角形? 第5个回答 2019-01-09 The
answer
is
here!
#include<stdio.h>
void
main(
)
int
i,j,k;
for
(i=0;i<=4;i++)
for
(j=0;j<4-i;j++)
printf("
");
for
(k=1;k<=i*2+1;k++)
printf("%d",k);
printf("\n");
C语言中怎样实现打印宏?(例如#define BBBBBBB 100000,然后输入为100000的时候打印出BBBBBB。
就是实现格式化输出MyPrintf()函数。
编译型语言c是不能打印“预编译宏”的,代码在编译前的预编译步骤时,所有的宏都已经被数据代替。BBBBBB都被换成100000,
再编译时已经看不到宏。编译后更只剩机器指令和数据。
对于重复的常量,现代编译器通常会优化,自动归为一个数据。不需要从常量找宏
现代的IDE也会列出项目中可用的宏。找宏也简单。追问
难道真的没有一点办法去实现了?我就是想实现格式化打印,例如下面MyPrintf()函数一样。
你为什么要把格式化和宏联系上?你口中的“格式化”是指什么?举个例子。
追问就是我想设计这样一种函数void MyPrintf(char*,int);它包含两个参数,第一个是字符串参数,第二个是整形参数。字符串参数就是要输出“宏名”,整形参数是为了控制那个要输出的“宏名”。例如,#define TestInt 10000;MyPrintf("%s\n",10000)的输出结果就是TestInt。谢谢你耐心的回答。
追答这么做属于误用了-拿高层的操控想法在写低层的C代码。等于要对编译型语言做其他高级语言才有的反射操作-想要“控制语法成分”本身。编译语言在编译后,所有的C语言的语法结构已经不存在(没有if 没有int 没有define),执行档在运行时runtime已经不具有宏信息。
你可以做的,学数据结构,建立10000和testint的对应关系。比如构建散列表,红黑树表,建立字典关系,可以简单查找。
或者,建立最简单的2个数组int k[]; char *v[];
k[0]=10000; v[0]="testint";
k[i]=222; v[i]="hello"
通过i值实现关联,实现一个最简单散列关系。。
Myprintf(char *test,long n)
#ifdef TESTINT
if(10000 == n)
printf("%s",test);
#endif 参考技术B 可以用一个数组存放定义的宏,这样,从数组中搜索到“100000”后,再根据索引搜索"BBBBBBB" 参考技术C 不能这样用。#define 的作用说白了就是替换。只有在你的代码中出现100000 才会自动替换为BBBBBBB 。 但是如果你的100000是存在变量里面,那么是不起任何作用的。因为它不能追着变量去替换。 参考技术D 没看明白。。。。。。
以上是关于求用C语言打印出1 123 12345 1234567 123456789这样的等腰三角形的程序是啥的主要内容,如果未能解决你的问题,请参考以下文章
C语言编程打印图形: 12 12 1 12 123 1234 1(8个空格)12(8个空格)123(8个空格)1234(8个空格)1234