实验二 c语言分支与循环基础应用编程

发布时间 2023-10-16 20:39:36作者: Xmeik

实验一

源代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define N 5
#define N1 374
#define N2 465
int main()
{
	int number;
	int i;
	srand(time(0));
	for(i=0;i<N;i++)
	{
		number=rand()%(N2-N1+1)+N1;
		printf("20238329%04d\n",number);
	}
	return 0;
}

  运行结果

 Q1:随机生成一个374~465之间的数。

Q2:在一定范围内随机生成一个数。

实验2

源代码

#include<stdio.h>
int main()
{
	char a;
	while(scanf("%c",&a)!=EOF)
	{
	getchar();
	switch(a)
	{
		case 'r':printf("stop\n");break;
		case 'g':printf("go go go\n");break;
		case 'y':printf("wait a minute\n");break;
		default:printf("something must be wrong\n");break;
	}
    }
    return 0;
}

  运行结果

 实验三

源代码

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	int day,n,i,m=3;
	srand(time(0));
	day=rand()%30+1;
	printf("猜猜2023年11月那一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1~30): ");
	for(i=1;i<=m;i++)
	{
		scanf("%d",&n);
		if(n==day)
		{
		  printf("哇,猜中了:-)\n");
		  break;
	    }
		else if(n<day)
		{
			printf("你猜的日期早了,你的lucky day还没到呢\n");
			if(i<3)
			printf("再猜(1~30): ");
			continue;
		}
		else
		{
			printf("你猜的日期早了,你的lucky day已经过啦\n");
			if(i<3)
			printf("再猜(1~30): ");
			continue;
		}		  
	}
	if(i>3)
	printf("\n\n次数用完啦。偷偷告诉你:11月,你的lucky day是%d号\n",day);
	return 0;
} 

运行结果

 实验四

源代码

#include<stdio.h>
int mo(int,int);
int main()
{
	int i,n,a,m;
	double s;
	while(scanf("%d%d",&n,&a)!=EOF)
	{
		s=0;
		for(i=1;i<=n;i++)
		{
			m=mo(i,a);
			s+=1.0*i/m;
		}
		printf("n=%d,a=%d,s=%lf\n",n,a,s);
	}
	return 0;
}
int mo(int i,int a)
{
	if(i==1)
	return a;
	else
	return mo(i-1,a)*10+a;
}

  运行结果

 实验五

源代码

#include<stdio.h>
int main()
{
	int i,j,a,b,n=1;
	for(j=1;j<=9;j++)
	{
		for(i=1;i<=j;i++)
		printf("%d*%d = %2d  ",i,j,i*j);
		if(n==j)
		printf("\n");
		n++;
	}
	return 0;
}

  运行结果

 实验六

源代码

#include<stdio.h>
int main()
{
	int n,i,j,m,x;
	scanf("%d",&n);
	for(i=n;i>=0;i--)
	{
		m=2*i+1;
		for(x=i;x<n;x++)
			printf("\t");
		for(j=1;j<=m;j++)
		{
			printf(" O \t");
		}
		printf("\n");
		for(x=i;x<n;x++)
			printf("\t");
		for(j=1;j<=m;j++)
		{
			printf("<H>\t");
		}
		printf("\n");
		for(x=i;x<n;x++)
			printf("\t");
		for(j=1;j<=m;j++)
		{
			printf("I I\t");
		}
		printf("\n");
	}
	return 0;
}

  运行结果