求用C语言打印出1 123 12345 1234567 123456789这样的等腰三角形的程序是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求用C语言打印出1 123 12345 1234567 123456789这样的等腰三角形的程序是啥相关的知识,希望对你有一定的参考价值。

形状为 1
123
12345
1234567
123456789

参考技术A 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");


本回答被提问者采纳
参考技术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值实现关联,实现一个最简单散列关系。。

参考技术A 用#ifdef ,然后再判断你输入的数,如果相等就打印。
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

C语言打印金字塔 1 123 12345 1234567

在C中保持前导零[重复]

求用C语言编写一个简单的学生信息管理程序【 C++】网上之前有C 的好像

求用C语言编写一个简单的学生信息管理程序和课程设计报告

c语言实现输出一个数的每一位