PTA第三次作业:
第2题:
#include <stdio.h> int main (void){ int i,N,k; scanf("%d",&N); for(i=1;i<=N;i++){ for(k=1;k<=i;k++) printf("%d*%d=%-4d",k,i,k*i); printf("\n"); } return 0; }
设计思路:首先考虑到:由于要一行一行的全部输出,故应该使用嵌套循环;先定义i<=N,在定义另一个变量j,使其小于i,从而能输出题目中所要求;
流程图:
错误截图:
错误原因:忽略要按要求将每一行的乘法口诀全部输出,没有使用嵌套循环;并且忽略等号右边数字占四位,否则用空格的条件;
第3题
#include <stdio.h> int main (void) { int j,i,n,sum,item; sum=0; scanf("%d",&n); for(i=1;i<=n;i++){ item=1; for(j=1;j<=i;j++) item=item*j; sum=sum+item; } printf("%d",sum); return 0; }
设计思路:变量item中存放阶乘的值,用嵌套循环,使输出每个阶乘的值,然后在求阶乘和;注意,item=1一定要放在第一个for语句之后;
流程图:
错误截图:
错误原因:printf后应为"%lf",因为前面用的是double;但根据题目要求,用double输出的不符合题目输出的格式,故应用int型;
https://www.cnblogs.com/WhiteDream/p/10104893.html
https://www.cnblogs.com/louzhe/p/10110600.html
https://www.cnblogs.com/wangxiao2018024023/p/10110452.html