| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2886 人关注过本帖
标题:求解,输入1990要求输出1 9 9 0 两个数字间有空格
只看楼主 加入收藏
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
结帖率:76.92%
收藏
已结贴  问题点数:10 回复次数:10 
求解,输入1990要求输出1 9 9 0 两个数字间有空格
#include<stdio.h>
#include<string.h>
char str1[80]={' '};
main()
{
void insertstr(char str[]);
char str2[20];
scanf("%s",str2);
insertstr(str2);

}



void insertstr(char str[])
{
int i,j;
  for (i=0,j=0;j<=strlen(str);i++,j++)
    str1[2*i]=str[j];
  printf("%s\n",str1);
}

我觉得我这个很合理就是得不出结果,请高手帮我忙啊 万分感激!
搜索更多相关主题的帖子: void 1990 include 
2012-04-08 12:40
moonnight
Rank: 5Rank: 5
等 级:职业侠客
帖 子:158
专家分:380
注 册:2012-3-17
收藏
得分:4 
char str1[80]={' '};
 初始化时第一个元素时‘ ’,其他都为0,而你str1[2*i]=str[j];并没有改变str1[1]的值,str1[1]的值还是0,你以字符串格式输出,只能输出str[0]
 
2012-04-08 12:46
阴阳
Rank: 4
等 级:业余侠客
帖 子:102
专家分:297
注 册:2012-4-7
收藏
得分:4 
程序代码:
#include<stdio.h>
#include<string.h>

void insertstr(char str[],char str0[]);

void main()

 {
    char str1[10] = {0};
    char str2[20];
  
    gets(str2);
    insertstr(str1,str2);

    printf("%s",str1);
    printf("\n");
}
void insertstr(char str0[],char str[])

 {
   int i,j;

 
   for (i=0,j=0;j<strlen(str);i++)
     if ( i % 2 == 0)
         str0[i]=str[j];
     else
         {
             str0[i] = ' ';
             j++;
         }

 }

 

这样行的,最好还是不要用那个全局变量吧!

一阴一阳之谓道!
2012-04-08 13:20
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
收藏
得分:0 
回复 3楼 阴阳
#include<stdio.h>
#include<string.h>
main ( )
{char str[80];
 void insert(char str[]);
 printf("\nInput four digits:");
 scanf("%s",str);
 insert(str);
}

void insert(char str[])
{int i;
 for (i=0;i<strlen(str);i++)
 {str[2*i]=str[i];
  str[2*i+1]=' ';
  }
 printf("\nOutput:\n%s",str);
}
为什么我这样写就不会有答案出来呢,帮我 弄一下 啊!嘻嘻。。
2012-04-08 13:28
阴阳
Rank: 4
等 级:业余侠客
帖 子:102
专家分:297
注 册:2012-4-7
收藏
得分:0 
当i=0时,str[0]=1,str[1]=空格,当i=1时,str[2]=str[1](这里的str[1]本应该是9的,但上一步i=0时被改变,所以就凌乱了)

一阴一阳之谓道!
2012-04-08 13:39
陆嘉文
Rank: 1
来 自:江西
等 级:新手上路
帖 子:96
专家分:6
注 册:2011-11-10
收藏
得分:0 
回复 5楼 阴阳
谢谢,万分感激,谢谢啊万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激万分感激
2012-04-08 13:52
heifeng2012
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:53
专家分:113
注 册:2012-3-22
收藏
得分:0 
我重新写了一个
#include <stdio.h>
int main()
{
    char ss[20],*p;
    int i=0;
    p=ss;  
    printf("请入一个数:");
    scanf("%s",ss);
    printf("%s\n",ss);
    for(i;ss[i]!='\0';i++)
        {
           printf("%c",ss[i]);
           putchar(' ');
      
        }
            if(ss[i]=='\0')
               {
               ss[i]==' ';
              putchar('\b');            
               putchar(' ');
                putchar('\b');
               i--;
               }
    return 0;
}
2012-04-08 23:26
懒小梦
Rank: 1
等 级:新手上路
帖 子:5
专家分:1
注 册:2012-2-29
收藏
得分:0 
我想问一下,如果先拆分数字,然后直接输出会不会也正确呢?
2012-04-09 00:04
az569872968
Rank: 2
等 级:论坛游民
帖 子:46
专家分:78
注 册:2012-3-14
收藏
得分:0 
gets  接收
2012-04-09 15:27
az569872968
Rank: 2
等 级:论坛游民
帖 子:46
专家分:78
注 册:2012-3-14
收藏
得分:0 
gets  接收
2012-04-09 15:27
快速回复:求解,输入1990要求输出1 9 9 0 两个数字间有空格
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019205 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved