A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 jiangenhao 于 2014-4-26 00:09 编辑
  1. 下面程序的功能是将字符串s的所有字符传送到字符串t中,要求每传递三个字符后再存放一个空格,例如字符串s为"abcdefg",则字符串t为"abc def g",请选择填空。
  2. #include "stdio.h"
  3. #include "string.h"
  4.     main()
  5.     {
  6.         int j, k=0;
  7.         char s[60], t[100], *p;
  8.         p=s;
  9.         gets(p);
  10.         while(*p)
  11.         {  for (j=1; j<=3 && *p; 【1】)  t[k]=*p;
  12.             if (【2】) { t[k]=' '; k++;}
  13.         }
  14.         t[k]='\0';
  15.         puts(t);
  16.     }
复制代码


评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

6 个回复

倒序浏览

#include "stdio.h"
#include "string.h"
int main()
{
                int j = 1, k = 0,i = 0;
                char s[60], t[100] = { 0 }, *p;
                gets(s);
                while (1)
                {
                        for (; i < 3*j; i++){
                                t[k++] = s[i];
                        }
                        t[k++] = ' ';
                        j++;
                        if (t[strlen(t) - 1] == s[strlen(s) - 1])
                                break;
                }
                puts(t);
}
:L重写了个

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
gets的作用是获取字符串第一个答案为p++,k++,j++第二个答案为j == 4
回复 使用道具 举报 1 0
  1. #include "stdio.h"
  2. #include "string.h"
  3. int main()
  4. {
  5.     int j, k=0;
  6.     char s[60], t[100], *p;
  7.     p=s;
  8.     gets(p);
  9.     while(*p)
  10.     {  for (j=1; j<=3 && *p; p++,j++,k++)  t[k]=*p;
  11.         if (!((k+1)%4)) { t[k]=' '; k++;}
  12.     }
  13.     t[k]='\0';
  14.     printf("string is %s",t);
  15.     return 0;
  16. }
复制代码

楼主 按你要求填的空。。真有一种重写的冲动。。

点评

!((k+1)%4) 是这样 好坑啊  发表于 2014-4-24 23:22

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
感觉你那程序死循环
重写了个你参考下
#include<stdio.h>
#include<string.h>
int main(void){
char s1[]="abcdefg";
char s2[]="\0";
int length=0,i=0,j=0;
length=strlen(s1);
s2[0]=s1[0];
for(i=1,j=1;i<length;++i,j++){
if(i%3==0){
s2[j]=' ';
j++;
}
s2[j]=s1[i];
}
puts(s2);
return 0;
}
回复 使用道具 举报
整明白了 魅影穿眸更接近标准化 就是没有注释 谢谢大家
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马