实验1
1.实验任务1
在垂直方向上打印两个字符小人的c程序源代码task1_1.c,
1 #include <stdio.h> 2 int main() 3 { 4 5 printf(" O\n"); 6 printf("<H>\n"); 7 printf("I I\n"); 8 printf(" O\n"); 9 printf("<H>\n"); 10 printf("I I\n"); 11 return 0; 12 }
运行结果截图
在水平方向上打印两个字符小人的c程序源代码task1_2.c
1 #include <stdio.h> 2 int main() 3 { 4 5 printf(" O\t O\n"); 6 printf("<H>\t<H>\n"); 7 printf("I I\tI I\n"); 8 return 0; 9 }
运行结果截图2.
2.实验任务2
源代码task2.c
1 #include <stdio.h> 2 int main() 3 { 4 double a, b, c; 5 scanf("%lf %lf %lf", &a, &b, &c); 6 if(a + b > c && a + c > b && b + c > a) 7 printf("能构成三角形\n"); 8 else 9 printf("不能构成三角形\n"); 10 11 return 0; 12 }
运行测试结果截图
3.实验任务3
源代码task3.c
1 #include <stdio.h> 2 int main() 3 { 4 5 char ans1,ans2; 6 printf("每次课前认真预习、课后及时复习了没? (输入y或Y表示有,输入n或N表示没有) :"); 7 ans1=getchar(); 8 getchar(); 9 printf("\n动手敲代码实践了没? (输入y或Y表示敲了,输入n或N表示木有敲) : "); 10 ans2=getchar(); 11 12 if((ans1=='y'||ans1=='Y')&&(ans2=='y'||ans2=='Y')) 13 printf("\n罗马不是一天建成的,继续保持哦:)\n"); 14 else 15 printf("\n罗马不是一天毁灭的,我们来建设吧\n"); 16 17 18 return 0; 19 }
运行测试结果截图
. 回答问题
当把源代码line9去掉后,重新编译运行,结果是什么样的?
只能回答一个问题
用你所学的知识尝试分析造成这一结果的原因。
回车键也是一个有效字符,line9是用来储存回车键的,确保可以回答两个问题
4.实验任务4
源码task4.c(以注释形式标注出错行)
1 #include <stdio.h> 2 int main() 3 { 4 double x,y; 5 char c1,c2,c3; 6 int a1,a2,a3; 7 8 scanf("%d%d%d",&a1,&a2,&a3);//出错行 9 printf("a1=%d,a2=%d,a3=%d\n",a1,a2,a3); 10 11 scanf(" %c %c %c",&c1,&c2,&c3); 12 printf("c1=%c,c2=%c,c3=%c\n",c1,c2,c3); 13 14 scanf("%lf %lf",&x,&y);//出错行 15 printf("x=%lf,y=%lf\n",x,y); 16 17 return 0; 18 }
运行结果截图
5.实验任务5
源代码task5.c
1 #include <stdio.h> 2 int main() 3 { 4 int year; 5 double second=1000000000; 6 7 year=(second/(60*60*24*365)+0.5); 8 year=(int)(second/(60*60*24*365)+0.5); 9 printf("10亿秒约等于%d年\n",year); 10 11 return 0; 12 }
运行测试结果截图
6.实验任务6
程序task6_2.c源代码
1 #include <stdio.h> 2 #include <math.h> 3 4 int main() 5 { 6 double x,ans; 7 8 scanf("%lf",&x); 9 ans=pow(x,365); 10 printf("%.2f的365次方:%.2f\n",x,ans); 11 12 return 0; 13 }
1 #include <stdio.h> 2 #include <math.h> 3 4 int main() 5 { 6 double x,ans; 7 8 while(scanf("%lf",&x)!=EOF) 9 { 10 11 12 ans=pow(x,365); 13 printf("%.2f的365次方:%.2f\n",x,ans); 14 printf("\n"); 15 } 16 17 return 0; 18 }
运行测试截图
7.实验任务7
task7.c源代码
1 #include <stdio.h> 2 3 4 int main() 5 { 6 double c, f; 7 8 while (scanf("%lf", &c) != EOF){ 9 f = (9.0 / 5.0) * c + 32; 10 printf("摄氏度=%.2f时,华氏度=%.2f\n", c, f); 11 printf("\n"); 12 } 13 14 return 0; 15 }
运行测试截图
8.实验任务8
task8.c源代码
1 #include <stdio.h> 2 #include <math.h> 3 4 int main() 5 { 6 int a,b,c; 7 double s,area; 8 9 while (scanf("%d%d%d", &a,&b,&c) != EOF) 10 { 11 s=(a+b+c)/2; 12 area=sqrt(s*(s-a)*(s-b)*(s-c)); 13 printf("a=%d,b=%d,c=%d,area=%.3f\n",a,b,c,area); 14 printf("\n"); 15 } 16 17 return 0; 18 }
运行测试截图