红豆泥! 2021-05-12 15:26 采纳率: 94.4%
浏览 27
已采纳

大家能帮忙看一下我的代码吗,该怎么改,为什么不能多组输入,谢谢大家了

#include<stdio.h>
int main() {
    int i,n;
    scanf("%d",&n);
    for(i=1; i<=n; i++)
        if(i*i<=n)
            printf("%d\n",i*i);
        else
            break;
    return 0;

} 

想输入:

15
20

输出:

1 4 9
1 4 9 16
  • 写回答

4条回答 默认 最新

  • qfl_sdu 2021-05-12 15:34
    关注

    scanf函数遇到空格就认为是一次输入,敲击回车后结束输入,所以你输入15(空格) 20(回车)后,需要用两次scanf才能把数据读完。修改后的代码如下:(如有帮助,请采纳一下,谢谢)

    #include <cstdio>
    
    int main()
    {
    	int i,n;
    	while(1)
    	{
    		scanf("%d",&n);
    		for(i=1; i<=n; i++)
    		{
    			if(i*i<=n)
    				printf("%d ",i*i);
    			else
    				break;
    		}
    		printf("\n");
    	}
    	
    	return 0;
    
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看