#include
int main()
{
printf("请输入表格大小:");
int a;
scanf("%d", &a);
for (int i = 1, b = 1, c = 1; i <= a && b <= a && c <= a; b++, c++)
{
if (b == a)i++, b = 1;
printf("%-7d", c);
if (c == a)
{
printf("\n");
for (int i = 2; i <= a; i++)
printf("%d\n", i);
}
}
for (int i = 1, b = 1, m = 0; i <= a && b <= a; b++)
{
m = i * b;
printf("%d*%d=%d", i, b, m);
if(b == a)
{
b = 1;
i++;
}
}
return 0;
}
我想把下面的数据填入中间的空格中,与之一一对应(就是制表),请问怎么通过制表符实现?
试了好久了,一直不行,哭了……
增加打印每一行乘法式子的代码,然后在每个单独的项目后面加个制表符即可。
修改如下:
#include<stdio.h>
int main()
{
printf("请输入表格大小:");
int a;
scanf("%d", &a);
printf("%s\t"," "); //输出左上角的空格
//输出第一行
for (int c = 1; c <= a ; c++)
{
printf("%d\t", c);
}
printf("\n");
for (int i=1,m = 0; i <= a ;i++)
{
printf("%d\t",i); // 输出第二行以后的每行开头的数字
//用于输出每一行的乘法表,从1开始,到a结束,与每一行开头的数字相乘的式子输出出来
for(int j=1;j<=a;j++){
m = i*j;
printf("%d*%d=%d\t", i, j, m);
}
printf("\n"); // 输出每行的换行
}
return 0;
}
#include <stdio.h>
int main()
{
int n=9, i, j;
printf("\t");
for (i = 1; i <= n; i++) {
printf("%d\t", i);
}
printf("\n");
for (i = 1; i <= n; i++) {
printf("%d\t", i);
for (j = 1; j <= n; j++) {
printf("%d*%d=%d\t", i, j, (i * j));
}
printf("\n");
}
return 0;
}
在这次旅程的终点,我们将实现一个名为CMM(即C Minus Minus)语言的编译器,这个编译器的输出将是由我们自己设计的一套指令集中的指令所构成的指令文件。所以,我们还将实现一套虚拟机程序,以运行编译器输出的指令文件。
CMM语言是一门将C语言的语法进行缩减后得到的语言。其主要特点如下:
只有一种类型:int
支持赋值、四则运算与比较运算
支持if、while语句
支持函数
支持数组
区分全局作用域与局部作用域
接下来,就让我们深入编译器前端一探究竟吧。请看下一章: