实验1作业

四、运行结果分析

1.task 1: 代码1(1个字符小人):

 

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

  

运行结果截图:  

 

代码2(两个竖着的小人): 

#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; } 

  

运行结果截图: 

 

代码3(两个横着的小人): 

 

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

  运行结果截图:

 

2.task 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.task 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' ) && (ans2=='y'))  ||  ((ans1=='Y') && (ans2=='Y')))  
        printf("\n罗马不是一天建成的, 继续保持哦:)\n");
    else
        printf("\n罗马不是一天毁灭的, 我们来建设吧\n");
    return 0;
 }

  运行结果截图:

 原因分析:程序在你输入第一个问题的答案并按下回车键后,会直接跳过第二个问题的输入提示,直接给出判断结果

getchar用于读取字符,按了回车键之后会读取回车键,相当于\n,就不会读取第二个输入字符了。

4.task4:

代码:

 #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);//在最前面加上一个空格
    printf("x = %lf, y = %lf\n",x, y);
    return 0;}

  运行结果截图:

 

5.task5:

代码:

#include <stdio.h>
 int main() 
{
    int year;
    year=1000000000/(60*60*24*365) ;
    
    printf("10亿秒约等于%d年\n", year);
    return 0;
 }

  运行结果截图:

6.task6:

代码(方法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;
 }

  

运行结果截图:

代码(方法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);
 printf("\n"); 
} 
return 0;
 }

  运行结果截图:

7.task7:

代码:

 

#include<stdio.h>
#include<math.h>
int main() {
	//实现摄氏度温度C与华氏度温度F的转换
	double c,f;
	while(scanf("%lf", &c) != EOF){
	 f=( 9.0/5.0)*c+32;
	printf("摄氏度=%lf时,华氏温度是:%.2lf",c,f);
	
	}
	

  运行结果截图:

8.task8:

代码:

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

  

运行结果截图:

 

posted @ 2025-03-04 08:35  hahahaha13  阅读(35)  评论(0)    收藏  举报