C语言学习第九天 编写函数数组练习(下)
本帖最后由 鸦领主 于 2020-12-23 15:22 编辑1.编写string length函数,求出字符串数组的长度(string length字符串长度)
//string length函数运算区
#include<stdio.h>
intstringlength(char s[])
{
int i = 0;
while (s)
{
i++;
}
return i; //把i的值返回出去
}
#include<stdio.h>
int stringlength(char s[]);
int main()
{
char s;
scanf_s("%s", &s, sizeof(s));
printf("%d", stringlength(s));//i传到这里打印
return 0;
}
2.编写reverse函数,使字符串再数组内反序(reverse反转)
//reverse函数运算区
#include<stdio.h>
voidreverse(char s[])
{
int i = 0;
while (s)
{
i++;
}
int n = 0;
while (n<--i)
{
int t =s;
s = s;
s = t;
n++;
}
}#include<stdio.h>
voidreverse(char s[]);
int main()
{
char s;
scanf_s("%s", s, sizeof(s));
reverse(s);
printf("%s", s);
return 0;
}
3.编写Capitalize函数,使输入的小写字母变成大写(Capitalize大写)
//Capitalize函数运算区
#include<stdio.h>
voidCapitalize(char s[])
{
int i = 0;
while (s)
{
if (s >= 'a' && s <= 'z')//如果i=a到z
s -= 'a' - 'A'; //那么i=a到z-32就等于A-Z
i++;
}
}//
gets() 函数的功能是从输入中读取字符串存储到字符指针变量 s 所指向的内存空间。
//参数类型为 char* 型(比起scanf可以输入空格)
#include<stdio.h>
voidCapitalize(char s[]);
int main()
{
char s;
gets_s(s, sizeof(s));//=scanf_s("%s",&s,sizeof(s))
Capitalize(s);
printf("%s", s);
return 0;
}
4.编写stringfind函数,随便输入一窜字母,然后输入字母查看有没有在第几个(stringfind查找字符串)
//<i>stringfind函数运算区</i>
#include<stdio.h>
voidstringfind(char s[],char c)
{
int i = 0;
while (s)
{
if (s == c)
{
printf("%d", i+1);
return;
}
i++;
}
printf("不存在");
}
#include<stdio.h>
voidstringfind(char s[], char c);
int main()
{
char s;
printf("请输入字符串:");
gets_s(s, sizeof(s));//scanf_s("%s", &s, sizeof(s));
printf("请输入要查找的字符串:");
stringfind(s, getchar());
return 0;
}
页:
[1]