| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1775 人关注过本帖
标题:新手刚刚学习,望各位大哥多多指点!
只看楼主 加入收藏
zfm0210
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2011-11-18
收藏
得分:0 
回复 20楼 吴小君
恩,你这个开头#include <math.h>用的是什么?
还有这边 b=a/pow(10,c);
    a=a-b*pow(10,c);
    c--;
是什么意思? 我没学过
2012-01-03 15:41
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:0 
只剩不能同行显示的问题了,我改不了的问题,大概只能用数组了
#include <stdio.h>
#include <math.h>
void main()
{
    int a,b,c,d,e=0;
    scanf("%d",&a);
    do
    {
    d=a-pow(10,e);
    e++;
    }
    while(d>=0);
    c=e-2;
   while(c>=0)
   {
    b=a/pow(10,c);
    a=a-b*pow(10,c);
    c--;
    if  (b==1)
       {
          printf(" o \n");
          printf(" o \n");
          printf(" o \n");
          printf(" o \n");
          printf(" o \n");
       }

     else if (b==2)
       {
          printf("ooo\n");
          printf("  o\n");
          printf("ooo\n");
          printf("o  \n");
          printf("ooo\n");
        }

     else if (b==3)
        {
          printf("ooo\n");
          printf("  o\n");
          printf("ooo\n");
          printf("  o\n");
          printf("ooo\n");
         }

     else if (b==4)
        {
         printf("o o\n");
         printf("o o\n");
         printf("ooo\n");
         printf("  o\n");
         printf("  o\n");
        }

     else if (b==5)
        {
         printf("ooo\n");
         printf("o  \n");
         printf("ooo\n");
         printf("  o\n");
         printf("ooo\n");
        }

    else if (b==6)
        {
         printf("ooo\n");
         printf("o  \n");
         printf("ooo\n");
         printf("o o\n");
         printf("ooo\n");
        }

     else if (b==7)
        {
         printf("ooo\n");
         printf("  o\n");
         printf("  o\n");
         printf("  o\n");
         printf("  o\n");
        }

     else if (b==8)
         {
          printf("ooo\n");
          printf("o o\n");
          printf("ooo\n");
          printf("o o\n");
          printf("ooo\n");
         }

     else if (b==9)
         {
          printf("ooo\n");
          printf("o o\n");
          printf("ooo\n");
          printf("  o\n");
          printf("ooo\n");
         }

      else if (b==0)
          {
           printf("ooo\n");
           printf("o o\n");
           printf("o o\n");
           printf("o o\n");
           printf("ooo\n");
          }
}
}

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-01-03 15:51
zfm0210
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2011-11-18
收藏
得分:0 
回复 22楼 吴小君
恩,谢谢了,我自己再研究下
2012-01-03 15:56
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:0 
回复 21楼 zfm0210
额,#include<math.h>是调用数学函数,因为要用到pow()函数,3*pow(10,4)就是3乘以10的4次方,5*pow(3,2)就是5乘以3的2次方的意思;
 b=a/pow(10,c);        就是b等于a除以10的c次方,比如说a=1089,c=3时,b=1089/1000=1.089,又因为已经定义a为int整形,所以a=1
 a=a-b*pow(10,c);      接上,a=a-1*1000=089,即去除了最高位
 c--;                   c的自减,即c--等于c=c-1,为下一次循环做准备的
我也是才学的,有些是用的时候从网上找的,比如说pow函数,推荐你看《C程序设计》谭浩强版的,我就在看

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-01-03 16:05
吴小君
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:102
专家分:198
注 册:2012-1-2
收藏
得分:0 
回复 12楼 TonyDeng
以下是引用TonyDeng在2012-1-3 14:48:55的发言:

你的有输出字母或别的字符?1290不是由0-9逐个字符构成的?我能输出2011年,就不能输出你的1290?
哎,其实TonyDeng误会我了,我是说楼主的码只能显示0-9,没说TonyDeng的想法啊

小弟学习C语言刚入门,请大侠们多多指教,不吝赐解!
2012-01-03 16:17
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:2 
我写了个 能显示出来
图片附件: 游客没有浏览图片的权限,请 登录注册
我的问题是怎么放在都放在水平一条线上,而不是竖的?光标怎么返回首行末尾?

