关于嵌入式单片机 汇编c语言 有关于 char 数组 字符串 和 字符数组的问题

Python033

关于嵌入式单片机 汇编c语言 有关于 char 数组 字符串 和 字符数组的问题,第1张

uchar ppw[8]="12345678" //这里数字字符串,其值为0x31,0x32.....

uchar pppw[8]={1,2,3,4,5,6,7,8} //这里数字是数值,其值为0x01,0x02.......

#include<stdio.h>

#include<stdlib.h>

//给我300财富

void login(char *puser,char *ppw)

{

int ok=0,i,len=strlen(ppw)

if(!strpbrk(ppw,puser) &&strpbrk(ppw,"0123456789") &&strlen(ppw)>=8)

{

for(i=0i<leni++)

{

if(!isalnum(*(ppw+i)))

{

ok=1

break

}

}

if(ok) //1已满足长度大于等于8、不包含用户名中的任意字符、至少包含一个数字、至少包含一个非数字非字母字符

{

ok=0

for(i=0i<leni++)

{

if(*(ppw+i)>='a' &&*(ppw+i)<='z')

{

ok=1

break

}

}

if(ok) //已满足1和至少包含一个小写字母

{

ok=0

for(i=0i<leni++)

{

if(*(ppw+i)>='A' &&*(ppw+i)<='Z')

{

ok=1

break

}

}

}

}

}

if(ok)

{

printf("注册成功,欢迎登录!\n")

}

else

{

printf("密码不合要求,注册不成功!\n")

}

}

void find(int a[],int num,int len)

{

int *top,*bottom,*mid

top=a

bottom=&a[len-1]

mid=&a[5]

while(top<=bottom)

{

if(num<*mid)

{

bottom=mid-1

}

else if(num>*mid)

{

top=mid+1

}

else

{

break

}

mid=top+(bottom-top)/2

}

if(top<=bottom)

{

printf("找到了,%d在数组的第%d个位置。\n",num,(mid-a+1))

}

else

{

printf("%d在数组中不存在!\n",num)

}

}

int main()

{

char user[512],pw[512]

int i,num,a[10]={1,3,5,7,8,9,12,13,15,17}

printf("请输入用户名和密码(每行一个):\n")

gets(user)

gets(pw)

login(user,pw)

printf("数组的各元素是:\n")

for(i=0i<10i++)

{

printf("%d,",a[i])

}

printf("\n")

do

{

printf("请输入要用折半法查找的整数(输入-1退出循环):")

scanf("%d",&num)

if(-1!=num)

{

find(a,num,10)

}

}while(-1!=num)

system("PAUSE")

return EXIT_SUCCESS

}