实验二

实验1
rand():
1.不需要参数,返回一个从0到最大随机数的任意整数
2.0~99 rand()%100 1~100 rand()%100+1
即 rand()%n+a a是起始值,n-1+a是终止值,n是整数的范围
3.通常rand()产生的随机数在每次运行的时候都与上一次相同,若要产生每次不同的随机数,则可以使用srand(seed)函数进行产生随机化种子
4.time.h下用srand(time(0))来使用当前时间,使随机数发生器,随机化,这样可以保证每两次运行时得到不同的随机数。

#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 int main() { int number; int i; srand( time(0) ); // 以当前系统时间作为随机种子 for(i = 0; i < N; ++i) { number = rand()%500 + 1; printf("20228329%04d\n", number); } return 0; }
实验二




#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 3 int main(){ int number,i,a,b,c; srand(time(0)); number=rand()%30+1; printf("猜猜2022年11月哪一天会是你的lucky day"); printf("\n"); printf("开始喽,你有三次机会,猜吧(1~30):"); for(i=0;i<N;++i){ scanf ("%d",&a); if(a<number && i != 2){ printf("你猜的日期早啦,你的lucky还没到呢\n"); printf("\n"); printf("再猜(1~30):"); } else if(a>number && i != 2){ printf("你猜的日期晚啦,你的lucky已经过啦\n"); printf("\n"); printf("再猜(1~30):"); } else if(a==number){ printf("哇,猜中啦\n"); return 0; } else{ if(a<number){ printf("你猜的日期早啦,你的lucky还没到呢\n"); printf("\n"); } else if(a>number){ printf("你猜的日期晚啦,你的lucky已经过啦\n"); printf("\n"); } } } printf("次数用完啦,告诉你:11月,你的lucky day是%02d号",number); return 0;}
实验3

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

#include<stdio.h> #include<stdlib.h> #include<math.h> int main(){ unsigned int n,a; while(scanf("%d%d",&n,&a)!=EOF){ double b=0; double s=0.0; for(double i=1;i<=n;i++){ b=b*10+a; s=s+i/b; } printf("n=%d,a=%d,s=%lf",n,a,s); printf("\n"); } return 0;}

 


实验5

#include<stdio.h> int main(){ int h=0,w=0; for(h=1;h<=9;h++){ for(w=1;w<=h;w++){ printf(" %d*%d=%3d",h,w,h*w); } printf("\n"); } return 0; }

实验6

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

 

第i行,打印2i-1个字符小人
不是很会用\t

\t,跳过8个空格,从第8个位置结束,从第九个位置开始;若前面有8个字符,则从第16个位置结束,从第17个位置开始。

 



 





 

posted @ 2022-10-22 16:07  吱吱1号  阅读(17)  评论(0编辑  收藏  举报