C语言编程九九乘法表

1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

第1个回答  2018-02-06
//我的老天,能不能自己写,你看看简单到什么程度!

#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[]) {
    int start=1,end=9,i;
    
    for(;start <= end;start++) {
        for(i=1;i<=start;i++) {
            printf("%d*%d=%d\t",i,start,start*i);
        }  
        printf("\n");
    }  
    
    exit(0);
}

第2个回答  2012-12-30
while(scanf("%d",&n)!=EOF)//错误,具体看最后*处
{
for (i = 1; i <= n; i++)

{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%d ",j,i,i*j);
}
printf("\n");
}
}
}
*****scanf作为标准输入的格式提取函数是有返回值的,他的返回值为他提取的数值格式的个数,
原代码的返回值是1,说明只提取了一次,而不是将n变量与EOF做比较。
希望能给你帮助。
第3个回答  2012-12-29
while(scanf("%d",&n)!=EOF)

这句的逻辑很混乱,楼主你想表达什么?
如果是输入一个九九乘法表直接开始定义n=9就可以了
要自己输入的话scanf要在for前不需要while语句
第4个回答  2018-02-08

观察要求,可以发现总共有九行,每行的试子个数就是行数,也就是说,第一行一个式子;第二行两个式子,以此类推.

//不可直接复制
#include <stdio.h>
int main()
{
    int hang=1; //行的拼音
    int lie=1; //列的拼音
int result=0; //计算结果
    int i;    //循环变量
    int count=0; //记数,使第九行时退出程序

    while (1) //while循环
        {
            lie=1; //令每行的第一个式子都从第一个开始算
            for(i=0;i<hang;i++) //for循环
            {    
                result=lie*hang; //计算结果
                printf("%d*%d=%d ",lie,hang,result); //输出式子
lie++; //使每列的第一个乘数等于当前列数
             }
 
 hang++; //使程序运行到第二行

             printf("\n");    //换行
 count++;//记数
 if(count==9)break;//当第九行时跳出循环,也可以写为if(hang==10)break;
        }
    
    return 0;
}

如果有什么问题可以继续问,可以的话就采纳吧

第5个回答  2018-02-02
#include<stdio.h>
void main()
{
int i = 1, j = 1;
for (i = 1; i <= 9; i++)   // 控制行,一共9行
for (j = 1; j <= i; j++)  // 控制各行的列数
{
printf("%d*%d=%d", j, i, i*j); // 输出乘法表各项内容
if (i != j) printf("\t");  // 相邻两项直接加空格
if (i == j) printf("\n");  // 控制列数
}
}

相似回答