#include  <stdio.h>
#include  <math.h>

void   putzero(char a[5][4]);
void   putone(char a[5][4]);
void   puttwo(char a[5][4]);
void   putthree(char a[5][4]);
void   putfour(char a[5][4]);
void   putfive(char a[5][4]);
void   putsix(char a[5][4]);
void   putseven(char a[5][4]);
void   puteight(char a[5][4]);
void   putnine(char a[5][4]);
void   arr_back();

int  main()
{
    int n, r, i, j, k = 0;
    int   b[5];
    char  a[5][4] = {'*', '*', '*', '*',
                     '*', '*', '*', '*',
                     '*', '*', '*', '*',
                     '*', '*', '*', '*',
                     '*', '*', '*', '*', };


    printf("Please input a number:");
    scanf("%d", &n);
    if (n < 0 || n > 99999)
    {
        printf("Data error! Enter again:");
        scanf("%d", &n);
    }

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

    while  (n != 0)
    {
        r = n % 10;
        n = n / 10;
        b[k++] = r;
    }

    for (i = k - 1; i >= 0; i-- )
    {
        switch (b[i])
        {
        case 0:  putzero(a);  arr_back(a);  break;
        case 1:  putone(a);   arr_back(a);  break;
        case 2:  puttwo(a);   arr_back(a);  break;
        case 3:  putthree(a); arr_back(a);  break;
        case 4:  putfour(a);  arr_back(a);  break;
        case 5:  putfive(a);  arr_back(a);  break;
        case 6:  putsix(a);   arr_back(a);  break;
        case 7:  putseven(a); arr_back(a);  break;
        case 8:  puteight(a); arr_back(a);  break;
        case 9:  putnine(a);  arr_back(a);  break;
        default: break;
        }
        
    }

    return  0;
}


void putzero(char  a[5][4])
{
    int i, j;
     
    for (i = 1; i < 4; i++)
    {
        for(j = 1; j < 3; j++)
            a[i][j] = ' ';
    }
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}

void putone(char  a[5][4])
{
    int i, j;
     
    for (i = 0; i < 5; i++)
    {
        for(j = 0; j < 3; j++)
            a[i][j] = ' ';
    }
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}

void puttwo(char  a[5][4])
{
    int i , j;
     
        i = 1;
        for (j = 0; j < 3; j++)  a[i][j] = ' ';
        i = 3;
        for (j = 1; j < 4; j++)  a[i][j] = ' ';
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}
void putthree(char  a[5][4])
{
    int i, j;
     
    for (i = 0; i < 5; i += 2)
    {
        for(j = 0; j < 3; j++)
            a[i][j] = ' ';
    }
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}  

void putfour(char  a[5][4])
{
    int i, j;
     
    for (i = 0; i < 2; i++)
    {
        for(j = 1; j < 3; j++)
            a[i][j] = ' ';
    }
    for (i = 3; i < 5; i++)
    {
        for (j = 0; j < 3; j++)
            a[i][j] = ' ';
    }
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}

void putfive(char  a[5][4])
{
    int i, j;
     
        i = 1;
        for(j = 1; j < 4; j++)
            a[i][j] = ' ';
        i = 3;
        for (j = 0; j < 3; j++)
            a[i][j] = ' ';
   
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}

void putsix(char  a[5][4])
{
    int i, j;
     
        i = 1;
        for(j = 1; j < 4; j++)
            a[i][j] = ' ';
        i = 3;
        for (j = 1; j < 3; j++)
            a[i][j] = ' ';
   
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}

void putseven(char  a[5][4])
{
    int i, j;
     
    for (i = 1; i < 4; i++)
    {
        for(j = 0; j < 3; j++)
            a[i][j] = ' ';
    }
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}

void puteight(char  a[5][4])
{
    int i, j;
     
    for (i = 1; i < 4; i += 2)
    {
        for(j = 1; j < 3; j++)
            a[i][j] = ' ';
    }
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}


