关于C语言 二维数组编写九九乘法表的问题?我不明白为什么二维数组要用10行10列,我试过用9行9列老是出错

关于C语言二维数组编写九九乘法表的问题?我不明白为什么二维数组要用10行10列,我试过用9行9列老是出错,不知道原因。#include"stdio.h"main(){in... 关于C语言 二维数组编写九九乘法表的问题?我不明白为什么二维数组要用10行10列,我试过用9行9列老是出错,不知道原因。
#include "stdio.h"
main()
{
int a99[10][10],i,j;
for(i=1; i <10; i++)
for(j=1; j<=i; j++) a99[i][j]=i*j;
for(i=1; i<10; i++)
{
for(j=1;j<=i;j++) printf("%6d",a99[i][j]);
printf("\n");
}
}
展开
 我来答
aries00219
推荐于2016-02-24 · TA获得超过431个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:290万
展开全部
#include "stdio.h"
main()
{
int a99[9][9],i,j;
for(i=0; i <9; i++) //i = 0
for(j=0; j<=i; j++) a99[i][j]=i*j; //j = 0
for(i=0; i<9; i++) //i = 0
{
for(j=0;j<=i;j++) printf("%6d",a99[i][j]); //j = 0
printf("\n");
}
}
正确的写法应该是上面这样的。
这里涉及到2个问题:
1.数组声明的时候a[9]就是有9个元素的数组,a[10]就是有10和元素的数组
2.数组赋值的时候第一个元素的下标是从0开始的,即a[0],最后一个下标是声明时的数字-1,如:声明时:a[9],最后一个元素是a[8]。a[9]是超范围的。
herruy
2010-11-17 · 超过20用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:57.4万
展开全部
#include<iostream>
using namespace std;

int main()
{
int i;
int j;
int sum;
for(i=1;i<=9;i++){//一个for语句的嵌套
for(j=1;j<=i;j++){
sum=i*j;
cout<<j<<"*"<<i<<"="<<sum<<" ";
}
cout<<endl;
}
}

c++之99乘法表do-while语句- -

#include<iostream>
using namespace std;

int main()
{
int i=1;//定义i的初识值
int j=1;//定义j的初识值
int sum;//定义一个变量sum
do{
j=1; //定义了j为1这样没次j都从1开始
do{
sum=i*j; //把每次i*j的值赋值给sum
cout<<j<<"*"<<i<<"="<<sum<<"\t";//输出
j++; //每次j都+1
}while(j<=i); //当j大于i的时候退出循环
i++;//每次这里i+1
cout<<endl;//空一行
}while(i<=9);//当i大于9的时候退出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
咕噜男爵
2010-11-17 · TA获得超过132个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:99.7万
展开全部
你是从 i = 1开始的 所以要到10才可以 。从i= 0开始就可以了
#include "stdio.h"
main()
{
int a99[9][9],i,j;
for(i=0; i <9; i++)
for(j=1; j<=i; j++) a99[i][j]=i*j;
for(i=1; i<9; i++)
{
for(j=0;j<=i;j++) printf("%6d",a99[i][j]);
printf("\n");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tiangiao
2010-11-17 · TA获得超过752个赞
知道小有建树答主
回答量:522
采纳率:0%
帮助的人:455万
展开全部
C语言的数组下标从0开始,所以你的i、j都要从0开始到9为止。修改为:
for ( i=0; i<9; i++)
for ( j=0; j<=i; j++) ...即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lbzde
2010-11-17 · TA获得超过645个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:285万
展开全部
数组下标是从0开始的,注意,你用9行9列的话,最后一组应该是a99[8][8],这样循环就超出数组长度了,那个a99[9][9]、a99[9][8]、a99[8][9]找不到。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式