📄 字符二维数组比较代码异同 270.cpp
字号:
#include "stdio.h"
#include "string" //导入包含串处理函数的头文件
void main()
{
printf("\n\t\t用两个二维字符数组输入两段代码,比较两段代码的异同\n");
printf("───────────────────────────────────────\n");
while(1)
{
char a[100][100],b[100][100]; //定义2个二维数组存放两段代码
int i,j;
printf(" 请输入第一段代码,每行以回车分隔,结束时键入#\n");
for(i=0;i<100;i++) //一段代码最多100行
{
gets(a[i]); //一行输入一句代码
if(a[i][0]=='#'){break;} //本行首字符为#,第一段代码结束
}
printf(" 请输入第二段代码,每行以回车分隔,结束时键入#\n");
for(i=0;i<100;i++) //一段代码最多100行
{
gets(b[i]); //一行输入一句代码
if(b[i][0]=='#'){break;} //本行首字符为#,第二段代码结束
}
printf("\n");
for(i=0;i<100;i++) //一段代码最多100行
{
if(a[i][0]=='#'&&b[i][0]!='#')
{
printf("\n 第二段代码多出来的行为: \n");
for(j=i;j<100;j++)
{
if(b[j][0]=='#'){break;}
puts(b[j]); //输出本行
}
break;
}
else if(b[i][0]=='#'&&a[i][0]!='#')
{
printf("\n 第一段代码多出来的行为: \n");
for(j=i;j<100;j++)
{
if(a[j][0]=='#'){break;}
puts(a[j]); //输出本行
}
break;
}
else if(a[i][0]=='#'&&b[i][0]=='#')
{printf("\n 两段代码行数相同.\n");break;}
if(strcmp(a[i],b[i])!=0) //调用串比较函数,比较a[i]与b[i]行代码是否相同
{printf(" 第%d行代码不一样\n 第一段代码为: %s\t第二段代码为: %s\n",i+1,a[i],b[i]); }
}
printf("\n 是否继续输入吗?是则回车,否则输入‘空格’回车 ");
if(getchar()==' ')break;
else {while(getchar()!='\n'){;}
printf("───────────────────────────────────────\n");
}
}
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -