如何编写此程序?(c)

csdnleon 2002-02-01 03:00:12
我是一初中生,现学习c,有一问题,请教各位大虾。程序功能如下:任意输入五位数字,如:“45678”,然后打印出结果为“4 5 6 7 8”,中间是空三格。且要用c来写,且最简单的代码,请赐教
...全文
272 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
CodeSpirit 2002-02-19
  • 打赏
  • 举报
回复
楼上那个程序还不容易,不就是
#include <stdio.h>
#include <conio.h>
void main()
{
int i;
char c;
for(i = 0; i < 5; i ++)
{
c = getch();
if (c < '9' && c > '0')
printf("%c___", c);
else
i --;
}
}


//空格用___代替了,不然会被html贪污了的
CodeSpirit 2002-02-19
  • 打赏
  • 举报
回复
晕倒,这么简单的问题怎么一伙人在这里研究半天啊?天!

我们还是来写写猜数字的游戏吧!

什么?不会有人不知道规则吧?
hfkobe 2002-02-14
  • 打赏
  • 举报
回复
共16个空格!
hfkobe 2002-02-14
  • 打赏
  • 举报
回复
可能是小弟天生愚笨,不能领会此题的精髓,小弟以为这样可以完成:
#include<stdio.h>
main()
{
int i=0;
char a,b[17]="________________";/* '_'表示空格,没办法打 */
for(i=0;i<=16;)
{
scanf("%c",&a);
b[i]=a;
i+=3;
}
printf("%s\n",&b);
}
hfkobe 2002-02-14
  • 打赏
  • 举报
回复
可能是小弟天生愚笨,不能领会此题的精髓,小弟以为这样可以完成:
#include<stdio.h>
main()
{
int i=0;
char a,b[17]=" ";
for(i=0;i<=16;)
{
scanf("%c",&a);
b[i]=a;
i+=3;
}
printf("%s\n",&b);
}
dwbclz 2002-02-12
  • 打赏
  • 举报
回复
晕倒,发出去以后就看不到空格了。
注意"%c"后面有三个空格。
dwbclz 2002-02-12
  • 打赏
  • 举报
回复
各位大虾,不过是个初中练习题,考虑那么复杂干什么?
不过不知道我是不是审错题了,怎么好像写的简单了一点。
有事联系我:dwbclz@etang.com

int main(int argc, char* argv[])
{
char c = 0;
while((c = getchar()) != '\n')
printf("%c ", c);
getch();
return 0;
}
iamwho 2002-02-09
  • 打赏
  • 举报
回复
是不是都可以不用考虑容错了,这可是很重要的部分,看各位的程序好像都没有相关的处理部分
nakoko 2002-02-08
  • 打赏
  • 举报
回复
当作字符串读入,用foreach输出char,哦,是c啊,怎么到了.det中来了
csdnleon 2002-02-04
  • 打赏
  • 举报
回复
感谢你的鼓励,但你的程序有错误啊:)
goatyy 2002-02-03
  • 打赏
  • 举报
回复
祝你学习进步!
#include<stdio.h>
void main()
{
int number;div=10000,times=1,s;
printf("Enter the number please:");
scanf("%d",&number);
for(int times=0;times<5;times++)
{
s=number/div;
printf("%d\t",s);
div=div/10;
}
printf("\n");
return ;}
/* ok,that's all*/
my0811 2002-02-03
  • 打赏
  • 举报
回复
可以这样:
用into () 函数!!
这样更方便!!:)
小兄弟厉害!!
小小年纪就…………
继续努力啊!!
csdnleon 2002-02-03
  • 打赏
  • 举报
回复
谢谢各位大哥的指点:)子修谢了
hmbory 2002-02-02
  • 打赏
  • 举报
回复
:)
晒屁屁 2002-02-02
  • 打赏
  • 举报
回复
鼓掌~~~~~~~~~~~~~~~~
to:csdnleon(子修)
%s是输一个字符串
%c是输一个字符
你还是看看printf与scanf的参数吧
beyond_ml 2002-02-02
  • 打赏
  • 举报
回复
TO:csdnleon(子修) 
呵呵,是说我么?
我没有写错啊,你可以试一试。
而且简单的修改一下,可以支持任意位数的数字。
#include <stdio.h>
void main()
{
char a[10];
int i;
scanf("%s",a);
for (i=0;i<5;i++)

printf("%c ",a[i]);//刚才顺手写成%d了,修改一下。。
}
运新后任意输入5位数字(当然字符也可以的)然后回车,结果就出来了。。。
csdnleon 2002-02-01
  • 打赏
  • 举报
回复
在次给楼上的提醒一下,我说的是一次性输入5位数后,在打印。不是一个一个输
beyond_ml 2002-02-01
  • 打赏
  • 举报
回复
那里用的着这么复杂,虽然输入的数字,但程序内部又没有什么处理,
还不如当成字符串处理的舒服些:
char a[10];
int i;
scanf("%s",a);
for (i=0;i<5;i++)
{
printf("%c ",a[i]);//刚才顺手写成%d了,修改一下。。
}
把数字当成字符串!!!
csdnleon 2002-02-01
  • 打赏
  • 举报
回复
如果我的声明变量改成长整形,是否可以解决问题?
csdnleon 2002-02-01
  • 打赏
  • 举报
回复
大虾有没有QQ,方便交流:)不甚感激
加载更多回复(25)

111,116

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