实验作业1

实验一

任务一

源代码

#include<stdio.h>
int main()
{
    printf(" o \n");
    printf("<H>\n");
    printf("I I\n");
    
    printf(" o \n");
    printf("<H>\n");
    printf("I I\n");
    
    return 0;    
}

效果

 

源代码

#include<stdio.h>
int main()
{
    printf(" o        o\n");
    printf("<H>      <H>\n");
    printf("I I      I I\n");
    
 
    return 0;    
}

 

效果

 

任务2

源代码

#include<stdio.h>

int main()
{
    double a,b,c;
    scanf("%lf%lf%lf",&a,&b,&c);
    if(a+b>c&&a+c>b&&b+c>a)
    printf("能构成三角形\n");
    else
    printf("不能构成三角形\n");
    
    return 0;
}

 

效果

 

任务3

源代码

#include<stdio.h>

int main()
{
    char ans1, ans2;
    printf("每次课前预习,课后及时复习了没?输入Y或y表示有,输入n或N表示没有:");
    ans1=getchar();
    
    getchar();
    
    printf("\n动手敲代码实践了没,?(输入Y或y表示有,输入n或N表示木有敲)");
    
    ans2=getchar();
    
    if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y'))
        printf("\n罗马不是一日建成的,继续保持哦\n");
    else 
        printf("\n罗马不是一天毁灭的,我们来建设吧\n");     

    return 0;
}

效果

 

回答问题

结果是只能输入一次数据,程序就结束判断。

原因是下面有一个pirntf函数,如果不加getchar(),按了回车键后,程序就会直接输出。

任务4

源代码

#include<stdio.h>

int main()
{
     double x,y;
     char c1,c2,c3;
     int a1,a2,a3;
     
     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); //逗号也表示字符,在double类型里 ,scanf函数只能用lf 
     printf("x = %lf,y = %lf\n",x,y);
     
     return 0;
}

效果

 

任务5

源代码

#include<stdio.h>

int main()
{
    int year;
    year =1000000000/(60*60*24*365)+0.5;
    
    printf("十亿秒约等于%d年\n",year); 
     
     return 0;

}
效果

任务6

源代码

#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);
    printf("\n");
    }
    return 0;
}

 

 效果

 

任务7

源代码

#include<stdio.h>


int main()
{
    double F, C;
    
    while(scanf("%lf",&C)!=EOF)
    {
    F = C*9/5+32; 
    printf("摄氏度C=%.2f时,华氏度F=%.2f\n",C,F);
    printf("\n");
      
        }
    
    
    return 0;
}

效果

任务8

源代码

#include<stdio.h>
#include<math.h>
int main()
{ 
    double a,b,c,s,area;
    while (scanf("%lf %lf %lf",&a,&b,&c)!=EOF) 
    {
    s=(a+b+c)/2;
    area=sqrt(s*(s-a)*(s-b)*(s-c));
    printf("a=%lf, b=%lf ,c=%lf,area = %.3lf",a,b,c,area);
    printf("\n");
    }  
    return 0;
}

 

效果

 

实验总结

getchar函数中,回车键也算输入,故想进行复合判断,中间还需加入一个gatchar()。scanf函数要记得加转义符号&以及里面不能加逗号

 

posted @ 2024-09-28 16:46  难绷  阅读(4)  评论(0编辑  收藏  举报