本帖最后由 云炀 于 2013-11-23 04:38 编辑
轻拿轻放 发表于 2013-11-22 12:31
首先我是先将输入的值付给tem只要tem不等于#就将tem付给s【i】;
然后你的这个循环应该是只能输入1~100的 ...
你是用i作为for循环的结束条件,按照你描述的信息,是要输入最多99个数字,所以按照你给定的条件,i<100就结束循环,在for循环中,你使用了 tem != '#'附加了一个提前结束循环的条件,所以:# include <stdio.h>
int main(void)
{
int s[5],i=0,j,tem;
printf("请输入数(用空格来间隔以#来结束):\n"); //如,1 2 3 #
while ( (scanf_s("%d",&tem) == 1) && (i < 5) )
{
s[i]=tem;
i++; //用i来计算数组的个数
}
j = i;
printf("输入的个数为:%d\n",i);
printf("数组为:\n"); //输出数组
for( i = 0 ; i < j; i++)
printf("%d ",s[i]);
printf("\n");
return 0;
}
上机试试,NO if, NO else, NO break,即便不使用'#'也可以退出程序,但是我不知道满不满足你的要求,我只是站在了另外一个角度去看这个问题 |