| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 837 人关注过本帖
标题:我是新人想求助各位高手看看,我写的程序错在哪?
只看楼主 加入收藏
aaaliudebao
Rank: 2
等 级:论坛游民
帖 子:18
专家分:23
注 册:2011-3-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
我是新人想求助各位高手看看,我写的程序错在哪?
我要实现的是从一个字符串中每隔5个取出一个字符输出;

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
void main()
{   
    char sz[] = {"#if !defined(AFX_STDAFX_H__6FE9C3E6_9E17_4973_BE60_201DABB00EFB__INCLUDED_"};
    int i, j=0, max;
    max = strlen(sz)/6;
    char str1[50];
    char c;
    for (i=0; i<strlen(sz); i++)
    {
        if ((i+1)%6 == 0)
        {
            c = sz[i];
            str1[j] = c;
            j=j+1;
        }
    }
    for (j=0; j<max; j++)
    {
        printf("%2s",str1[j]);
    }
    printf("\n");
}
搜索更多相关主题的帖子: 字符串 
2011-03-21 12:34
PP_make
Rank: 2
等 级:论坛游民
帖 子:21
专家分:62
注 册:2010-4-25
收藏
得分:5 
楼主为什么不这样做呢?:

        len = strlen(sz);
    for(i = 0; i< = len ; i+= 6)
        printf("%2c", sz[i]);

这样应该会好些~

[ 本帖最后由 PP_make 于 2011-3-21 14:40 编辑 ]
2011-03-21 13:19
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:15 
没那么复杂吧!(个人感觉)
程序代码:
#include <stdio.h>

int main (void) {

        char str[]="12345a12345b12345c1234cdabcdef";
        int i;
        printf ("%s\n",str);
        for(i=0;str[i]!='\0';i++) {
                if((i+1)%6==0) { printf ("%c",str[i]); }
        }
        return 0;

}
收到的鲜花
  • aaaliudebao2011-03-21 22:32 送鲜花  3朵  

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-21 13:22
aaaliudebao
Rank: 2
等 级:论坛游民
帖 子:18
专家分:23
注 册:2011-3-7
收藏
得分:0 
回复 2楼 PP_make
那个 i += 6 什么意思?
2011-03-21 20:36
oulihua75316
Rank: 2
来 自:湖南永州
等 级:论坛游民
帖 子:11
专家分:72
注 册:2011-3-20
收藏
得分:0 
以下是引用aaaliudebao在2011-3-21 20:36:07的发言:

那个 i += 6 什么意思?
额???兄弟,你是不是C的第一本书都没看啊?

笨笨熊真的很郁闷,因为没人喜欢它……
2011-03-21 20:50
aaaliudebao
Rank: 2
等 级:论坛游民
帖 子:18
专家分:23
注 册:2011-3-7
收藏
得分:0 
回复 5楼 oulihua75316
看了,不过没见到这个,解释下,
2011-03-21 22:31
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
收藏
得分:0 
回复 6楼 aaaliudebao
i=i+6

因为有了因为,所以有了所以,既然已成既然,何必再说何必
2011-03-21 22:32
canxden
Rank: 3Rank: 3
来 自:江西奉新
等 级:论坛游侠
帖 子:114
专家分:105
注 册:2011-3-18
收藏
得分:0 
看不懂……

一个人能有多坚强,太安静,就成了孤单。
2011-03-21 22:55
SGT_JM
Rank: 2
等 级:论坛游民
帖 子:14
专家分:10
注 册:2011-3-21
收藏
得分:0 
是你最后输出的时候错了,也就是%2s这里,换成%c就好!你试试吧,希望能帮到你!
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
void main()
{   
    char sz[] = {"#if !defined(AFX_STDAFX_H__6FE9C3E6_9E17_4973_BE60_201DABB00EFB__INCLUDED_"};
    int i, j=0, max;
    char str1[50];
    char c;

    max = strlen(sz)/6;
   
    for(i=0; i < (sizeof(sz) - 1); i++)
    {
        if ((i+1)%6 == 0)
        {
            c = sz[i];
            str1[j] = c;
            j=j+1;
        }
    }
    for(j = 0; j < max; j++)
    {
        printf("%c",str1[j]);
     }
    printf("\n");
}
收到的鲜花
  • aaaliudebao2011-03-22 10:01 送鲜花  3朵   附言:我很赞同
2011-03-22 09:18
常建华
Rank: 2
等 级:论坛游民
帖 子:16
专家分:28
注 册:2011-3-20
收藏
得分:0 
没这么复杂吧
2011-03-22 09:40
快速回复:我是新人想求助各位高手看看,我写的程序错在哪?
数据加载中...
 
   



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

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