求一c程序设计题,求高手解答、急!

2024-12-27 15:50:33
推荐回答(3个)
回答1:

运用数组、指针、循环结构、自定义函数
定义一个长度为80的数组str,运用gets将字符串输入该数组,利用指针pt指向该数组。输入分割字符x,将指针和x的值作为实参赋给自定义函数中的形参,后在自定义函数中,利用循环结构,将指针指向每一个字符,在指针没遇到结束标志“\0”的情况下,若指针指向的字符等于分割字符时,则按空格输出,若指针指向的字符不等于分割字符时,则继续输出此字符。当指针遇到结束标志“\0”时,此程序结束。
#include
int main()
{
void f(char*s,char del);
char str[80],x,*pt;
pt=str;
printf("输入字符串:\n");
gets(pt);
printf("输入分割字符:\n");
scanf("%c",&x);
printf("输出字符:\n");
f(pt,x);
return 0;
}
void f(char*s,char del)
{
int i;
for(i=0;*(s+i)!='\0';i++)
if(*(s+i)!=del)
printf("%c",*(s+i));
else printf("");
}

回答2:

#include

f(char s[],char del)
{
int i=0;
int flag = 0;
while(s[i]!='\0')
{
if (s[i] == del)
{
if (flag ==0)
{
printf("\n");
}
flag = 1;
}
else
{
printf("%c",s[i]);
flag = 0;
}
i++;
}
printf("\n");
}

main()
{
char s[100];
char del;
printf("input a string:");
gets(s);
printf("input a char:");
scanf("%c",&del);
f(s,del);
}

回答3:

#include
#include
using namespace std;

void functions(char*str,char ch)
{
string s = "";
int length = strlen(str);
for (int i=0; i {
if (str[i]==ch)
{
if (s.length()==0)
{
continue;
}
else
{
cout< s = "";
}
}
else
{
s.append(1,str[i]);
}
}
if (str[length-1]!=ch)
{
cout< }
}
int main()
{
char arrays[]="absdffffasfjhskfsdfs";
functions(arrays,'f');
return 0;
}