鸦领主 发表于 2020-12-20 12:05:37

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]
查看完整版本: C语言学习第九天 编写函数数组练习(下)