实验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%d\n",number );
    }
    return 0;
} 

(1)生成[R1,R2]之间的随机数

(2)生成五个202283300586~202283300701之间的号码;(包含左右两端)

实验任务2:#include <stdio.h>int main(){

double x,y;
char c1,c2,c3;
    int a1,a2,a3;
    
    scanf("%d%d%d",&a1,&a2,&a3);//由(...,a1,a2,a3);变为(...&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);//double类型的输入应当使用%lf,将前者的%f改为%lf,scanf区分%f以及%lf
printf("x=%f,y=%f\n",x,y);//为确保其可移植性,应当使用%f return 0; }

 

实验任务3:

3-1

#include <stdio.h>
#include <math.h>
int main(){
    double x, ans;
    
    scanf("%lf",&x);
    ans=pow(x,365);
    printf("%.2f的365次方:%.2f\n",x,ans);
    return 0;
} 

3-2

#include <stdio.h>
#include <math.h>
int main(){
    double x, ans;
    
    while(scanf("%lf",&x)!=EOF)
    {
    

    ans=pow(x,365);

    printf("%.2f的365次方:%.2f\n",x,ans);
}
    return 0;
} 

3-3

#include <stdio.h>
#include <math.h>
int main(){
    double x,ans;
    while(scanf("%lf",&x)!=EOF)
    {
    
        ans=1.8*x+32;
        printf("摄氏度= %.2lf时,华氏度f=%.2lf",x,ans);
    }
    return 0;
}

实验4:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
char x;

while(scanf("%c",&x)!=EOF){
getchar();
switch(x){
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");
}
}
return 0;
}

实验5:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int i;
int luckyDay;
int x;

srand(time(0));
luckyDay=rand()%30+1;
printf("猜猜2023年4月哪一天会是你的lucky day\n开始喽,你有三次机会,猜吧(1-30):");
for(i=1;i<=3;i++){
printf("再猜(1-30):");
scanf("%d",&x);
if(x==luckyDay){printf("哇,猜中了:-)");i=5;
}
else{if(x>luckyDay){
printf("你猜的日期晚了,你的lucky day 已经过啦\n");
}
else{printf("你猜的日期早了,你的lucky day 还没到呢\n");
}
}
}
if(i==4){
printf("次数用完啦。偷偷告诉你:4月,你的lucky day 是%d号",luckyDay);
}
return 0;
}

 

 

实验任务6:

#include <stdio.h>
#include <math.h>
int main(){
    int i,j,v;
    for(i=1;i<=9;i++){
        for(j=1;j<=i;j++){
            v=i*j;
            printf("%dx%d=%d",i,j,v);
            printf("\t");
        }
        printf("\n");
    }
    
    return 0;
}

实验任务7:

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

回答:以4小行的范围为1个小人的范围行,第i行需要打印(n-i)*2+1个小人

有2*i-2个\t

posted @ 2023-03-16 20:09  赵祥宏  阅读(82)  评论(3编辑  收藏  举报