永发信息网

c语言问题 thanks

答案:1  悬赏:10  手机版
解决时间 2021-04-30 11:50
Title:数值分解

编写一个程序,输入有五个数字的数值,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用一个空格分开,最后一个数字结尾没有空格)。例如用户输入了12345,程序打印结果为: 1 2 3 4 5



输入情况的处理:

1)用户中规中矩的输入任意五位数字都能把它按照要求输出;

2)用户的无效输入,程序应该给出友好的提出 或者 处理

请回答者看好如下提示
123 45 这是合法输入(数字中有空格)
123\n45 这是合法输入(数字钟有回车)
12ab4 这是非法输入(凡是带有其他非数字非空格和回车时,都是非法输入)
我的程序如下
#include <stdio.h>
#include <stdlib.h>

int main()
{
char a[10000]; //定义一个数组存放五个输入的字符

int i,j;
for (i=1;i<=5;i++)
{
scanf("%c",&a[i]); //循环输入五个字符
}
for (i=1;i<=5;i++)
{
if (a[i]>='0'&&a[i]<='9') //判断输入是否合法
{


continue;
}




else
{
printf("Wrong input,try again!"); //输出提示信息
exit(0);
}
}
if (i=6)
{
for (j=1;j<=5;j++)
{
printf("%c ",a[j]); //打印正确的输入
}
}

return 0;


}

这个程序不能讲123 45这类输入判定为合法输入···
我能力有限 不知道如何改了 请大侠帮忙 先谢谢了 急
最佳答案

输入的时候有问题:
for (i=1;i<=5;i++)
{
scanf("%c",&a[i]); //循环输入五个字符
}


上面输入的时候如果有空格和回车,也会把空格和回车输入进去,按题目意思,应该把空格和回车过滤掉,可以把scanf("%c",&a[i]); 改为scanf("\n%c",&a[i]); 这样就可以滤掉空格和回车。
程序修改如下:
#include <stdio.h>
#include <stdlib.h>


int main(void)
{
char a[10000]; //定义一个数组存放五个输入的字符


int i,j;
for (i=1;i<=5;i++)
scanf("\n%c",&a[i]); //循环输入五个字符
for (i=1;i<=5;i++)
{
if (a[i]>='0'&&a[i]<='9') //判断输入是否合法
continue;
else
{
printf("Wrong input,try again!\n"); //输出提示信息
exit(0);
}
}
if (i=6)
{
for (j=1;j<=5;j++)
{
printf(" %c",a[j]); //打印正确的输入
}
printf("\n");
}


return 0;
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
“你一直在我心里”这句话用法语怎么说?
在人最悲伤的时候,是不是任何人首先想到的都
健康方面问题
求阿甘正传插曲的谱子!急!
初三数学 概率
“芟”这个字怎么读?怎么拼?
5253上移动的卡怎么设置上网?
英雄岛法师穿战士鞋子打什么宝石好
文科女生510分报日照职业技术学院可以吗
手机怎么帮别人充话费,怎么给别人冲黄钻?「
钱放在建设银行怎么没利息反而减少呢
手机手写功能老是失灵是怎么一回事?
我现在16岁,才157cm,我想要长到167cm,可是
辽宁富有种业有限公司在哪里啊,我有事要去这
精武堂怎么刷元宝啊!
推荐资讯
neither of them 什么意思啊、快、谢哈
张飞的母亲姓什么???
吉顺酒店地址有知道的么?有点事想过去
平安夜(节日)
肉盒子的面怎么和,肉盒子的面怎么和最好
急!求!下联↓→远看一枯树 两个枯树吖
鼎鼎香大饭庄这个地址在什么地方,我要处理点
父母偷看自己的隐私是不是不应该?
我的电脑设备全部正常,但是就是没有声音!如
秀域好吗?提供哪些服务?价格多少?
DNF进不去的 来
我怀孕两个多月了,做B超,孕囊是空的,没有
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?