求算法流程图

#include<stdio.h>
int fun(char *p) /*定义fun函数*/
{int q=1,n=0; /*定义两个变量q=1,n=0*/
if(*p++=='-') q=-1;/* 如果s[0]为负号,则q= -1*/
else *p--; /*否则,指针指向s[0]*/
while(*p>='0'&&*p<='9') /*循环,将数组中的数字取出*/
n=n*10+*p++-'0';
return q*n;
}
int main()
{char s[20]; /*定义一个数组*/
scanf("%s",s); /*输入数组中的元素值*/
printf("%d\n", fun(s)); /*将数组中的元素分别带入fun函数并输出 */
return 0;
}

参照答案改掉后是这样的

#include<stdio.h>
void fun(char*p,char*b)
{
int i,k=0;
while(*p)
{
i=1;
while(i<=3||*p) //改为while(i<=3&&*p)
{
b[k]=*p;
k++;
p++;
i++;
}
if(*p)
{
b[k]=' '; //答案上是改为b[k++]=' '; 也就是 b[k]=' ';k++; 就能得到正确结果了
}
}
b[k]='\0';
}
void main()
{
char a[80],b[80];
printf("Enter a string:\n");
gets(a);
printf("The original string:\n");
puts(a);
fun(a,b);
printf("\nThe string after insert space:\n");
puts(b);
printf("\n\n");
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答