1.实验任务1
task1.c源码
1 #include <stdio.h> 2 int main() { 3 for(int i = 1; i <= 2; i++ ) { 4 printf(" 0\n"); 5 printf("<H>\n"); 6 printf("I I\n"); 7 } 8 return 0; 9 10 11 }
运行测试截图:
task1_2.c
测试源码:
1 #include <stdio.h> 2 int main() { 3 printf(" 0 0\n"); 4 printf("<H> <H>\n"); 5 printf("I I I I \n"); 6 7 return 0; 8 }
运行截图:
2.实验任务2
task2_1.c源码
1 #include <stdio.h> 2 #include <math.h> 3 int main() { 4 double x, res; 5 puts("ENTER"); 6 scanf("%lf", &x); 7 res = pow(x, 365); 8 9 printf("%.2f的365次方为:%.2f", x, res); 10 return 0; 11 }
运行截图:
task2_2.c源码:
1 #include <stdio.h> 2 #include <math.h> 3 int main() { 4 double x, res; 5 while (scanf("%lf", &x) != EOF) { 6 res = pow(x, 365); 7 printf("%.2f的365次方为:%.2f\n", x, res); 8 printf("\n"); 9 } 10 return 0; 11 }
运行截图:
task2_3.c源码
1 #include <stdio.h> 2 int main() { 3 double C, F; 4 while (scanf("%lf", &C) != EOF) { 5 F = 9.0 / 5.0 * C + 32; 6 printf("摄氏度为:%.2f ,华氏度为:%.2f", C, F); 7 8 } 9 return 0; 10 }
运行截图:
3.实验任务3:
源码:
1 #include <stdio.h> 2 #include <math.h> 3 int main() { 4 double sum; 5 6 7 double n; 8 scanf_s("%lf", &n); 9 double m = pow(2.0, n); 10 sum = (1 - m) / (1 - 2); 11 printf("%.0lf", sum); 12 return 0; 13 }
运行截图:
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38,双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
怕超出范围,所以我用lf,双精度浮点。
4.实验任务4:
task4.c源码:
#include <stdio.h> int main() { int a1, a2, a3; char c1, c2, c3; double x, y; scanf("%d%d%d", &a1, &a2, &a3); printf("%d,%d,%d\n", a1, a2, a3); getchar();//改 scanf("%c%c%c", &c1, &c2, &c3); printf("%c,%c,%c", c1, c2, c3); scanf("%lf,%lf", &x, &y);//改 printf("%lf,%lf\n", x, y);//改 return 0; }
这里我改了很多,这题想了好久,知识点不熟练,double是双精度浮点型,要用lf,getchar()是为了避免回车键的影响。
运行截图:
5.实验任务5:
task5.c源码:
1 #include <stdio.h> 2 int main() { 3 int age1, age2; 4 char gender1, gender2; 5 scanf("%d%c%d%c", &age1, &gender1, &age2, &gender2); 6 printf("age1 = %d, gender1 = %c\n", age1, gender1); 7 printf("age2 = %d, gender2 = %c\n", age2, gender2); 8 return 0; 9 }
运行截图:
6.实验任务6:
task6.c源码:
1 #include <stdio.h> 2 int main() { 3 4 char ans1, ans2; 5 printf("每次课前认真预习、课后及时复习了没? (输入y或Y表示有,输入n或N表示没有) :"); 6 ans1 = getchar(); 7 getchar(); 8 printf("\n动手敲代码实践了没? (输入y或Y表示敲了,输入n或N表示木有敲) : "); 9 ans2 = getchar(); 10 if ((ans1 == 'y' || ans1 == 'Y') && (ans2 == 'y' || ans2 == 'Y')) 11 printf("\n罗马不是一天建成的, 继续保持哦:)\n"); 12 else 13 printf("\n罗马不是一天毁灭的, 我们来建设吧\n"); 14 15 16 17 return 0; 18 }
运行截屏:
getchar()是用来避免回车键带来的影响。否则下一个默认获取'\n'.
7.试验任务7:
task7.c源码:
1 #include <stdio.h> 2 int main() 3 { 4 int answer; 5 char words[5000]; 6 printf("网课学习让一些人欢喜一些人忧.\n"); 7 printf("1. 作为喜欢自学且自律的人,觉得这样很好. 有网络,自主学习,很ok.\n"); 8 printf("2. 不喜,不喜,很不喜. 眼睛快瞎了. 脑壳有点卡...\n"); 9 printf("3. 中间派. 不知道. 说不清.\n"); 10 printf("4. 其它...\n"); 11 printf("你的选择: "); 12 scanf_s("%d", &answer); 13 if (answer == 4) { 14 15 printf("请补充说明你的想法: \n"); 16 getchar(); 17 gets(words); 18 } 19 printf("\n"); 20 printf("当遇到问题时, 你会选择:\n"); 21 printf("1. 遇到问题, 就解决问题。不懂的,搜索式学习,逐个攻破.\n"); 22 printf("2. 遇到问题, 不高兴。然后,...,没有了.\n"); 23 printf("3. 其它...\n"); 24 printf("你的选择: "); 25 scanf("%d", &answer); 26 if (answer == 1) 27 printf(":)\n"); 28 else if (answer == 2) 29 printf("这样不能解决问题啊...我们选择1好不好:)\n"); 30 else if (answer == 3) 31 { 32 printf("请补充说明你的想法: \n"); 33 getchar(); 34 gets(words); 35 } 36 return 0; 37 }
运行截图:
这里getchar()依然是为了获取‘\n’,否则默认回答就是空的。
总结:
我印象很深刻的是有一题我运行了好长时间不知道哪错了,甚至跳到了栈这块我完全不理解,于是我将代码复制,新建了项目,反而运行成功了。
标签:lf,main,初体验,int,编程,C语言,源码,printf,include From: https://www.cnblogs.com/abcdefg-gaoyuan/p/16783396.html