| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2306 人关注过本帖, 1 人收藏
标题:c语言题目,求解答
只看楼主 加入收藏
相识在天涯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-5-13
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:9 
c语言题目,求解答
3.请编写一个程序,输入一个整数n,显示如下输出:
例如:n=5
        *****
         ****
          ***
           **
            *
搜索更多相关主题的帖子: c语言 
2016-05-13 15:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:20 
对于作业题,为什么不自己动手一下呢?这样才能知道自己还欠缺什么

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

int main( void )
{
    const unsigned n = 5;
    for( unsigned i=0; i!=n*n+n; ++i )
        putchar( " *\n"[(i/(n+1)<=i%(n+1)) + ((i+1)%(n+1)==0)] );
    return 0;
}

2016-05-13 15:53
相识在天涯
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-5-13
收藏
得分:0 
回复 2楼 rjsp
谢谢,一定都会自己练的。
2016-05-13 15:54
哈利60
Rank: 2
等 级:论坛游民
帖 子:33
专家分:12
注 册:2016-6-3
收藏
得分:0 
回复 2楼 rjsp
    putchar(" *\n"[(i / (n + 1) <= i % (n + 1)) + ((i + 1) % (n + 1) == 0)]);
请问这句没看懂,可以详细的解释一下吗
2016-06-06 14:26
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 4楼 哈利60
等效于
char *p=" *\n";
putchar(p[0]);  //显示空格字符
putchar(p[1]);  //显示*字符
putchar(p[2]);  //换行显示
//中括号内是两个布尔运算,布尔运算的结果只有真假,真=1,假=0,所以两个布尔运算结果相加只有3个值0/1/2,r版主这样写代码的确晦涩!!!

能编个毛线衣吗?
2016-06-06 15:28
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
收藏
得分:0 
回复 5楼 wmf2014
主要是楼主直接贴出一题目来,别人无法知道他是否真的自己思考过。

这么写,如果能看懂,那么这题必然会自己做;如果看不懂,自然需要继续学习。

代码测试环境:  WinXP+C-Free5.0.
2016-06-06 15:51
lebronze
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2016-5-25
收藏
得分:0 
回复 3楼 相识在天涯
“谢谢,一定都会自己练的。”永远都不要说这种话,完全是在自己骗自己。
要练就现在练,不可能抽不出时间,拖的后果就是一直有事一直找借口没时间学。
本人深有感触,希望楼主引以为诫
2016-06-06 23:01
灰小机
Rank: 2
来 自:月亮
等 级:论坛游民
威 望:1
帖 子:28
专家分:42
注 册:2016-6-5
收藏
得分:0 
没必要老是逼着别人吧,人家不是真心学,逼着也没用,把问题列出来了,解决就行了,思想上的问题也解决不了,何况还不一定呢?别人只是列出问题而已
2016-06-07 16:21
灰小机
Rank: 2
来 自:月亮
等 级:论坛游民
威 望:1
帖 子:28
专家分:42
注 册:2016-6-5
收藏
得分:0 
回复 楼主 相识在天涯
#include<stdio.h>
void main()
{
    int i,j,k,n;
    printf("请输入n的值:");
    scanf("%d",&n);
    for(i=n;i>0;i--)
    {    for(j=n;j>=i;j--)
        {
            printf(" ");
        }
    for(k=0;k<i;k++)
    {
        printf("*");
    }
    printf("\n");
    }
}
这个很好理解
2016-06-07 17:00
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
这样可能容易理解点
程序代码:
#include <stdio.h>
main()
{
    for (int i=5; i>0; i--)
        printf("%*.*s\n", 5,i,"*****");
}
2016-06-07 20:02
快速回复:c语言题目,求解答
数据加载中...
 
   



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

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