C语言求助!输入一个数组并输出
我想输入一个数组然后输出这个数组~(数组的元素个数随意切不能预先知道)~#include<stdio.h>voidmain(){chara[1000];inti=0;in...
我想输入一个数组然后输出这个数组~(数组的元素个数随意切不能预先知道)~#include <stdio.h>
void main()
{char a[1000];int i=0;int b=0;
while(1)
{scanf("%d",a[i]);
if (a[i]=="/n")
break;
i++;
}
for(b;b=i-1;b++)
printf("%c",a[i]);
}
#include <stdio.h>
void main()
{int a[1000];int i=0;int b=0;
while(scanf("%d",a[i])==1)
{i++;
for(b;b=i;b++)
printf("%c",a[i]);}
}
请问上面2个程序错在那里并给出正确的算法?!十分感谢!!!感动哭了都! 展开
void main()
{char a[1000];int i=0;int b=0;
while(1)
{scanf("%d",a[i]);
if (a[i]=="/n")
break;
i++;
}
for(b;b=i-1;b++)
printf("%c",a[i]);
}
#include <stdio.h>
void main()
{int a[1000];int i=0;int b=0;
while(scanf("%d",a[i])==1)
{i++;
for(b;b=i;b++)
printf("%c",a[i]);}
}
请问上面2个程序错在那里并给出正确的算法?!十分感谢!!!感动哭了都! 展开
4个回答
展开全部
楼主还欠缺基本功,有很多语法错误:
void main()
{
char a[1000];
int i=0;int b=0;
while(1)
{scanf("%d",a[i]); /*scanf("%d",&a[i]);用&取地址*/
if (a[i]=="/n") /*这样不行的,a[i]都是整数,永远不可能退出循环,而且回车应该是'\n' */
break;
i++;
}
for(b;b=i-1;b++) /*这样写也不对,可以用for(b=0;b<i;b++)*/
printf("%c",a[i]); /*printf("%d",a[b]);*/
}
没法改,一改就是个新的程序了,只是指出你的错误
#include <stdio.h>
void main()
{
int a[1000];
int i=0;int b=0;
while(scanf("%d",a[i])==1) /*不能这样写,scanf没有返回值*/
{
i++;
for(b=0;b<i;b++)
printf("%c",a[i]); /* 要用%d 用a[b]*/
}
}
下面的程序,用空格分割每个元素,输入-1结束数组输入,这是个缺陷,仅供参考
--------------------------------
void main()
{
int a[100];
int i=0;int b=0;
while(i<100) /*最多100个,因为数组定义的是100*/
{
scanf("%d",&a[i]);
if(a[i] == -1) break;
i++;
}
for(b=0;b<i;b++)
printf("%d\n",a[b]);
}
void main()
{
char a[1000];
int i=0;int b=0;
while(1)
{scanf("%d",a[i]); /*scanf("%d",&a[i]);用&取地址*/
if (a[i]=="/n") /*这样不行的,a[i]都是整数,永远不可能退出循环,而且回车应该是'\n' */
break;
i++;
}
for(b;b=i-1;b++) /*这样写也不对,可以用for(b=0;b<i;b++)*/
printf("%c",a[i]); /*printf("%d",a[b]);*/
}
没法改,一改就是个新的程序了,只是指出你的错误
#include <stdio.h>
void main()
{
int a[1000];
int i=0;int b=0;
while(scanf("%d",a[i])==1) /*不能这样写,scanf没有返回值*/
{
i++;
for(b=0;b<i;b++)
printf("%c",a[i]); /* 要用%d 用a[b]*/
}
}
下面的程序,用空格分割每个元素,输入-1结束数组输入,这是个缺陷,仅供参考
--------------------------------
void main()
{
int a[100];
int i=0;int b=0;
while(i<100) /*最多100个,因为数组定义的是100*/
{
scanf("%d",&a[i]);
if(a[i] == -1) break;
i++;
}
for(b=0;b<i;b++)
printf("%d\n",a[b]);
}
展开全部
for(b;b=i-1;b++)
for语句不用搞的这麼复杂;
if (a[i]=="/n")
这句话应该如法实现,我是说就算把"/n"改成'\n'了,因为sancf()本身也是以接受到回车就结束输入,那就永远也没办法运行if中的语句咯;
while(scanf("%d",a[i])==1)
{i++;
for(b;b=i;b++)
printf("%c",a[i]);}
}
不要搞的输入输出在一起,看也看不明白,分开就好啦,
程序就是简单明了。
for语句不用搞的这麼复杂;
if (a[i]=="/n")
这句话应该如法实现,我是说就算把"/n"改成'\n'了,因为sancf()本身也是以接受到回车就结束输入,那就永远也没办法运行if中的语句咯;
while(scanf("%d",a[i])==1)
{i++;
for(b;b=i;b++)
printf("%c",a[i]);}
}
不要搞的输入输出在一起,看也看不明白,分开就好啦,
程序就是简单明了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的办法:
#include "string.h"
main()
{ char *str;
gets(str);//输入字符串
puts(str);//输出字符串
}
如果想知道字符串中间的某个字母,可用*(str+i)表示(i表示第几个字母,从0开始)
#include "string.h"
main()
{ char *str;
gets(str);//输入字符串
puts(str);//输出字符串
}
如果想知道字符串中间的某个字母,可用*(str+i)表示(i表示第几个字母,从0开始)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做个标记
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询