想表示C第一个输出,D第二个输出,还有其它三个元素自由排列,应该怎么排序,请大家帮忙看看指点
int i= 0;
int m= 0;
while(m<n)
{
if(m==0 && arr[i] == 'C' && arr[(i+1)%n] == 'D')
{
printf("CD");
m=2;
i+=2;
}
else if(m==0)
i++;
else
{
printf("%c",arr[i%n]);
i++;
m++;
}
}
5. 编写代码实现,模拟用户登录情景,并且只能登录三次。
(只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。
int main()
{
int i = 0;
char password[20] = " ";
for (i = 0; i < 3; i++)
{
printf("请输入密码:>>");
scanf("%s", password);//数组名本身就是地址,因此此处输入时不需要取地址符号
if ((strcmp(password, "123456")) == 0)
//strcmp()函数,比较两个字符串是否相等,如果相等则返回0
{
printf("密码正确!登录成功!\n");
break;
}
else
{
printf("密码错误,请重新输入!\n");
}
}
if (3 == i)
{
printf("三次密码输入错误,退出程序!");
}
return 0;
}
注意:对比两个字符串是否相同,千万不可直接比较,比如此代码中:if(password == “123456”)这种表示方法是错误的!!!
必须使用strcmp()函数来比较。