代码如下:
#include<stdio.h>
int main()
{
int n = 0, i = 1, s = 0,z=1;
printf("请输入一位正整数 ");
scanf_s("%d", &n);
if (n == 1)//表示1*1该式
{
printf("1*1=1");
}
else
{
while (z<=n)
{
for (i=1; i <=z; i++)
{
s = i * z;
printf("%d", i);
printf("*");
printf("%d", z);
printf("=");
printf("%d ",s);
if (z== i)
{
printf("\n");
}
}
z++;
}
}
return 0;
}
问题分析:
1.此题难度不大,主要问题在于表达顺序,一开始表达出来的顺序是相反的,解此题的大部分时间都是花在这个顺序上。
2.while此循环后面括号所带条件不可使用“==”,使用<=或>=。
3.双循环使用,不可使用两个for,会冲突。
4.此题更多的是细节的注意。