永发信息网

用c语言,不是c++,从键盘中输入一个字符串,然后按照下面要求输出一个新字符串。

答案:4  悬赏:10  手机版
解决时间 2021-04-04 15:44
  • 提问者网友:杀手的诗
  • 2021-04-03 20:51
用c语言,不是c++,从键盘中输入一个字符串,然后按照下面要求输出一个新字符串。
最佳答案
  • 五星知识达人网友:猎心人
  • 2021-04-03 22:04
#include
#include
#include
void insert(char *, char *,int);

int main()
{
char * a,*re;
int i=0;
a=(char *)malloc(sizeof(char)*1000);
scanf("%s",a);
while((a[i]!=0)&&i<1000){

i++;

}
printf("\n%d\n",i);

re=(char *)malloc(sizeof(char)*(2*i-1));

insert(a,re,i);
free(a);
free(re);
return 0;
}

void insert(char *a, char *re, int i){
int j=0;
for (;j<2*i-1;j++) re[j]=' ';
for (j=0;jfor (j=0;j<2*i-1;j++) printf("%c",re[j]);
printf("\n");
}
全部回答
  • 1楼网友:一秋
  • 2021-04-04 01:08
应该怎么加一个空格你都是会的吧,如果你连这最基本的东西都不会,那估计做这东西也没有用,其实这只要输出的时候使用单个字符的输出方式,就不会因为中间有空格而导致全部字符串不能输出了。
  • 2楼网友:洎扰庸人
  • 2021-04-03 23:38
恩,纯C写的
#include
#include
void insert(char *s)
{
int i = 0, n = 0;
scanf("%s", s);
char arr[100];
for(; i < strlen(s); ++i)
{
arr[n++] = ' ';
arr[n++] = s[i];
}
for(i = 0; i < n; ++i)
{
printf("%c", arr[i]);
}
}
int main()
{
char s[50];
insert(s);
return 0;
}
  • 3楼网友:逃夭
  • 2021-04-03 23:24
#include"stdio.h"
#include"string.h"
#include"malloc.h"
void insert(char a[])
{
int n,i,j=0;
char b[20];
n=strlen(a);
strcpy(b,a);
for(i=0;i<2*n;i++)
if(i%2==0)a[i]=b[j++];
else a[i]=' ';
a[2*n]='\0';
}
int main()
{
char a[9]="abcd";
// gets(a);
insert(a);
puts(a);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