在主函数中定义a,b,c三个字符串数组,从键盘对a和c字符串赋值,编写以下函数,要求在主函数中调用以下函数并在主函数中输出结果,: (1) 编写函数,实现计算字符串a中字符的个数。(注:不能直接用标准库函数) (2) 编写函数,实现复制a字符串到字符串b中,但a中的数字字符不复制过去。 (3)编写函数实现将c字符串连接到a字符串的后面。(注:不能直接用标准库函数)
#include [stdio.h] int mylen(char a[]);/*注意函数完成功能不同,其类型也不同*/ void mycopy(char a[],char b[]);//不需要返回值 void mycat(char a[],char c[]); int mylen(char a[]) { int i; for(i=0;a[i]!='\0';i++); return i; } void mycopy(char a[],char b[]) { int i,j; for(i=0,j=0;a[i]!=0;i++) if((a[i]>='9'||a[i]<='0')) { b[j]=a[i]; j++; } b[j]='\0'; } void mycat(char a[],char c[]) { int i=0,j=0; for(;a[i]!='\0';i++); for(;c[j]!='\0';j++,i++) {a[i]=c[j]; } a[i]='\0'; } int main() { char a[100],b[100],c[100]; printf("请输入字符串a:\n"); gets(a); printf("请输入字符串c:\n"); gets(c); printf("该字符串长度是%d。\n",mylen(a)); //完成第一问 mycopy(a,b); puts(b); //完成第二问 mycat(a,c); puts(a); //完成第三问 return 0; }[/i][/i][/i][/i][/i][/i][/i][/i]
举一反三
- 编写一函数,求一个字符串的长度,要求用字符指针实现。在主函数中输入字符串,调用该函数输出其长度
- 在主函数中输入1个字符串,存入字符数组s2中,然后调用自己编写的函数char*strcpy(char*s1,char*s2),将字符数组s2中的字符串复制到新的字符数组s1中,然后把字符数组s1中的字符串输出。具体要求:1)、字符串的输入、输出都在主函数中进行;2)、函数char*strcpy(char*s1,char*s2)需自己编写,使用指针实现(不得使用已有的库函数中函数)。
- 9.编写函数,实现去掉一个字符串前后空格字符的功能,并在主函数中调用该函数
- 题目2:字符串和函数要求从键盘中输入一个字符串,字符串为学生本人的学号(示例:“202111612101”),然后分别统计字符串中数字字符‘1’的个数,并输出。(要求使用字符数组、函数调用)题目2:字符串和函数要求从键盘中输入一个字符串,字符串为学生本人的学号(示例:“202111612101”),然后分别统计字符串中字符‘2’的个数,并输出。(要求使用字符数组、函数调用)
- 编写一个函数,由实参传来一个字符串,统计字符串中字母,数字,空格和其他字符的个数,在主函数 中输入字符串以及输出上述的结果。
内容
- 0
试写出用单链表表示的字符串类及字符串结点类的定义,并依次实现它的构造函数、以及计算串长度、串赋值、判断两串相等、求子串、两串连接、求子串在串中位置等7个成员函数。要求每个字符串结点中只存放-字符。
- 1
请编写程序:主函数从命令行读入一个文件名,然后调用函数getline从文件中读入一个字符串放到字符数组str中(字符个数最多为100个)。函数返回字符串的长度。在主函数中输出字符串及其长度
- 2
以下对字符数组的描述,正确的是() A: 可以用length函数计算字符数组中字符串的长度 B: 字符数组只能存放字符串,不能存放普通字符 C: 使用printf函数整体输出字符数组中的字符串时,输出到字符'\0'结束输出 D: 字符串数组是一维字符数组
- 3
strcmp()函数用来()。 A: 求字符串长度 B: 比较字符 C: 求子串 D: 字符串拷贝
- 4
题目:编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串并输出上述的统计结果。