void putnine(char  a[5][4])
{
    int i, j;
     
    for (i = 1; i < 4; i += 2)
    {
        for(j = 1; j < 3; j++)
            a[i][j] = ' ';
    }
    a[3][0] = ' ';
    for(i = 0; i < 5; i++)
    {
        for (j = 0; j < 4; j++)
            printf("%c", a[i][j]);
        printf("\n");
    }
}

void  arr_back(char a[5][4])
{
    int i , j;

    for (i = 0; i < 5; i++)
       for (j = 0; j < 4; j++)
           a[i][j] = '*';   
}


梅尚程荀
马谭杨奚







                                                       
2012-01-03 17:23
旭日孤帆
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:46
专家分:180
注 册:2012-1-3
收藏
得分:2 
你试试这个
#include "stdio.h"
main()
{   int a;
    scanf("%d",&a);
    if(a==1290)
            printf("o\tooo\tooo\tooo\n0\t  0\t0 0\t0 0\n0\t000\t000\t0 0");
    else if(a<=99994)
       printf("%d",a);
    else printf("信息错误"); }
2012-01-03 18:27
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:2 
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char a[][60]={ "ooo    o    ooo   ooo   o o   ooo   ooo   ooo   ooo   ooo",
               "o o    o      o     o   o o   o     o       o   o o   o o",
               "o o    o    ooo   ooo   ooo   ooo   ooo     o   ooo   ooo",
               "o o    o    o       o     o     o   o o     o   o o     o",
               "ooo    o    ooo   ooo     o   ooo   ooo     o   ooo     o"}; 

int i,j,k,len;
char s[10];

int main()
{
    scanf("%s",s);
    len=strlen(s);
    for (i=0; i<5; i++)
    {
    
        for (k=0; k<len; k++)
        {
            j=s[k]-'0';
            printf("%c%c%c",a[i][6*j],a[i][6*j+1],a[i][6*j+2]);
            if (k!=len-1) printf("   ");
        }
        printf("\n");
    }
    return 0;
}
    
    
2012-01-03 19:45
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:2 
回复 楼主 zfm0210
程序代码:
#include <stdio.h>

void print(char *p)
{
    char a[5][30]= {{'0','0','0',' ','0',' ','0','0','0','0','0','0','0',' ','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'}
    ,               {'0',' ','0',' ','0',' ',' ',' ','0',' ',' ','0','0',' ','0','0',' ',' ','0',' ',' ',' ',' ','0','0',' ','0','0',' ','0'}
    ,               {'0',' ','0',' ','0',' ','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0',' ',' ','0','0','0','0','0','0','0'}
    ,               {'0',' ','0',' ','0',' ','0',' ',' ',' ',' ','0',' ',' ','0',' ',' ','0','0',' ','0',' ',' ','0','0',' ','0',' ',' ','0'}
    ,               {'0','0','0',' ','0',' ','0','0','0','0','0','0',' ',' ','0','0','0','0','0','0','0',' ',' ','0','0','0','0','0','0','0'}};
    int Num, i;
    for(i=0; i<5; i++)
    {
        int k=0;
        while(*(p+k) !='\0')
        {
            Num = *(p+k) - '0';
            for(int j=3*Num; j<3*Num+3; j++)
            {
                printf("%c",a[i][j]);
            }
            printf("  ");
            k++;
        }
        printf("\n");
    }       
}


int main(void)
{
    char a[20];
    printf("请输入整数:\n");
    gets(a);
    print(a);
    return 0;
}

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2012-01-03 20:03
isonation
Rank: 1
等 级:新手上路
帖 子:2
专家分:2
注 册:2012-1-2
收藏
得分:2 
我也是个新手,看了前面各位前辈说的用数组,就想了一下用数组怎么做,不过想着想着,想到了另外一种方法,。就是先输入四个数,然后把四个数的第一到五行分5次输出,多个数的原理也是一样。回帖前看了28楼感觉是个方法,不过好像只输出一个数吧,不确定(新手),改一下应该可以。
2012-01-03 20:14
快速回复:新手刚刚学习,望各位大哥多多指点!
数据加载中...
 
   



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

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