HXA 实验二
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 5 int main() /*随机选取 5个2018届~2021届的学生学号*/ { int grade, number; int i; srand(time(0)); for(i=0;i<N;++i) { grade=rand()%4+2018; /*随机选取2018、2019、2020、2021*/ number=rand()%999+1; /*随机选取[1,999]中的整数*/ printf("%d8330%04d\n",grade, number); } return 0; }
task 2
#include<stdio.h> #include<stdlib.h> #include<time.h> #define N 3 /*猜测的次数*/ int main() { int lucky_day,guess_day,flag,i; srand(time(0)); lucky_day=rand()%30+1; flag=1; printf("猜猜2022年4月哪一天会是你的Lucky day.\n\n开始喽,你有%d次机会,猜吧(1~30): ",N); for(i=N;i>0;i--) { scanf("%4d",&guess_day); if(guess_day==lucky_day) { printf("\n哇,猜中了:-)\n"); flag=0; break; } else if(guess_day!=lucky_day) { if(guess_day<lucky_day) printf("\n你猜的日期早了,你的Lucky day还没到呢\n\n"); else printf("\n你猜的日期晚了,你的Lucky day已经过啦\n\n"); if(i!=1) printf("再猜(1~30): "); } } if(flag) printf("\n次数用完啦,偷偷告诉你:4月,你的Lucky day是%d号",lucky_day); return 0; }
task 3
#include<stdio.h> #include<stdlib.h> int main() { char ch; while(scanf("%c",&ch)!=EOF) { if(ch=='r') printf("stop!\n"); else if(ch=='g') printf("go go go\n"); else if(ch=='y') printf("wait a mintue.\n"); else printf("something must be wrong\n"); getchar(); } system("pause"); }
task4
#include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int n,a; double i,sum,fm; while(scanf("%d%d",&n,&a)!=EOF) { for(sum=0,fm=0,i=1;i<=n;i++) { fm+=a*pow(10,i-1); sum+=i/fm; } printf("n=%d,a=%d,s=%.6lf",n,a,sum); } system("pause"); }
task 5
#include<stdio.h> #define N 9 int main() { int i,j; for(i=1;i<=N;i++) { for(j=1;j<=i;j++) { printf("%d×%d= %2d ",j,i,i*j); } printf("\n"); } return 0; }
task 6_1
#include<stdio.h> int main() { int n,i; scanf("%d",&n); printf("input n:%d\n",n); for(i=1;i<=n;i++) { printf(" o \n"); printf("<H>\n"); printf("I I\n\n"); } return 0; }
task 6_2
#include<stdio.h> int main() { int i,n; scanf("%d",&n); printf("input n:%d\n",n); for(i=1;i<=n;i++) { printf(" o "); } printf("\n"); for(i=1;i<=n;i++) { printf("<H> "); } printf("\n"); for(i=1;i<=n;i++) { printf("I I "); } return 0; }
task 6_3
#include<stdio.h> int main() { int i,j,n; printf("input n:"); scanf("%d",&n); printf("\n"); for(i=1;i<=n;i++) { for(j=1;j<i;j++) { printf(" "); } for(j=1;j<=2*(n+1-i)-1;j++) { printf(" o "); } printf("\n"); for(j=1;j<i;j++) { printf(" "); } for(j=1;j<=2*(n+1-i)-1;j++) { printf("<H> "); } printf("\n"); for(j=1;j<i;j++) { printf(" "); } for(j=1;j<=2*(n+1-i)-1;j++) { printf("I I "); } printf("\n"); } return 0; }
实验总结
1.用scanf()输入函数是一定记得加地址符&
2.函数的声明一般要放在头文件中
3.注意细节