1 Star 0 Fork 0

LC.yulin/C.语言

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
test.4.5.c 6.38 KB
一键复制 编辑 原始数据 按行查看 历史
LC.yulin 提交于 2022-04-05 23:26 . C语言基础代码练习
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//void Move(int arr[], int n, int m)
//{
// int i = 0;
// int j = 0;
// for (i = 0; i < m; i++)
// {
// int tmp = *(arr + n - (m - i));
// for (j = n - (m - i); j > i; j--)
// {
// *(arr + j) = *(arr + j - 1);
// }
// *(arr + i) = tmp;
// }
//}
//int main()
//{
// int arr[30];
// int* parr = arr;
// int n, m;
// int i = 0;
// printf("请输入n的值:");
// scanf("%d", &n);
// printf("请输入m的值,确定要移动末尾多少个数字:");
// scanf("%d", &m);
// for (i = 0; i < n; i++)
// {
// scanf("%d", parr + i);
// }
// Move(arr, n, m);
// for (i = 0; i < n; i++)
// {
// printf("%d ", arr[i]);
// }
//
//
// return 0;
//}
//int main()
//{
// int arr[30] = { 0 };
// int n = 0;
// printf("请输入n的值:");
// scanf("%d", &n);
// int i = 0;
// for (i = 0; i < n; i++)
// {
// arr[i] = i + 1;//给每个人编号
// }
// int remain = 0;//当前存活人数;
// int num_off = 0;//当前报数 ;
// while (remain > 1)
// {
// int* p = arr;
// while (p != arr + n)
// {
// if (*p != 0)
// {
// num_off++;
// if (num_off == 3)
// {
// *p = 0;
// num_off = 0;
// remain--;
// }
// }
// p++;
// }
// }
// for (i = 0; i < n; i++)
// {
// if (arr[i] != 0)
// {
// printf("最后一个存活人的编号为:%d\n", arr[i]);
// break;
// }
// }
// return 0;
//}
//#include<assert.h>
//int my_strlen(const char* str)
//{
// assert(str != NULL);
// int count = 0;
// while (*str != '\0')
// {
// str++;
// count++;
// }
// return count;
//}
//int main()
//{
// char str[100] = { 0 };
// printf("请输入一个字符串:");
// scanf("%s", str);
// int ret = my_strlen(str);
// printf("字符串的长度为%d\n", ret);
//
// return 0;
//}
//int main()
//{
// char buf1[1024] = { 0 };
// char buf2[1024] = { 0 };
//
// printf("请输入字符串的内容:");
// scanf("%s", buf1);
//
// int m = 0;
// printf("请输入复制开始的位置:");
// scanf("%d", &m);
//
// char* str1 = buf1 + m;
// char* str2 = buf2;
//
// while (*str1 != '\0')
// {
// *str2 = *str1;
// str1++;
// str2++;
// }
// *str2 = '\0';
// printf("%s", buf2);
// return 0;
//}
//int main()
//{
// char buf[1024] = { 0 };
// printf("请输入字符串的内容:");
// gets(buf);
// char* ptr = buf;
// int upper = 0, lower = 0, digit = 0, space = 0, other = 0;
//
// while (*ptr != '\0')
// {
// if (*ptr >= 'A' && *ptr <= 'Z')
// {
// upper++;
// }
// else if (*ptr >= 'a' && *ptr <= 'z')
// {
// lower++;
// }
// else if (*ptr >= '0' && *ptr <= '9')
// {
// digit++;
// }
// else if (*ptr==' ')
// {
// space++;
// }
// else
// {
// other++;
// }
// ptr++;
// }
// printf("大写:%d,小写:%d,数字:%d,空格:%d,其他:%d", upper, lower, digit, space, other);
// return 0;
//}
//void Change(int arr[3][3], int arr1[3][3])
//{
// int i = 0;
// int j = 0;
// for (i = 0; i < 3; i++)
// {
// for (j = 0; j < 3; j++)
// {
// *(*(arr1 + j) + i) = *(*(arr + i) + j);
// }
// }
// return;
//}
//int main()
//{
// int arr[3][3] = { 0 };
// printf("请输入一个3*3的矩阵\n");
// int i = 0;
// for (i = 0; i < 3; i++)
// {
// scanf("%d %d %d", &arr[i][0], &arr[i][1], &arr[i][2]);
// }
//
// int arr1[3][3] = { 0 };
// Change(arr, arr1);
//
// for (i = 0; i < 3; i++)
// {
// printf("%d %d %d\n", arr1[i][0], arr1[i][1], arr1[i][2]);
// }
// return 0;
//}
//#include<stdint.h>
//void Handler(int* arr, int row, int col)
//{
// //找到最大的元素及对应的下标
// int max = INT32_MIN,max_idx;
// int i = 0;
// for (i = 0; i < row * col; i++)
// {
// if (max < *(arr + i))
// {
// max = *(arr + i);
// max_idx = i;
// }
// }
// //找到四个最小的元素以及对应的下标
// int min = INT32_MAX, min_idx[4];
// int j = 0;
// for (i = 0; i < 4; i++)//找到四个元素
// {
// min = INT32_MAX;
// for (j = 0; j < row*col; j++)//遍历整个数组
// {
// int k = 0;
// for (k = 0; k < i; k++)//k控制找到的元素是第几个最小的元素
// {
// if (j == min_idx[k]);
// break;
// }
// if (k != i)
// continue;
// if (min < *(arr + j))
// {
// min = *(arr + j);
// min_idx[i] = j;
// }
// }
//
// }
// int center_idx = (row + col) / 2;
// int left_up_idx = 0;
// int right_up_idx = col - 1;
// int left_down_idx = col * (row - 1);
// int right_down_idx = row * col - 1;
//
// int tmp = 0;
// tmp = *(arr + center_idx); *(arr + center_idx) = *(arr + max_idx); *(arr + max_idx) = tmp;
// tmp = *(arr + left_up_idx); *(arr + left_up_idx) = *(arr + min_idx[0]); *(arr + min_idx[0]) = tmp;
// tmp = *(arr + right_up_idx); *(arr + right_up_idx) = *(arr + min_idx[1]); *(arr + min_idx[1]) = tmp;
// tmp = *(arr + left_down_idx); *(arr + left_down_idx) = *(arr + min_idx[2]); *(arr + min_idx[2]) = tmp;
// tmp = *(arr + right_down_idx); *(arr + right_down_idx) = *(arr + min_idx[3]); *(arr + min_idx[3]) = tmp;
// return;
//}
//int main()
//{
// int arr[5][5] = { 0 };
// printf("请输入一个5*5的矩阵:\n");
// int i = 0;
// for (i = 0; i < 5; i++)
// {
// scanf("%d %d %d %d %d", &arr[i][0], &arr[i][1], &arr[i][2], &arr[i][3], &arr[i][4]);
// }
//
// Handler((int*)arr, 5, 5);
//
// for (i = 0; i < 5; i++)
// {
// printf("%d %d %d %d %d\n", arr[i][0], arr[i][1], arr[i][2], arr[i][3], arr[i][4]);
// }
// return 0;
//}
//void SortStr(char str_arr[32][32], int n)
//{
// int i = 0;
// int j = 0;
// for (i = 0; i < n; i++)
// {
// for (j = i + 1; j < n; j++)
// {
// if (strcmp(*(str_arr + i), *(str_arr + j)) > 0)
// {
// char tmp[32] = { 0 };
// strcpy(tmp, *(str_arr + i));
// strcpy(*(str_arr + i), *(str_arr + j));
// strcpy(*(str_arr + j), tmp);
// }
// }
// }
// return;
//}
//int main()
//{
// char str_arr[32][32] = { 0 };
// printf("请输入要输入的字符串个数:");
// int n = 0;
// scanf("%d", &n);
// printf("请输入%d个字符串:\n", n);
// int i = 0;
// for (i = 0; i < n; i++)
// {
// scanf("%s", str_arr[i]);
// }
// SortStr(str_arr, n);
// for (i = 0; i < n; i++)
// {
// printf("%s\n", str_arr[i]);
// }
//
// return 0;
//}
void StrSort(char* p_str[], int n)
{
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (strcmp(p_str[i], p_str[j]) > 0)
{
char* tmp = *(p_str + i);
*(p_str + i) = *(p_str + j);
*(p_str + j) = tmp;
}
}
}
return;
}
int main()
{
char str_arr[32][32] = { 0 };
char* p_str[32];
int i = 0;
for (i = 0; i < 32; i++)
{
p_str[i] = str_arr[i];
}
printf("请输入要输入的字符串个数:");
int n = 0;
scanf("%d", &n);
printf("请输入%d个字符串:\n", n);
for (i = 0; i < n; i++)
{
scanf("%s", p_str[i]);
}
StrSort(p_str, n);
for (i = 0; i < n; i++)
{
printf("%s\n", p_str[i]);
}
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/lc-yulin/c-language.git
git@gitee.com:lc-yulin/c-language.git
lc-yulin
c-language
C.语言
master

搜索帮助