网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月27日漏签0天
c语言吧 关注:798,854贴子:4,357,220
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 下一页 尾页
  • 18回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

【急】我做了一个星号菱形,求各位高手指教!

  • 只看楼主
  • 收藏

  • 回复
  • mrseafox
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
要求是:
1)如果输入的是正整数则输出一个菱形;
2)如果输入零或负整数,则让重新输入;
3)如果输入的不是整数的字符串,比如字母,或者符号等,则程序结束。
求助:
现在1)和2)我都做到了,3)怎么实现??
求教各位高手!!!
void main()
{
int i,j,k,l;
here:
printf("请输入一个自然数:");
scanf("%d",&k);
if(k<=0)
{
printf("请重新输入^^\n"); goto here;
}
else if(k=0)
return;
else if(k>0)
{
for(i=0;i<k;i=i+1)
{ for(j=0;j<k-i;j=j+1)
{
printf(" ");
}
for(l=0;l<i*2+1;l=l+1)
{
printf("*");
}
printf("\n");
}
for(i=k-1;i>0;i--)
{
for(j=0;j<k-i+1;j=j+1)
{
printf(" ");
}
for(l=0;l<i*2-1;l=l+1)
{
printf("*");
} printf("\n");
}
goto here;
}
else
return;
}



  • mrseafox
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
实在不是3)该怎么实现!
请教吧里各位大侠高手!


2025-07-27 05:54:43
广告
不感兴趣
开通SVIP免广告
  • mrseafox
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
没人搭理我………………


  • 我是不是师兄
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
scanf %d
不会接受字母 和 多数符号
你可以根据scanf的返回值 做判断


  • 我是不是师兄
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
scanf 返回赋值成功是数目
scanf("%d",&n);
输入 123回车 返回 1
输入 qwe回车 返回 0


  • 晓丹不哭
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还是没有变回来。、。。。。。。


  • mrseafox
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@@理论上懂了!
操作上该怎么写@@


  • 晴空静好
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
前两条用两个if
第三条直接else
break ;
多简单


2025-07-27 05:48:43
广告
不感兴趣
开通SVIP免广告
  • mrseafox
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
break能用在if里?


  • 我是不是师兄
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include <stdio.h>
int main(){
    int n;
    while(0==scanf("%d",&n)){
        puts("ERROR");
        while('\n'!=getchar())//清除错误输入 
            ;
    }
    printf("%d",n);
}


  • mrseafox
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
@@理论上懂了!
操作上该怎么写@@
我用o=scanf("%d",&k);
返回了一下
但是不是1和0啊~~~


  • 我是不是师兄
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那返回的是什么?


  • 晴空静好
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好吧 我有错。
直接
前两条用两个if
第三条直接else
;


  • 我是不是师兄
  • 帕秋莉糕
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
什么是 d%


2025-07-27 05:42:43
广告
不感兴趣
开通SVIP免广告
  • 艾达的小刀
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
while (scanf("%d", &k) == 1 && k > 0) //把非数字的键入值和非正数都过滤掉


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 下一页 尾页
  • 18回复贴,共2页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示