代码部分:
```c
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
/*char* c[] = { "ENTER","NEW","POINT","FIRST" };
char** cp[] = { c + 3,c + 2,c + 1,c };
char*** cpp = cp;
printf("%s\n", **++cpp);
printf("%s\n", *-- * ++cpp + 3);
printf("%s\n", *cpp[-2] + 3);
printf("%s\n", cpp[-1][-1] + 1);*/
char arr[] = "abcdef";
printf("%s\n", arr);
return 0;
}
#include<stdio.h>
#include<string.h>
void left_move(int arr[], int k)
{
int len = strlen(arr);
int i = 0;
for (i = 0; i < k%len; i++)
{
int j = 0;
char tmp = arr[0];
for (j = 0; j < len - 1; j++)
{
arr[j] = arr[j+1];
}
arr[len - 1] = tmp;
}
}
int main()
{
char arr[20] = "cdefab";
int k = 0;
scanf("%d", &k);
left_move(arr, k);
printf("%s", arr);
return 0;
}
void reverse(char* left, char* right)
{
while (left < right)
{
char tmp = *left;
*left = *right;
*right = tmp;
left++;
right--;
}
}
void left_move(char arr[], int k)
{
int len = strlen(arr);
reverse(arr,arr+k-1);
reverse(arr + k, arr+len - 1);
reverse(arr, arr + len - 1);
}
int main()
{
char arr[20] = "cdefab";
int k = 0;
scanf("%d", &k);
left_move(arr, k);
printf("%s", arr);
return 0;
}
void find_k(int arr[3][3], int k, int r, int c)
{
int x = 0;
int y = c - 1;
int flag = 0;
while (x<r && y>=0)
{
if (arr[x][y] < k)
{
x++;
}
else if (arr[x][y] > k)
{
y--;
}
else
{
printf("找到了,下标是:%d %d\n", x, y);
return;
}
}
printf("找不到\n");
}
int main()
{
int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };
int k = 0;
scanf("%d",&k);
int x = 3, y = 3;
find_k(arr, k, &x, &y);
return 0;
}
//返回型参数
void find_k(int arr[3][3], int k, int *px, int* py)
{
int x = 0;
int y = *px - 1;
int flag = 0;
while (x < *py && y >= 0)
{
if (arr[x][y] < k)
{
x++;
}
else if (arr[x][y] > k)
{
y--;
}
else
{
*px = x;
*py = y;
return;
}
}
//找不到
*px = -1;
*py = -1;
}
俩个有序序列合并
#include<stdio.h>
int main()
{
int n, m = 0;
scanf("%d %d", &n, &m);
int i = 0;
int j = 0;
int arr1[1000] = { 0 };
int arr2[1000] = { 0 };
for (i = 0; i < n; i++)
{
scanf("%d ", &arr1[i]);
}
for (j = 0; j < m; j++)
{
scanf("%d ", &arr2[j]);
}
i = 0, j = 0;
while ((i < n) && (j < m))
{
if (arr1[i] < arr2[j])
{
printf("%d ", arr1[i++]);
}
else
{
printf("%d ", arr2[j++]);
}
}
while (i == n && j < m)
{
printf("%d ", arr2[j++]);
}
while (j == m && i < n)
{
printf("%d ", arr1[i++]);
}
return 0;
}
删除数组指定元素
int main()
{
int arr[50] = { 0 };
int n = 0;
int del = 0;
int k = 0;
scanf("%d", &n);
int i = 0, j = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &k);
for (i = 0; i < n; i++)
{
if (arr[i] != k)
{
j = i;
printf("%d", arr[j]);
}
}
return 0;
}
y--;
}
else
{
printf("找到了,下标是:%d %d\n", x, y);
return;
}
}
printf("找不到\n");
}
int main()
{
int arr[3][3] = { 1,2,3,4,5,6,7,8,9 };
int k = 0;
scanf(`在这里插入代码片`"%d",&k);
int x = 3, y = 3;
find_k(arr, k, &x, &y);
return 0;
}
返回型参数
void find_k(int arr[3][3], int k, int *px, int* py)
{
int x = 0;
int y = *px - 1;
int flag = 0;
while (x < *py && y >= 0)
{
if (arr[x][y] < k)
{
x++;
}
else if (arr[x][y] > k)
{
y--;
}
else
{
*px = x;
*py = y;
return;
}
}
//找不到
*px = -1;
*py = -1;
}
// 俩个有序序列合并
#include<stdio.h>
int main()
{
int n, m = 0;
scanf("%d %d", &n, &m);
int i = 0;
int j = 0;
int arr1[1000] = { 0 };
int arr2[1000] = { 0 };
for (i = 0; i < n; i++)
{
scanf("%d ", &arr1[i]);
}
for (j = 0; j < m; j++)
{
scanf("%d ", &arr2[j]);
}
i = 0, j = 0;
while ((i < n) && (j < m))
{
if (arr1[i] < arr2[j])
{
printf("%d ", arr1[i++]);
}
else
{
printf("%d ", arr2[j++]);
}
}
while (i == n && j < m)
{
printf("%d ", arr2[j++]);
}
while (j == m && i < n)
{
printf("%d ", arr1[i++]);
}
return 0;
}
//删除数组指定元素
int main()
{
int arr[50] = { 0 };
int n = 0;
int del = 0;
int k = 0;
scanf("%d", &n);
int i = 0, j = 0;
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &k);
for (i = 0; i < n; i++)
{
if (arr[i] != k)
{
j = i;
printf("%d", arr[j]);
}
}
return 0;
}