最后的结果只有第一行的正确,哪里出了问题???
#include <stdio.h>
#include <stdlib.h>
#define M 4
#define N 5
void MatrixMultiply2(int A[M][N],int B[N][M],int result[M][N])
{
int i,j,k;
int temp;
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
temp=0;
for(k=0;k<N;k++)
...
一串字符串中可能会出现重复子串的情况,找出最长的重复的子串。
#include <stdio.h>
#include <stdlib.h>
#define maximum 30
void StrInitialization(char *h)
{
gets(h);
}
int StringLength(char *h)
{
int count=0;
while(h[count]>0)
count++;
return count;
}
void MaSubStr(char *h,char *t)
{
...
#include <stdio.h>
#include <stdlib.h>
#define maximum 5
typedef struct blocklink
{
char data[maximum];
struct blocklink *next;
}BLOCKLINK;
int StringlengthBL(BLOCKLINK *h)//整个块链中字符的个数
{
BLOCKLINK *p=h;
int count=0;
int i=0;
while(p!=NULL)
{
if(i...
最简单的有以下四个函数也就是四个步骤:
1.病人把病历本交到护士手中,相当于进队;
2.排在最前面的病人先看,同时取走病历,相当于出队;
3.查看排队,从队头到队尾依次显示队列中所有的病历号;
4.停止排队,退出程序。
#include <stdio.h>
#include <stdlib.h>
#include "malloc.h"
typedef struct queue
{
int data;
struct queue *next;
}QUEUE;
QUEUE *front=NULL;
Q...
以矩阵形式表示迷宫。请自行脑补一个二维矩阵。
具体思路:如果当前位置的三个方向(除了来时的方向)至少有一个方向可通,则将此点的坐标个可通的方向存入栈顶,如此重复,直到出口;如果当前位置的三个方向都不可通,则表明从当前位置无法再往前走,此时需要将栈顶元素出栈(当前位置的坐标),再沿原路返回到前一个结点,从该点看是否有其他的可行方向,如果也没有,则再往回退一步;如果有,则沿着新的方向向前探索。
#include <stdio.h>
#include <stdlib.h>
//#include "stdirectiono.h"
#define H 6
#defi...