C语言数组读入

现有一个数组int m[10],希望从键盘读入数字,每个数字分别存放到数组m的第i个地址里。例如用键盘读入123,则m[0]=1,m[1]=2,m[2]=3.
一楼和二楼,你们试过你们写的程序么?反正在我这运行的时候,是让连续输入10回,才跳出循环,我的目的是一次性输入123,然后就跳出循环了。

#include<stdio.h>

#include<string.h>

//用字符串来解决问题

void main()

{

   int m[10]={0};  /*数组*/

   int i=0,j=0;    /*循环变量*/

   char *temp=NULL;  /*字符指针*/

   gets(temp);      /*读入字符串*/

    while(1)        /*死循环*/

    {

         if(temp[i]!='\0')  m[i]=temp[i]-48;  /*转换为数字*/

         else break;    /*碰到字符串结束标志时退出循环*/

         i++;        /*统计有几个数字*/

    }

    for(j=0;j<i;j++)     /*输出*/

       printf("%d",m[j]);

   getch();

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-27
#define MAX 10
int i=0;
int m[MAX] ={0};
for(;i<MAX;i++)
scanf("%d",&m[i]);

验证合法性、长度判断自己加上吧
第2个回答  2009-05-28
你这个应该是某个程序的一部分吧 可以用for循环的
int m[10];
printf("input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);