-
程序有问题,在初始化矩阵的时候,有一些问题,因为是二维矩阵,所以需要用两个循环来控制行和列... 具体步骤如下。
#include
void main()
int i,j,t,a[5][5];
t = 1;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
a[i][j] = t++;
for(i=0;i<=4;i++)
for(j=0;j<=4;j++)
printf("%5d",a[i][j]);
printf("");
-
按照 Robe 的方法填写奇阶魔方需要确定该位置是否已经填写,而您的程序中没有这样的部分。
这是修改后的程序:
#include
void main()
int i, j, t, a[5][5];
int rightup_i, rightup_j;
所有数字都需要归零,以确定是否将数字 * 放在 (i=0; i<5; i++)
for (j=0; j<5; j++)
a[i][j] = 0;
i = 0; j = 5/2;
for(t=1;t<=5*5;t++)
a[i][j]=t;
计算右上方块的坐标 *
rightup_i = i - 1;
rightup_j = j + 1;
if(rightup_i<0)
rightup_i=4;
if(rightup_j>4)
rightup_j=0;
如果右上角没有数字,则为下次填写的位置 * if(a[rightup i][rightup j] == 0)i = rightup i;
j = rightup_j;
else * 如果已经填好了,下次会填到下一个框 * i++; if(i > 4)
i = 0;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
printf("%5d",a[i][j]);
printf("");要换行运行结果,请执行以下操作:
-
#include
#include
#define n 5
int main(void)
int i, j, key;
int square[n+1][n+1] = ;
i = 0;
j = (n+1) / 2;
for(key = 1; key <= n*n; key++)if((key % n) == 1)
i++;else
i--;j++;
if(i == 0)
i = n;
if(j > n)
j = 1;
square[i][j] = key; }for(i = 1; i <= n; i++)for(j = 1; j <= n; j++)printf("%2d ", square[i][j]);
return 0;
魔方的填写方法最简单,用奇数,把第一个数字放在第一行的第一列**,然后填到右边(左),如果右边(左)有数字,则填下,如下图所示:
-
这个程序至少有两个问题(可能还有其他错误,我会再看一遍),第一个if(m=1)应该是m==1,行数是1,直接返回。
第二个问题,循环嵌套不正确,以下正确**,注意支撑位置。
for (i = 0; i
-
我不明白。 但是if(m=1)显然应该是if(m==1)。
-
循环 A34 的第一个双精度被替换为 AIJ
-
带中断写入,设置优先级。
-
你写的 fun 函数有一个返回值,你只需给函数添加 return,调用它的时候还需要对返回值进行处理。
-
我用一个二维数组保存了一下,发给房东参考。
#include
#define max 10
void fun(int a[max],int x )fflush(stdin);
int main()
elsefor( i = 0 ; i < num ;i++)reutn 0;}
-
运行 cpucash 的算法。 我发现还是有点问题。 在上面更改了它。 解决了点逻辑问题。 运行结果正确。
#include
int main(void)
必须初始化最终结果。
int i,n;
char op='+';
scanf("%d",&n);
while(op!='#'这个地方变了};for(i=1;i<=n*n;i++) 输出。
return 0;}
-
matrix,那么就需要用一个二维数组,你可以用一个一比特数组,但是你需要确定如何把它拆分成一个二维数组。
n*n=10*10=100,你可以定义一个100个元素的数组,但是对于这个问题,我估计你需要定义一个二维数组,呵呵,int a[100],sum[100]=; 必须初始化最终结果。
int i,n;
char op;
scanf("%",&n);
至少做一次,最好是 while(op!) 和 do--while='#
for(i=0;i
-
i != n 显然是错误的,应该与 i 一起使用!= n-1
j !=n 类似。
当然,要更改为 &&,这取决于您的需要,因为“除了子对角线的最后一列和最后一行”仍然模棱两可)。
-
#include
using namespace std;
#define type int
#define num 3
type matrix1[num][num], matrix2[num][num];
void fun()
int i,j;
for(i = 0; i < num; i ++for(j = 0; j <= num; j++)matrix2[j][i] = matrix1[i][j];
void init()
int i,j;
for(i = 0; i < num; i ++for(j = 0; j < num; j++)cout <<"请进入部分"
void output(int matrix[num])int i,j;
for(i = 0; i < num; i ++for(j = 0; j < num; j++)cout
求 3*3 矩阵的逆矩阵。
init();
cout <<"matrix1 是:"
-
我真的不明白你这个问题是什么意思,你能解释得更清楚吗?
总结。 吻。 <>
<>运行的结果如下: a c e g i k m o q s 程序的逻辑如下:外循环变量 i 表示图的行数,4 个周期后即可输出完整的图; 内循环变量 j 表示每行输出的字符数,其初始值为 0,每输出个字符 j 加 1; 变量 k 表示每行第一个字符的 ASCII 码值与“a”的差值,初始值为 1,每个字符输出的 K 也加 1; 输出每行后,需要将变量 ch 回滚到下一行的第一个字符位置,即减去 2k-1。 >>>More