?? 字符二維數組比較代碼異同 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 + -