我想在NUMERIC FORMAT中输入一些由空格分隔的输入并将其放入数组中......当我按下Enter时,应该有一个终止,并且数组中应存在预先存储的值.... / p>
输入格式:1 2 3 4 5 {按Enter}输出格式:12345
以上输出格式......
arr [0] = 1,arr [1] = 2,arr [2] = 3,arr [3] = 4,arr [4] = 5
输入格式:9 8 7 6 5 4 3 2 1 {按Enter键}输出格式:987654321
#include<stdio.h>
int main()
{
int num[100],a,i,j;
i=0;
while(scanf("%d",&a))
{
num[i]=a;
i++;
}
for(j=0;j<i;j++)
{
printf("%d",num[j]);
}
return 0;
}
上面的代码需要一个非数字值来终止.......并且工作得很好...... !!!
#include<stdio.h>
int main()
{
int i=1;
char ch,arr[20];
scanf("%c",&ch);
arr[0]=ch;
while (ch != '\n')
{
scanf("%c",&ch);
arr[i]=ch;
arr[i+1]='\0';
i++;
}
printf("%s",arr);
return 0;
}
以上只适用于字符输入.....并且工作正常...... !!!
我希望按ENTER键终止... FOR NUMERIC Input
答案 0 :(得分:0)
你只需要一个char变量
以下是代码:
#include <stdio.h>
int arr[100];
int main()
{
char ch;
int num;
int i = 0, c;
while (scanf("%d%c", &arr[i++], &ch))
if (ch == '\n') break;
for (c = 0; c < i; c++)
printf("%d ", arr[c]);
return 0;
}
答案 1 :(得分:0)
这是我的解决方案。它接受数字或空格,制表符,但在newline
或字母字符处停止。
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
unsigned num = 0;
while (1 == scanf("%c", &ch)) {
if (ch == '\n' || isalpha(ch))
break;
if (isdigit(ch))
num = num * 10 + ch - '0';
}
printf ("Number is %u\n", num);
return 0;
}