实验二 c语言分支与循环基础应用编程
实验一
源代码
#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;
}
运行结果


浙公网安备 33010602011771号