数组问题
怎么把一系列数存入数组中?(输入时数字的数量是随机的)(如输入:1 -5 9 6 3 7 5 2 6)求助!!!{:5_100:} 本帖最后由 jackz007 于 2022-9-24 17:16 编辑
#include <stdio.h>
int main(void)
{
int d , i , n ;
for(n = 0 ; (scanf("%d" , & d)) != EOF ; n ++) ;
printf("%d" , d) ;
for(i = 1 ; i < n ; i ++) printf("\t%d" , d) ;
printf("\n") ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
1
-5
9
6
3
7
5
2
6
^Z
1 -5 9 6 3 7 5 2 6
D:\\C>
按下 <F6> 或者 <Ctrl> - z 结束输入 本帖最后由 jhq999 于 2022-9-24 18:12 编辑
想简单了{:5_93:}
#include <stdio.h>
#define N 100
int main()
{
int num={0};
inti=0,ch=0,len=0,flag=1;
while((ch=getchar())!='\n'&&i<N)
{
if(ch>='0'&&ch<='9')num=(ch-'0')*flag,flag=1;
else if('-'==ch)flag=-1;
}
for(len=i,i=0;i<len;i+=1)printf("%d ",num);
return 0;
}
#include <stdio.h>
#define N 100
int main()
{
int num= {0};
inti=0,ch=0,len=0,flag=1;
while((ch=getchar())!='\n'&&i<N)
{
if(ch>='0'&&ch<='9')
{
num=num*10+(ch-'0');
}
else if('-'==ch)flag=-1;
else if(0x20==ch)
{
num*=flag;
flag=1;
i+=1;
}
}
num*=flag;
for(len=i,i=0; i<len; i+=1)printf("%d ",num);
return 0;
}
1 -51 09 6 3 117 55 2 699
1 -51 9 6 3 117 55 2 699
Process returned 0 (0x0) execution time : 1.366 s
Press any key to continue.
jackz007 发表于 2022-9-24 17:15
编译、运行实况:
按下或者- z 结束输入
用了层主的代码,介意我删
#include <stdio.h>
int main(void)
{
int d , i , n,ch; ;
for(n = 0 ; '\n'!=(ch=getchar()); n ++)
{
ungetc(ch,stdin);
scanf("%d" , & d);
}
printf("%d" , d) ;
for(i = 1 ; i < n ; i ++) printf("\t%d" , d) ;
printf("\n") ;
}
jhq999 发表于 2022-9-24 18:39
用了层主的代码,介意我删
没事,别客气! #include <stdio.h>
#define MAXS 10000
int main() {
int a, i = -1, x;
while (scanf("%d", &x))
a[++i] = x;
printf("输入完毕");
return 0;
} 谢谢各位!!问题解决了!
页:
[1]