求C语言高手帮忙啊,急急急

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:32:15
1. 不使用库函数,实现strlen函数的编写:形参类型为字符数组或字符串,要求统计字符串str中字符的个数。返回字符个数。函数原型为:unsigned int strlen (char *str)。
2. 实现任意输入数值,建立一个单向链表,并按反向进行输出。
3. 已知某数列前两项分别为2和3,其后继项根据数列最后两项的乘积,按下列规则生成:
(1)若乘积为一位数,则该乘积即为数列的后继项;
(2)若乘积为二位数,则该乘积的十位数字和个位数字依次作为数列的两个后继项。
编制程序计算数列前20 项之和并输出数列中的各项(要求将数列前20项保存在数组中且不可多存)。
(例如,数列前10项为:2,3,6,1,8,8,6,4,2,4)
4.编制一个自定义函数,函数的形参为字符数组s1和s2,函数功能是将字符串s1中的所有数字字符取出,存入另一字符数组s2中,使s2成为一个新的字符串,并在函数中将字符串s2输出。 (请按题目要求只需用自定义函数完成全部功能)

这4个题目能帮忙做做吗,最好附上注释,能解释解释,千谢万谢了!!!

第1题
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
1.程序分析:
2.程序源代码:
main()
{
int len;
char *str[20];
printf("please input a string:\n");
scanf("%s",str);
len=length(str);
printf("the string has %d characters.",len);
}
length(p)
char *p;
{
int n;
n=0;
while(*p!='\0')
{
n++;
p++;
}
return n;
}

第2题
题目:创建一个链表。
1.程序分析:
2.程序源代码:
/*creat a list*/
#include "stdlib.h"
#include "stdio.h"
struct list
{ int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{ link ptr,head;
int num,i;
ptr=(link)malloc(sizeof(node));
ptr=head;
printf("please input 5 numbers==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num