作业一
#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; }
task1_2:
#include<stdio.h> int main() { printf(" o o \n"); printf("<H> <H> \n"); printf("I I I I \n"); return 0; }
task2:
#include<stdio.h> #include<math.h> int main() { double y,x; scanf("%lf",&x); getchar(); while(x) { y=pow(x,365); printf("%.2f的365次方:%.2f\n",x,y); scanf("%lf",&x); } return 0; }
task2-3:
#include<stdio.h> #include<math.h> int main() { double F,C; scanf("%lf",&C); while(C) { F=9.0/5*C+32; printf("摄氏度C=%.2f时,华氏度f=%.2f\n",C,F); scanf("%lf",&C); } return 0; }
task3:
#include<stdio.h> #include<math.h> int main() { double x,y; char c1,c2,c3; int a1,a2,a3; scanf("%d%d%d%*c",&a1,&a2,&a3); printf("%d %d %d\n",a1,a2,a3); scanf("%c %c %c",&c1,&c2,&c3); printf("%c%c%c\n",c1,c2,c3); scanf("%lf,%lf",&x,&y); printf("%f,%lf",x,y); return 0; }
task4:
#include<stdio.h> #include<math.h> int main() { int age1,age2; char gender1,gender2; scanf("%d%c%d%c",&age1,&gender1,&age2,&gender2); printf("age1=%d,gender1=%c\n",age1,gender1); printf("age1=%d,gender2=%c\n",age2,gender2); }
task5:
#include<stdio.h> #include<math.h> int main() { char ans1,ans2; printf("第3章认真学完一遍了没?(输入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; }
task6:
char words[5000]; printf("网课学习让一些人欢喜一些人忧.\n"); printf("1. 作为喜欢自学且自律的人,觉得这样很好. 有网络,自主学习,很ok.\n"); printf("2. 不喜,不喜,很不喜. 眼睛快瞎了. 脑壳有点卡...\n"); printf("3. 中间派. 不知道. 说不清.\n"); printf("4. 其它...\n"); printf("你的选择: "); scanf("%d", &answer); if(answer == 4) { printf("请补充说明你的想法: \n"); getchar(); // 这行代码为什么放在这里,如果去掉了,会怎么样? gets(words); // 从键盘输入你的想法,输完后,敲回车键 } printf("\n"); printf("当遇到问题时, 你会选择:\n"); printf("1. 遇到问题, 就解决问题。不懂的,搜索式学习,逐个攻破.\n"); printf("2. 遇到问题, 不高兴。然后,...,没有了.\n"); printf("3. 其它...\n"); printf("你的选择: "); scanf("%d", &answer); if(answer == 1) printf(":)\n"); else if(answer == 2) printf("这样不能解决问题啊...我们选择1好不好:)\n"); else if(answer == 3) { printf("请补充说明你的想法: \n"); getchar(); // 这行代码为什么放在这里,如果去掉了,会怎么样? gets(words); // 从键盘输入你的想法,输完后,敲回车键 } return 0; }
实验总结:
经过尝试,我觉得当scanf中的%c变为%其他时,缓冲区内的符号就没用了,如\n就不会被输入到下一个scanf中。