1.C中自带大小写转化函数,本文通过自己创建函数来实现字符串大小写转化:
#include<stdio.h>
#include<string.h>
//将输入字符串全部转为大写
void StringUpper(char str[])
{
printf("%d\n",sizeof(str));
int i = 0;
while (str[i])
{
if (str[i]>='a'&&str[i]<='z')
{
str[i] -= 'a' - 'A';
}
++i;
}
}
//将输入字符串全部转为小写
void StringLower(char str[])
{
printf("%d\n", sizeof(str));
int i = 0;
while (str[i])
{
if (str[i] >= 'A'&&str[i] <= 'Z')
{
str[i] += 'a' -'A';
}
++i;
}
}
//求字符串个数
int CharCount(char str[])
{
int i = 0;
while (str[i])
++i;
return i;
}
int main()
{
char a[32];
//scanf_s("%s",a,sizeof(a));
gets_s(a,sizeof(a));
size_t t;
t = strlen(a);
/*_strupr_s(a,sizeof(a));*/
StringUpper(a);
puts(a);
StringLower(a);
puts(a);
int count=CharCount(a);
printf("输入字符个数:%d\n",count);
return 0;
}
2.C语言中排序法
#include<stdio.h>
#include<stdlib.h>
void display(int a[],int len);
//冒泡排序从大——小
void Sort(int a[], int length)
{
int i = 0;
while (i<length-1)
{
int j = 0;
while (j<length-i - 1)
{
if (a[j]<a[j + 1])
{
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
++j;
}
++i;
}
}
//小-大
void DesendSort(int a[],int len)
{
int i = 0;
while (i<len-1)
{
int j = len - 1;
while (j>0)
{
if (a[j - 1]>a[j])
{
int t = a[j];
a[j] = a[j - 1];
a[j - 1] = t;
}
--j;
}
++i;
}
}
int main()
{
int a[5] = {4,6,0,12,11};
//Sort(a,sizeof(a)/sizeof(a[0]));
DesendSort(a,_countof(a));
display(a,_countof(a));
return 0;
}
void display(int a[],int len)
{
int i = 0;
while (i<len)
{
printf("%d ", a[i]);
++i;
}
}
3.查找字符
#include<stdio.h>
int StringFind(char str[], char c)
{
int i = 0,j=0;
while (str[i])
{
if (str[i] == c)
++j;
return i;
++i;
}
return -1;
}
int main()
{
char s[32], a;
printf("请输入被查找的字符串: ");
gets_s(s,sizeof(s));
printf("请输入要查找的字符: ");
fflush(stdin);
a = getchar();
int n=StringFind(s,a);
if (n < 0)
puts("未找到");
else
printf("以及找到目标字符,位置是:%d\n",n);
return 0;
}
4.字符串反转
#include<stdio.h>
void Reverse(char str[])
{
char*p = str;
while (*p)
++p;
while (--p > str)
{
char t = *p;
*p = *str;
*str = t;
++str;
}
}
int main()
{
char s[20];
scanf_s("%s",&s,sizeof(s));
puts(s);
Reverse(s);
puts(s);
return 0;
}