C++中,编写一个子程序让键盘输入一串数字(空格为分隔符,回车为结束标志),如何赋值给主程序的一个数组?

如题。
我自己编写了一个简单的子程序,请大侠修改。
//键盘输入子程序,输入数字个数未定
//空格为分隔符,回车为结束标志
int keyin()
{
int input,k;
printf("请输入数组:(空格为分隔符,回车为结束标志) ");
for(k=1;k<6;k++)
{
while(1)
{
scanf("%d", &input);
if(input ==0)//如何修改??
{
break;
}
}
}
return input;//如何修改?
}

void main()
{ int yhl;//如何修改
yhl=&keyin();//如何修改?
}
例如,我从键盘输入“1 3 5 10”后然后回车,主程序中的数组yy就等于yhl[1]=1,yhl[2]=3,yhl[3]=5,yhl[4]=10。
谢谢大侠出手相助。
为什么我没有财富呢?

修改了一下,现在是以F6为结束的,回车结束比较麻烦。
#include <stdio.h>
int keyin(int input[], int n)
{
int k;
printf("请输入数组:(空格为分隔符,回车为结束标志) ");
for(k=0; k<n; k++)
{
if ( scanf("%d", &input[k]) == EOF )
{
break;
}
}
return k;//如何修改?
}
int main()
{
int i,n;
int yhl[10];//如何修改
n = keyin( yhl, 10 );//如何修改?
for ( i = 0; i < n; ++i )
{
printf( "%d ", yhl[i] );
}
printf( "\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-13
#include <stdio.h>

int main()
{
int i=0,n,j=0;
int yhl[10];

char a;
for(i = 0; i < 10 ;i ++)

scanf("%d", &yhl[i]);

for ( i = 0; i < 10; ++i )
{
printf( "%d ", yhl[i] );
}
printf( "\n");
return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网