实验2
实验任务1
#include <stdio.h> #include <stdlib.h> #include <time.h> #define N 5 #define R1 586 #define R2 701 int main () { int number; int i; srand(time(0));/*以当前系统作为随机种子*/ for (i = 0; i < N; ++i); { number = rand()%(R2-R1+1)+R1; printf("20228330%04d \n",number); } system("pause"); return 0; }
问题1:取R1至R2的任意一个数字
问题2:随机抽取五个学号在202283300586至202283300701区间内的同学
实验任务2
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a1,a2,a3;
char c1,c2,c3;
double x,y;
scanf("%d%d%d",&a1,&a2,&a3);
printf("a1=%d,a2=%d,a3=%d \n",a1,a2,a3);
scanf("%c%c%c",&c1,&c2,&c3);
printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3);
scanf("%lf%lf",&x,&y);
printf("x=%lf,y=%lf\n",x,y);
system("pause");
return 0;
}
测试结果:
实验任务3
#include<stdio.h> #include<math.h> int main() { double x,y; scanf("%lf",&x); y = pow(x,365); printf("%.2lf的365次方:%.2lf\n",x,y); return 0; }
#include<stdio.h> #include<math.h> int main() { double x,y; while( scanf("%lf",&x) != EOF) { y = pow(x,365); printf("%.2lf的365次方:%.2lf\n",x,y); printf("\n"); } return 0; }
测试结果:
#include<stdio.h> #include<math.h> int main() { double c,f; while(scanf("%lf",&c) != EOF) { f = (9.0*c/5.0 + 32); printf("摄氏度c = %4.2f时,华氏度f = %4.2f\n",c,f); } return 0; }
测试结果:
实验任务4
#include <stdio.h> int main() { char x; while(scanf("%c", &x) != EOF) { switch(x){ case'y':printf("wait a minutea\n");break; case'g':printf("go go go\n");break; case'r':printf("stop!\n");break; default:printf("something muse be wrong...\n"); } getchar(); } return 0; }
测试结果:
实验任务5
#include <stdio.h> #include <stdlib.h> int main() { int x,n,i; x = rand() %(30)+1; printf("猜猜2023年4月哪一天会是你的lucky day\n开始喽,你有三次机会,"); for(i=0;i<3;i++){ printf("猜吧(1-30):"); scanf("%d",&n); if(n==x) {printf("哇,你中了!!!\n");break;} else if(n<x) printf("你猜的时间早了哦\n"); else printf("你猜的时间晚了哦\n"); if(i==2) printf("次数用完啦,偷偷告诉你,4月你的lucky day是%d号\n",x); } system("pause"); return 0; }
测试结果:
实验任务6
#include <stdio.h> int main() { int line, column, value; for(line=1;line<=9;++line) { for (column = 1; column <= line; ++column) { value = line * column; printf("%dx%d = %d ",column,line,value); } printf("\n"); } return 0; }
测试结果:
实验任务7
#include <stdio.h> int main() { int n,i,j; printf("input n: "); scanf_s("%d", &n); for (j = n; j >= 1; --j) { for (i = 1; i <= (n-j); ++i) printf(" \t"); for (i = 1; i <= (2 * j - 1); ++i) printf(" o \t"); for (i = 1; i <= (n-j); ++i) printf(" \t"); printf("\n"); for (i = 1; i <= (n-j); ++i) printf(" \t"); for (i = 1; i <= (2 * j - 1); ++i) printf("<H>\t"); for (i = 1; i <= (n-j); ++i) printf(" \t"); printf("\n"); for (i = 1; i <= (n - j); ++i) printf(" \t"); for (i = 1; i <= (2 * j - 1); ++i) printf("I I\t"); for (i = 1; i <= (n - j); ++i) printf(" \t"); printf("\n"); } return 0; }
测试结果:
当输入为n时:
第i行,需要打印多少个字符小人
第i行,需打印(2*(n-i+1)-1)个字符小人
第i行,前面需要打印多少空白(需要使用多少个 \t )
第i行,前面需要打印(i-1)*3个空白(需要使用(i-1)个\t)