求助!
查看原帖
求助!
250345
Crizzy楼主2024/10/8 09:42

不理解程序为什么直接跳过了输入环节直接开始运行了,希望知道原因(写了一部分还没写完) 代码如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,h=0,i=1,hh=0,dh=0,sh=1,a[10000000];
	cin>>n;
	for(int i=1;;i++)
	{
		if(h<=n)
			h=h+i;
		else
			break;
	}	
	//cout<<h<<"  "<<i<<endl;
	hh=h-i;
	if(h%2==1)//单数 
	{
		dh=h;
		for(int j=1;j<=h*2;j++)
		{
			if(j%2==1)//数组下标为单数时,逆序输入 
			{
				a[j]=dh;
				dh--;
			}
			if(j%2==0)//          双数    顺序 
			{
				a[j]=sh;
				sh++;
			}
			cout<<a[j]<<" ";
		}
		cout<<endl;
		cout<<sh<<endl;
	}
	if(h%2==0)//双数 
	{
		dh=h;
		for(int j=1;j<=h*2;j++)
		{
			if(j%2==1)//数组下标为单数时,顺序输入 
			{
				a[j]=sh;
				sh++;
			}
			if(j%2==0)//          双数    逆序 
			{
				a[j]=dh;
				dh--;
			}
			cout<<a[j]<<" ";
		}
		cout<<endl;
		cout<<sh<<endl;
	}
	return 0;
}

输出结果: Process exited after 0.9529 seconds with return value 3221225725

2024/10/8 09:42
加载中...