⑴ c語言判斷字元數組相等
因為你定義的a是一個字元數組,而b是一個字元串,兩者直接比較當然不等,你在輸入完a後應該加上 a[6]='\0';
這樣就對了。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<windows.h>
#include<conio.h>
int main()
{char a[7];
char b[7]="111111";
int i=0;
system("color 84");
printf(" ");
printf("【請輸入密碼】:\n\n");
printf(" ");
for (i=0;i<=5;i++)
{a[i]=getch();
printf("*");
}
a[6]='\0';
getch();
printf("\n");
printf(" ");
if(strcmp(a,b)==0)
printf("密碼正確,稍等進入。\n");
else
printf("密碼錯誤!請重新輸入\n");
system("pause");
}
⑵ c語言如何判讀一個數組里的數是否存在相等的
#include<stdio.h>
inthasEqual(inta[],intn){
inti,j;
for(i=0;i<n-1;++i){
for(j=i+1;j<n;++j)
if(a[i]==a[j])return1;
}
return0;
}
intmain(){
inta[]={36,45,12,35,26,98,54,21,36,58};
intn=sizeof(a)/sizeof(a[0]);
intan=hasEqual(a,n);
if(an)printf("有。 ");
elseprintf("沒有。 ");
return0;
}
⑶ 用c語言如何判斷這兩個數組是相等的 int a[5]={1,2,3,2,5}; int b[5]={1,2,3,2,5};
先判斷長度是不是相等
如果相等
用數組一中每個元素去分別和二中的比,只要在二中都能找到相等的,那個元素就被標記一下,下次不和他比
最後二中的都被標記了,說明完全相等
你自己實現吧
我感覺這個想法應該沒錯呢~~有什麼不對的望提出啊~~
⑷ C語言中如何判斷兩個數組內容是否相同
C語言有輪兆個函數 memcmp 是用來進談桐告含明行內存比較的 x0dx0aextern int memcmp(void *buf1, void *buf2, unsigned int count);x0dx0ax0dx0aif(0==memcmp(ID,ID1,20)) //ID1等於ID2x0dx0a{x0dx0a}
⑸ C語言如何判斷兩個數組是否相等問題
只能每個元素分別判斷了。
for ( int i=0;i<5;i++ )
{
if( a[i] != b[i] )
break;
}
if(i<5)
printf("不相等\n");
else
printf("相等\n");
⑹ C語言中如何判斷字元串數組與規定的數組相同
用strcmp函數就可以
如果返回0就是相同。
#include<stdio.h>
#include<string.h>//增加字元串頭文件。
intmain(void)
{
inti;
chars[3][128];
for(i=0;i<3;i++){
printf("s[%d]:",i);
scanf("%s",s[i]);//比如在這里,如果輸入的是$$$,就跳出循環
if(strcmp(s[i],"$$$")==0)break;
}
for(i=0;i<3;i++)
printf("s[%d]="%s" ",i,s[i]);
return0;
}
⑺ C語言如何寫才能判斷兩個數組相等
#include<stdio.h>
intmain()
{
inti=0;
intj=0;
intarr1[]={1,2,3,4,5};
intarr2[]={1,2,7,4,9};
for(i=0;i<sizeof(arr1)/sizeof(arr1[0]);i++)
{
for(j=0;j<sizeof(arr2)/sizeof(arr2[0]);j++)
{
if(arr1[i]==arr2[j])
{
printf("存在相同元素");
break;
}
}
break;
}
return0;
}
(7)c語言數組相等的判定擴展閱讀
C++比較兩個數組是否相等
constintSIZE=5;
intarrayA[SIZE]={5,10,15,20,25};
intarrayB[SIZE]={5,10,15,20,25};
boolarraysEqual=true;//標志變數
intcount=0;//循環控制變數
//確定元素是否包含相同的數據
while(arraysEqual&&count<SIZE)
{
if(arrayA[count]!=arrayB[count])
arraysEqual=false;
count++;
}
//顯示合適的消息
if(arraysEqual)
cout<<"Thearraysareequal. ";
else
cout<<"Thearraysarenotequal. ";
⑻ c語言數組元素判斷是否相同以及相同的個數
//下面的演算法還可以優化,就留給樓主自己思考:
#include<stdio.h>
#include<stdlib.h>
#defineARR_MAX6
staticinttemp[ARR_MAX];
booltemp2[ARR_MAX];
voidreset(){//初始化靜態區變數temp與temp2
for(inti=0;i<ARR_MAX;i++){
temp[i]=1;
temp2[i]=true;
}
}
intrepeat_e(inta[ARR_MAX]){
reset();
//跳躍式演算法,加快檢索速度
for(inti=0;i<ARR_MAX;i++){
if(!temp2[i])continue;
for(intj=i+1;j<ARR_MAX;j++){
if(a[i]==a[j]){
temp[i]++;
temp2[j]=false;
}
}
}
//尋找最值演算法
int_max=1;
inttarget_index=-1;//目標索引
for(inti=0;i<ARR_MAX;i++){
if(temp[i]>_max){
_max=temp[i];
target_index=i;
}
}
returntarget_index>-1?a[target_index]:-1;
}
intmain(intargc,char*argv[])
{
intarr[ARR_MAX]={0};
scanf("%d%d%d%d%d%d",&arr[0],&arr[1],&arr[2],&arr[3],&arr[4],&arr[5]);
inttarget_value=repeat_e(arr);
if(target_value>-1){
int_count=0;
for(inti=0;i<ARR_MAX;i++){
if(arr[i]==target_value){
printf("x[%d],",i+1);
_count++;
}
}
printf(",相同數=%d ",_count);
}
system("pause");
return0;
}