今天把分支的最后几道例题解决了,还有函数的初步。
今天收获比较大的还是又复习了一遍二分查找,还有学了猜数字的游戏。学习难度比之前有所上升。
照例贴一下代码(感觉今天还写了挺多的)
int main()
{
char arr1[] = "welcome to bit!!!!!!";
char arr2[] = "####################";
int left = 0;
int right = strlen(arr1) - 1;
while (left<=right)
{
arr2[left] = arr1[left];
arr2[right] = arr1[right];
printf("%s\n", arr2);
Sleep(1000);
system("cls");
left++;
right--;
}
return 0;
}
int main()
{
char arr2[20] = { 0 };
int n = 0;
for (n = 0; n < 3; n++)
{
printf("请输入密码:");
scanf("%s", arr2);
if (strcmp(arr2,"123456")==0)
{
printf("输入正确");
break;
}
else
{
printf("输入错误,请重新输入");
}
}
if (n == 3)
{
printf("输入失败");
}
return 0;
}
void menu()
{
printf("******************************\n");
printf("***********1.play*************\n");
printf("***********0.exit*************\n");
printf("******************************\n");
}
void game()
{
int num1 = rand() % 100 + 1;
printf("猜数字:");
while (1)
{
int a = 0;
scanf("%d", &a);
if (a == num1)
{
printf("猜对了\n");
break;
}
else if (a < num1)
{
printf("猜小了\n");
}
else
{
printf("猜大了\n");
}
}
}
int main()
{
int a = 0;
srand((unsigned)time(NULL));
do
{
menu();
printf("请输入:");
scanf("%d", &a);
switch (a)
{
case 1:
game();
break;
case 0:
break;
default:
printf("输入错误");
break;
}
} while (a);
return 0;
}
int main()
{
char arr1[20] = { 0 };
char arr2[] = "hello bite";
strcpy(arr1, arr2);
printf("%s", arr1);
return 0;
}
int main()
{
char arr1[] = "hello bit";
int arr2[] = { 0 };
memset(arr1, 'x', 5);
printf("%s", arr1);
return 0;
}
int MAX(int a, int b)
{
int z = 0;
if (a > b)
z=a;
else
z=b;
return z;
}
int main()
{
int x = 0;
int y = 0;
scanf("%d%d", &x, &y);
int c= MAX(x, y);
printf("%d", c);
return 0;
}
void swap(int* pa, int* pb)
{
int z = 0;
z = *pa;
*pa = *pb;
*pb = z;
}
int main()
{
int a = 0;
int b = 0;
printf("请输入a与b:");
scanf("%d%d", &a, &b);
swap(&a, &b);
printf("交换后a=%d,b=%d", a, b);
return 0;
}
int is_prime(int a)
{
int b = 0;
for (b = 2; b < a; b++)
{
if (a % b == 0)
return 0;
}
return 1;
}
int main()
{
int c = 0;
for (c = 100; c <= 200; c++)
{
;
if (is_prime(c) == 1)
{
printf("%d ", c);
}
}
return 0;
}
int main()
{
int a = 10;
int b = sqrt(a);
printf("%d", b);
return 0;
}
int year(int a)
{
if ((a%4==0&&a%10!=0)||(a%400==0))
return 1;
return 0;
}
int main()
{
int c = 0;
int d = 0;
scanf("%d", &c);
d = year(c);
if (d == 1)
printf("%d是闰年\n", c);
else
printf("%d不是闰年\n", c);
return 0;
}
int main()
{
int c = 0;
for (c = 1000; c <= 2000; c++)
{
int d = year(c);
if (d == 1)
printf("%d ", c);
}
return 0;
}
int year(int a)
{
return((a % 4 == 0 && a % 10 != 0) || (a % 400 == 0));
}
int main()
{
int c = 0;
for (c = 1000; c <= 2000; c++)
{
int d = year(c);
if (d == 1)
printf("%d ", c);
}
return 0;
}
int erfen(int k[],int a,int s)
{
int left = 0;
int right = s-1;
while(left<=right)
{
int mid = (left + right) / 2;
if (a < k[mid])
{
right = mid - 1;
}
else if (a > k[mid])
{
left = mid + 1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr) / sizeof(arr[0]);
int z = 7;
int x = erfen(arr,z,sz);
if (-1==x)
{
printf("找不到");
}
else
printf("找到了,下标是%d\n", x);
return 0;