实验2 C语言分支与循环基础应用编程
练习1
#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("202383290376%04d\n", number);
}
return 0;
}

观察结果生成数字为202383290376XXX格式,且随机
问题一:line17的作用是随机生成[374,464]内的整数。
问题二:程序的功能是随机生成202383290376374到202383290376464之间的整数。
练习2
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdlib.h>
#include<stdio.h>
int main()
{char sign,blank;
while(scanf("%c",&sign)!=EOF)
{blank=getchar();
switch (sign)
{
case 'y':printf("wait a minute\n");break;
case 'r':printf("stop!\n");break;
case 'g':printf("go go go\n");break;
default:printf("something must be wrong\n");break;
}
}
system("pause");
return 0;
}

练习3
源码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdlib.h>
#include<stdio.h>
#include<time.h>
int main()
{int date,i,input;
srand(time(0));
date=rand()%31;
printf("猜猜2023年11月哪一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1~30):");;
for(i=1;scanf("%d",&input)!=EOF;)
{
if(input>date){printf("你猜的日期晚了,你的lucky day已经过啦\n");i++;}
if(input<date){printf("你猜的日期早了,你的lucky day还没到呢\n");i++;}
if(input==date){printf("你猜对了,你的lucky day就是11月%d号\n",date);break;}
if(i>=4){printf("次数用完啦。偷偷告诉你:11月,你的lucky day是%d号\n",date);}
}
system("pause");
return 0;
}
结果

练习4
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdlib.h>
#include<stdio.h>
long long tool(int n,int a)
{int i;
int result=0;
for(i=1;i<=n;i++)
{
result=result*10+a;
}
return result;
}
int main()
{
int n,i,a;
double result=0;
while(scanf("%d %d",&n,&a)!=EOF)
{
result=0;
for(i=1;i<=n;i++)
{/*printf("%d\n",tool(i,a));*/
result=result+1.0*i/tool(i,a);
}
printf("n=%d,a=%d,s=%lf\n",n,a,result);}
system("pause");
return 0;
}

练习5
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdlib.h>
#include<stdio.h>
int main()
{
int a=1,b=1,c;
for(a=1;a<=9;a++)
{for(b=1;b<=a;b++)
{
c=a*b;
printf("%d*%d=%d\t",a,b,c);
}
printf("\n");
}
system("pause");
return 0;
}

练习6
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdlib.h>
#include<stdio.h>
int main()
{int n,a,b,c,d,xd,e,xe,i;//a为头数,b为身子数,c为腿数,d是最大列数,xd是每行列数,e是空白数,xe是空白的循环数,i是行数
while(scanf("%d",&n)!=EOF)
{d=2*n-1;
xd=d;
for(i=1;i<=n;i++)
{e=(d-xd)/2;
for(xe=1;xe<=e;xe++)
{printf(" ");}
for(a=1;a<=xd;a++)
{printf(" O ");}
printf("\n");
for(xe=1;xe<=e;xe++)
{printf(" ");}
for(b=1;b<=xd;b++)
{printf("<H> ");}
printf("\n");
for(xe=1;xe<=e;xe++)
{printf(" ");}
for(c=1;c<=xd;c++)
{printf("I I ");}
printf("\n");
for(xe=1;xe<=e;xe++)
{printf(" ");}
printf("\n");
xd=xd-2;
}
}
system("pause");
return 0;
}

练习7
浙公网安备 33010602011771号