求改一个自编程序,玄4关
  • 板块灌水区
  • 楼主Foraver
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/5 22:26
  • 上次更新2024/6/5 22:41:37
查看原帖
求改一个自编程序,玄4关
1002361
Foraver楼主2024/6/5 22:26

大佬们快来!

要求:

  • 修改换行错误
  • 希望概率的缩进能和次数差不多
  • 能美化输出效果更好!(酌情考虑添加关注1至2个)

谢谢!

#include<bits/stdc++.h>
using namespace std;
int n,num0,num1,a[1005][1005],cnt,sum,op;
double ans;
int main()
{
	srand(time(NULL));
	printf("01概率统计图标仪\n请输入一个<1000的整数表示随机0,1的次数:"); 
	scanf("%d",&n);
	printf("\n");
	for(int i=1;i<=n;i++)
	{
		int x=rand()%2;
		if(x==1)num1++;
		if(x==0)num0++;
	}
	printf("p1(1出现的概率)\n");
	a[0][1]=1e8;//1e8表示 ∧ 
	for(int i=1;i<=10;i++)
	{
		op+=1;
		a[i][0]=op;
		a[i][1]=1e9;//1e9表示丨
	}
	a[11][0]=1e7;//1e7表示 -
	a[11][1]=1e6;//1e6表示 +
	a[12][0]=-1;//-1表示0
	a[12][1]=1e9;
	for(int i=2;i<=n+1;i++)
	{
		cnt++;
		a[11][i]=1e7;
		a[12][i]=cnt;
	}
	a[11][n+1]=1e5;//1e5表示>
	a[11][n+3]=1e4;//1e4表示m
	ans=num1*1.0/n;
	ans=ans*10;
	sum=ans;
	for(int i=1;i<=10;i++)
	{
		if(a[i][0]==sum)
		a[i][n+1]=-2;//-2表示●
	}
	for(int i=0;i<=12;i++)
	{
		for(int j=0;j<=n+3;j++)
		{
			if(a[i][j]==0)printf("   ");
			else if(a[i][j]==1e8)printf("∧ ");
			else if(a[i][j]==1e9)printf("|  ");
			else if(a[i][j]==1e7)printf("---");
			else if(a[i][j]==1e6)printf("+--");
			else if(a[i][j]==1e5)printf("-->");
			else if(a[i][j]==1e4)printf("m(随机次数)");
			else if(a[i][j]==-1)printf("  0");
			else if(a[i][j]==-2)printf("● ");
			else if(a[i][j]>0&&a[i][j]<1e4)printf("%3d",a[i][j]);
		}
		printf("\n");
	} 
	return 0;
}

2024/6/5 22:26
加载中...