|
发表于 2013-11-23 04:33:44
|
显示全部楼层
本帖最后由 云炀 于 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,即便不使用'#'也可以退出程序,但是我不知道满不满足你的要求,我只是站在了另外一个角度去看这个问题 |
|