一个简单的C问题,关于九九乘法表
#include <stdio.h> main() { int i,j,m; for(j=1;j<10;j++) { for(i=1;i<=j;i++) m=i*j; /*用m为什么不可以?*/ printf("%d*%d=%d\t",i,j,m); printf("\n"); } } 打印出来的结果根本不对,而不用m直接用i*j就可以,哪位高人能告诉我为什么吗?谢谢!小弟我不胜感激!
for语句如果不带有大括号({ }),其只对第一句进行循环计算。 在给出的程序中,第二个for语句循环有两个语句,故在程序中加上一对大括号就可以了。 #include main() { int i,j,m; for(j=1;j<10;j++) { for(i=1;i<=j;i++) { m=i*j; printf("%d*%d=%d\t",i,j,m); } printf("\n"); } }
将你的程序改为如下格式,就可以解决问题。 你原来的程序中i的for循环缺少大括号({}),该语句的尾部也没有分号(;),也就是说该循环体只有一句〖m=i*j;〗,而〖printf("%d*%d=%d\t",i,j,m);〗语句仅在j的for循环中执行。 #include main(){ int i,j,m; for(j=1;j<10;j++){ for(i=1;i<=j;i++){ m=i*j; printf("%d*%d=%d\t",i,j,m); } printf("\n"); } }
答:对于每一个n,x都要初始化成0 #include void main() { int n,x,j; for(n=1;n<=1000;n++) { x=0; j...详情>>
问:小华5/1小时行了3/2千米他行1千米需要多少小时,他行1小时可行多少千米?(为...
答:1/5÷2/3=1/5×3/2=3/10小时详情>>
问:甲车每小时行38km乙车每小时行41km甲乙车同时两地开岀相向行了2.5小时后相...
答:(38+41)x2.5=197.5千米详情>>