每行输出十个元素的小问题、、、求帮助、、、

ToD_o 2012-05-04 11:47:22
一个每行输出十个元素的小程序,弄成这样弄不出来了,老是输出他的ASCII码,还有怎么可以不规定数组大小?想输入好多就打好多。
#include<stdio.h>
#define N 100
void main()
{int a[N],i,c;
if ((c=getchar())!=EOF){
for (i=0;i<N;i++)
a[i]=c;}
for(i=0;i<N;i++)
printf("%6d,%c",a[i],(((i+1)%10)==0)? "\n":" ");
}
...全文
118 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljhhh0123 2012-05-05
  • 打赏
  • 举报
回复
使用C++的vector类。
W170532934 2012-05-04
  • 打赏
  • 举报
回复
可以使用指针用动态数组,或者使用链表等等。
jxnuzhouguohong 2012-05-04
  • 打赏
  • 举报
回复
malloc
喜马拉雅星星 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

可以这样:首先定义字符数组,然后通过循环判断数组的长度,当字符数组内的数组超过一定时增加定义数组的长度。
[/Quote]
不知道这个方法可不可以,可以试试
用动态数组的话也是要提前输入数组长度的
喜马拉雅星星 2012-05-04
  • 打赏
  • 举报
回复
可以这样:首先定义字符数组,然后通过循环判断数组的长度,当字符数组内的数组超过一定时增加定义数组的长度。
自信男孩 2012-05-04
  • 打赏
  • 举报
回复

#include<stdio.h>
#define N 100
void main()
{int a[N],i,c;
while ((c=getchar())!=EOF){
a[i++]=c;
}
for(i=0;i<N;i++) {
if ((i+1) % 10 == 0)
putchar('\n');
else
putchar(a[i]);
}
}



我表示对我自己无语了……
自信男孩 2012-05-04
  • 打赏
  • 举报
回复

#include<stdio.h>
#define N 100
void main()
{
int a[N],i = 0,c; /*这儿别忘了对i进行初始化*/
while ((c=getchar())!=EOF){
a[i]=c;
}
for(i=0;i<N;i++) {
if ((i+1) % 10 == 0)
putchar('\n');
else
putchar(a[i]);
}
}


自信男孩 2012-05-04
  • 打赏
  • 举报
回复
只能是定义一个大的数组,然后是输入的数目小于数组中元素的个数,而不能相反。

#include<stdio.h>
#define N 100
void main()
{int a[N],i,c;
while ((c=getchar())!=EOF){
a[i]=c;
}
for(i=0;i<N;i++) {
if ((i+1) % 10 == 0)
putchar('\n');
else
putchar(a[i]);
}
}

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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