| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 362 人关注过本帖
标题:为什么输出不是这样
只看楼主 加入收藏
圣域2000A
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-9-29
结帖率:0
收藏
 问题点数:0 回复次数:6 
为什么输出不是这样
#include "stdafx.h"
#include "stdio.h"


int main(int argc, char* argv[])
{
    int i=0,j=0;
    int narray[5]={1,2,3,4,5};
    char array[5][5];
   
   
    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++);
        {
            if(j<narray[i])
            {
                array[i][j]='*';
            }
            else
            {
                array[i][j]='$';
            }
        }
    }


    for(i=0;i<5;i++)
    {
        for(j=0;j<5;j++);
        {
            printf("%c",array[i][j]);
        }
        printf("\n");
    }
        
    return 0;
}


*$$$$
**$$$
***$$
****$
*****
2015-11-09 02:13
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
打个这么个图形 还用如此麻烦吗


程序代码:
#include <stdio.h>

#define n 5

int main(int argc, char* argv[])
{
    int i,j;
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++) printf("*");
        for(j=i+1;j<n;j++) printf("$");
        printf("\n");
    }
    return 0;
}

DO IT YOURSELF !
2015-11-09 08:25
圣域2000A
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-9-29
收藏
得分:0 
回复 2楼 wp231957
我需要把它存到数组里,但是我不知道为什么我语句逻辑错在哪
2015-11-09 09:33
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 3楼 圣域2000A
看一下我的代码   把我的printf语句改成保存至数组就ok了

至于你原来的代码  逻辑上根本就不对  也没法修改

DO IT YOURSELF !
2015-11-09 09:37
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include <stdio.h>

#define n 5

int main(int argc, char* argv[])
{
    int i,j;
    char s[n][n]={'\0'};
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)  s[i][j]='*';
        for(j=i+1;j<n;j++) s[i][j]='$';
    }
    for(i=0;i<n;i++,printf("\n")) for(j=0;j<n;j++)  printf("%c",s[i][j]);
    return 0;
}

DO IT YOURSELF !
2015-11-09 09:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9032
专家分:54061
注 册:2011-1-18
收藏
得分:0 
以下是引用圣域2000A在2015-11-9 09:33:21的发言:

我需要把它存到数组里,但是我不知道为什么我语句逻辑错在哪
for(j=0;j<5;j++); 有两处,后面竟然加了分号

也许可以归咎于粗心,但我认为是不良的代码习惯造成的,自上世纪末,C标准就推荐你将变量定义在需要使用的地方,比如删掉一些无关的代码左演示
程序代码:
int main( void )
{
    // int i=0,j=0;
    for( int j=0;j<5;j++); // 这里多了个分号
    {
        j;
    }

    return 0;
}
你看,编译器就能报错:'j' : undeclared identifier
而如果
程序代码:
int main( void )
{
    int i=0,j=0;
    for( j=0;j<5;j++); // 这里多了个分号
    {
        j;
    }

    return 0;
}
编译器就看不出你错了


[此贴子已经被作者于2015-11-9 10:08编辑过]

2015-11-09 10:05
圣域2000A
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2015-9-29
收藏
得分:0 
回复 6楼 rjsp
谢谢你
2015-11-09 12:06
快速回复:为什么输出不是这样
数据加载中...
 
   



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

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