以下是我编写的代码:
#include <stdio.h>
void main()
{
int i=0, j=0;
int a[10];
printf("请输入十个以内整数:");
while(i<10)
{
scanf("%d",&a[i]) ;
i++;
}
i=0;
while(i<10)
{
if(a[i]>0)
{
printf("%d ",a[i]);
}
i++;
}
}
不知道如何控制输入五到十个,该怎么控制呢?
在各路大神的帮助下成功的解决了此问题,代码如下:
#include <stdio.h>
#include <malloc.h>
void main()
{
int i=0, j=0,num;
int *array;
printf("你要输入几个数字:");
scanf("%d",&num);
array=(int*)malloc(num*sizeof(int));
printf("请输入%d整数:",num);
while(i<num)
{
scanf("%d",&array[i]) ;
i++;
}
i=0;
while(i<num)
{
if(array[i]>0)
{
printf("%d ",array[i]);
}
i++;
}
free(array);
}
不好意思楼主,刚才上面那个代码不完美,重新给你写了一个;可以完好运行。
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int Array[10]={0};
int i=0,j;
for (i=0;i<10;i++)
{
scanf ("%d",&Array[i]);
}
i=0;
j=0;
while (j<10)
{
if (Array[i] < 0)
{
++j;
++i;
}
else
{
printf ("%-4d",Array[i]);
++i;
++j;
}
}
system("pause");
return 0;
}
具体一点,什么叫输入5到10个
是说怎么控制输入数字的个数是嘛
手机贴代码,本来有缩进的,贴上去了就没有缩进了。影响大家阅读了,
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int Array[10]={0};
char Buf[10]={0};
int i=0,j=0;
for (i=0;i<10;i++)
{
scanf ("%d",&Array[i]);
}
for (i=0;i<10;i++)
{
if (Array[i]<0)
{
i++;
}
else
{
Buf[j]=Array[i];
i++;
j++;
}
}
for(i=0;i<10;i++)
{
printf ("%d\n",Buf[i]);
}
system("pause");
return 0;
}