折半查找
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int left = 0;
int right = 0;
int mid = 0;
int key = 0;
printf ("请输入你要查找的数:\n");
scanf ("%d",&key);
right = sizeof (a)/sizeof (a[0])- 1;
while(left <= right)
{
mid = (left + right)/2;
if (a[mid] > key)
{
right = mid - 1;
}
else if (a[mid] < key)
{
left = mid + 1;
}
else
{
printf ("查找值所在的元素下标为:%d\n",mid);
break;
}
}
if(left > right)
{
printf ("没有找到\n");
}
system("pause");
return 0;
}
编写代码模拟三次密码输入的场景。 最多能输入三次密码, 密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i = 3;
char ch[10] = {'0'};
printf ("请输入密码:\n");
while (i)
{
scanf ("%s",ch);
if (0 == strcmp (ch,"123456"))
{
printf ("登录成功!!!\n");
break;
}
else
{
printf ("密码错误...\n");
printf ("你还有 %d 次机会\n",i-1);
}
i--;
}
system ("pause");
return 0;
}
编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
while ((ch = getchar()) != EOF)
{
if ( ch>='a' && ch<='z')
{
ch -= 32;
printf ("%c\n",ch);;
}
else if(ch>='A' && ch<='Z')
{
ch += 32;
printf ("%c\n",ch);
}
}
system ("pause");
return 0;
}