实验1
task.1_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; }j
水平方向:
#include<stdio.h> #include<math.h> int main() { printf(" O O\n"); printf("<H> <H>\n"); printf("I I I I "); return 0; }
task1_2
代码:
#include<stdio.h> int main() { printf(" O O\n"); printf("<H> <H>\n"); printf("I I I I\n"); return 0; }
task_2
代码:
#include<stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf",&a,&b,&c); if(a+b>c&&b+c>a&&c+a>b) printf("可以构成三角形"); else printf("不可以构成三角形"); return 0; }
task_3
代码:
#include<stdio.h> int main() { char ans1,ans2; printf("每次课前认真预习、课后及时复习了没? (输入y或Y表示有,输入n或N表示没有) :");
getchar(); ans1 = getchar(); printf("\n实践没?"); ans2 = getchar(); if (ans1 == 'y'||ans1 == 'Y'&&ans2 == 'y'||ans2 == 'Y') printf("\n继续保持:)\n"); else printf("\n记得预习,复习和巩固\n"); return 0; }
如果去掉getchar()会跳过第二次输入。
没加单独的getchar()会使ans1与ans2的值一样,加入一个独立的getchar()可以在ans2时返回到输入步骤进行第二次输入。
task_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); printf("x = %f, y = %lf\n",x, y); return 0; }
task_5
代码:
#include<stdio.h> #include<math.h> int main() { int year; double x,n; x = 10,n = 9; year = pow(x,n)/(365*24*60*60)+0.5; printf("10亿秒等于%d年\n", year); return 0; }
task_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",x,ans); printf("\n"); } return 0; }
task_7
#include<stdio.h> #include<math.h> int main() { double f,c; while(scanf("%lf",&c)!=EOF) { f = 9*c/5+32; printf("当摄氏度为%.2f时,对应的华氏度为%.2f",c,f); } return 0; }
task_8
#include<stdio.h> #include<math.h> int main() { int a,b,c; double s,ans; while(scanf("%d %d %d",&a,&b,&c)!=EOF) { s = (a+b+c)/2; ans = sqrt(s*(s-a)*(s-b)*(s-c)); printf("该三角形的面积为%.3f",ans); } return 0; }