c语言大神_关于C语言问题,求大神!

原问题:关于C语言问题,求大神!
分类:编程开发 > 最后更新时间:【2016-12-18 06:50:44】
问题补充:

#include <stdio.h>

#include <conio.h>

void main()

{

int i,k,a[100],t=0;

printf("请输入一个升序的数组(按回车结束):");

for(i=0;i<100;i++)

{

a[i]=getchar();

if(a[i]=='\n')

{

break;

}

a[i]=a[i]-48;

t++;

}

for(i=0;i<t;i++)

printf("%d ",a[i]);

}

该程序是正常的,但我想改进它。想法是:输入一个数组,然后回车结束,再输出这个数组来。但我这个程序只能输入个位数,而不能输入十位或者是百位,因为我用了getchar()。想问:我该怎么改才能输入百位数?(一定要可以回车结束的)

最佳答案

#include <stdio.h>
#include <conio.h>
void main()
{
int i, k, a[100], t = 0;
char c;
printf("请输入一个升序的数组(按回车结束):");
for(i = 0; i < 100; i++)
{
scanf("%d%c", &a[i], &c);
t++;
if(c == '\n')
{
break;
}
}
for(i = 0; i <t; i++)
printf("%d ", a[i]);
}

最佳答案由网友  whoami1978  提供
公告: 为响应国家净网行动,部分内容已经删除,感谢网友理解。
20

分享到:

其他回答

其它网友回答:
大兄弟,你这样做法有点坑啊,scanf函数你应该会用吧?

其它网友回答:
如下编写可以满足你的要求:

其它网友回答:
int a[100];

其它网友回答:
for (int i = 0; i < 100; ++i)    scanf("%d", &a[i]);

其它网友回答:
for (int i = 0; i < 100; ++i)    printf("%d\n", a[i]);

其它网友回答:

其它网友回答:
然后你就能输入任意100个数了,比如输入 1 20 3333 123 45 ... 11118 909,再按回车键,就会打印出

其它网友回答:
1

其它网友回答:
20

其它网友回答:
3333

其它网友回答:
123

其它网友回答:
45

其它网友回答:
...

其它网友回答:
11118

其它网友回答:
909

其它网友回答:
你可以把数组个数改小一点进行验证


追答:
你也可以在此基础上进行修改,让它更符合你的需求,因为老实说,你的需求并没有写详细
    推荐