| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 896 人关注过本帖
标题:输入年份有 0 的时候 0 这个数字第一行会少一个*,还有如何让年份在一行输出 ...
只看楼主 加入收藏
Lx947154276
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
输入年份有 0 的时候 0 这个数字第一行会少一个*,还有如何让年份在一行输出。求大神指点
程序代码:
#include<stdio.h>
int main()
{
    char xin[10][25]={{'*','*','*','*','*','*',' ',' ',' ','*','*',' ',' ',' ','*','*',' ',' ',' ','*','*','*','*','*','*'}, 
    {' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' '},
    {'*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*'},
    {'*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*','*'},
    {'*',' ',' ',' ','*','*',' ',' ',' ','*','*','*','*','*','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*'},
    {'*','*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*','*'},
    {'*','*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*','*',' ',' ',' ','*','*','*','*','*','*'},
    {'*','*','*','*','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*',' ',' ',' ',' ','*'},
    {'*','*','*','*','*','*',' ',' ',' ','*','*','*','*','*','*','*',' ',' ',' ','*','*','*','*','*','*'},
    {'*','*','*','*','*','*',' ',' ',' ','*','*','*','*','*','*',' ',' ',' ',' ','*','*','*','*','*','*'}};
    char nian[4];
    int i,j,k;
    printf("请输入你要输出的年份");
    scanf("%s",nian);
    for(k=0;k<4;k++)
    {
    i=nian[k]-'0';
    for(j=0;j<25;j++)
    {
        printf("%c",xin[i][j]);
        if(j%5==4)
            printf("\n");
    }
    }
    return 0;
}

为什么0~9这10个数字只有0输出的时候不对,还有怎样才可以吧年份放在一行输出呢
搜索更多相关主题的帖子: color 如何 
2014-04-15 20:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
没看慬你的程序想干吗

DO IT YOURSELF !
2014-04-15 22:19
Lx947154276
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-6
收藏
得分:0 
回复 2 楼 wp231957
我输入任意一个年份,希望用*号表示0~9输出,每个数字都是由25个字符组成,我希望输出的年份能够在一行。同时0输出的时候总是出错
2014-04-16 00:15
Lx947154276
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-6
收藏
得分:0 
回复 2 楼 wp231957
其实就是编万年历的时候第一步用*号输出年份
2014-04-16 00:17
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
你是要这个效果吗

我目前除了硬编码之外  没想到啥好的办法

程序代码:
*****   *****       *   *   *
    *   *   *       *   *   *
*****   *   *       *   *****
*       *   *       *       *
*****   *****       *       *

*****   *****   *****   *****
*       *           *   *   *
*****   *****       *   *****
    *   *   *       *   *   *
*****   *****       *   *****

    *   *****   *****   *****
    *   *   *   *   *   *   *
    *   *****   *****   *   *
    *       *       *   *   *
    *   *****   *****   *****

DO IT YOURSELF !
2014-04-16 09:00
Lx947154276
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-6
收藏
得分:0 
回复 5 楼 wp231957
对的,就是要这效果,但是是要根据用户输入的年份输出,用C有什么方法么?能够改变光标的位置呢?
2014-04-16 14:15
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
有很多種方法,自己開動腦筋想一下。不過無論你想到多少種、什麽樣的方法,都與學C無關,祗是一個人的設計靈感罷了。

授人以渔,不授人以鱼。
2014-04-16 14:56
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:20 
程序代码:
#include <stdio.h>
#include <malloc.h>

void prn_year(int year)
{
    int t1,t2,t3,t4;
    t1 = year        % 10;
    t2 = (year/10  ) % 10;
    t3 = (year/100 ) % 10;
    t4 = (year/1000) % 10;
    char* cy[5][10];
    int i;

    cy[0][0]=(char*)malloc(sizeof(char)*6*50);
    cy[0][0]="*****";cy[0][1]="    *";cy[0][2]="*****";
    cy[0][3]="*****";cy[0][4]="*   *";cy[0][5]="*****";
    cy[0][6]="*****";cy[0][7]="*****";cy[0][8]="*****";cy[0][9]="*****";

    cy[1][0]="*   *";cy[1][1]="    *";cy[1][2]="    *";
    cy[1][3]="    *";cy[1][4]="*   *";cy[1][5]="*    ";
    cy[1][6]="*    ";cy[1][7]="    *";cy[1][8]="*   *";cy[1][9]="*   *";

    cy[2][0]="*   *";cy[2][1]="    *";cy[2][2]="*****";
    cy[2][3]="*****";cy[2][4]="*****";cy[2][5]="*****";
    cy[2][6]="*****";cy[2][7]="    *";cy[2][8]="*****";cy[2][9]="*****";

    cy[3][0]="*   *";cy[3][1]="    *";cy[3][2]="*    ";
    cy[3][3]="    *";cy[3][4]="    *";cy[3][5]="    *";
    cy[3][6]="*   *";cy[3][7]="    *";cy[3][8]="*   *";cy[3][9]="    *";

    cy[4][0]="*****";cy[4][1]="    *";cy[4][2]="*****";
    cy[4][3]="*****";cy[4][4]="    *";cy[4][5]="*****";
    cy[4][6]="*****";cy[4][7]="    *";cy[4][8]="*****";cy[4][9]="*****";

    for(i=0;i<5;i++) printf("\t%s\t%s\t%s\t%s\t\n",cy[i][t4],cy[i][t3],cy[i][t2],cy[i][t1]);
    printf("\n");
    free(cy[0][0]);    
}

int main(void)
{
    printf("\n");
    prn_year(2314);
    printf("\n");
    prn_year(5678);
    printf("\n");
    prn_year(1990);
    return 0;
}


DO IT YOURSELF !
2014-04-16 15:04
Lx947154276
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-6
收藏
得分:0 
回复 8 楼 wp231957
运行的时候输出了2014,然后提示Debug Assertion Failed!还有我不大明白你的语法(感觉都没接触过),可以给以适当的注解么?如果能加q就更好了,qq:947154276
多谢~~
2014-04-16 17:55
Lx947154276
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2014-4-6
收藏
得分:0 
回复 8 楼 wp231957
sorry,是输出了2314,然后那个错误提示~~~
2014-04-16 17:57
快速回复:输入年份有 0 的时候 0 这个数字第一行会少一个*,还有如何让年份在一 ...
数据加载中...
 
   



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

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