⑴ 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;
}