Part 1
在机房做第一个实验判断三角形类型的时候,运行VC2010调试时出现了闪退小黑屏的问题。经老师指点后加入
#include <stdlib.h>
system("pause");
return 0;
得以解决黑屏闪退问题。
对比demo5_1和2
// 对比demo5_1.cpp和demo5_2.cpp,理解控制语句continue和break的功能 #include <stdio.h> int main() { int i; // 在循环语句中使用continue for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束本次循环,开始下一次循环 continue; printf("i=%d\n",i); } getchar (); return 0; }
(ps非酋选手调试的时候再次闪退…)运行结果如图

demo5_2运行结果图

由两种不同控制语句导致的如图运行结果可看出,continue的功能是不输出本条语句然后继续下一次循环;break的功能为直接终止本次循环。
后续不一一截图,转为字述。
demo6_1采用continue控制语句时输出了三行四列,因3%3==0缺少第三列。
demo6_2采用break控制语句时到第三列终止循环,后续的两列数字不出现。
两种控制语气均不影响上层循环,仅影响其所在循环。
Part 2
/*
编程找出5个整数的最大数和最小数
《C语言程序设计教程学习指导》p122实验内容(3)
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
int number, max, min, n;
n=1;
printf("输入第%d个数: ", n);
scanf("%d", &number);
max = number;
min = number;
while( n<5 ) {
n++;
printf("输入第%d个数: ", n);
scanf("%d", &number);
if(number>max)
max = number;
else if(number<min)
min = number;
}
printf("最大数为: %d\n", max);
printf("最小数为: %d\n", min);
getchar ();
system("pause");
return 0;
}

嘿嘿嘿给小黑屏变成了小蓝屏,快乐。
顺便这次运行的时候一直闪退一直闪退……直到把两种黑屏闪退解决方法都敲上去之后就好了。(ps再闪退的话可能又要打扰老师了……
do…while形式如下
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #include <stdio.h> #include <stdlib.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; do{ n++; printf("输入第%d个数: ", n); scanf("%d", &number); if(number>max) max = number; else if(number<min) min = number; } while( n<5 ); printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); getchar (); system("pause"); return 0; }
不知道为什么感觉我改的do while有点怪怪的好像哪里不对,但是运行结果不变?…
Part 3
#include <stdio.h> #include <math.h> int main() { int n,m,i,k; k = 0; for(n=101;n<=200;n++) { m=sqrt(n); for(i=2;i<=m;i++) if(n%i==0) break; if(i>m) { printf("%5d",n); k++; if(k%5==0) printf("\n"); } } printf("共有%d个素数",k); return 0; }
做到疯癫,最后用Dev c可以执行但是用VS2010的话提示有错误。
一开始可能是我的大括号放错了位置怎么改都运行不了,一直输出的素数要么是0要么是五百多……五百多是因为取余的时候用的开完平方后的数字取余。
连懵带猜并参考交作业的同学给代码终于写出来了,但是仍然不是很会这个神奇的素数。。

【再次变成小黑屏是因为之前把VS2010的改成了蓝底……但是这个代码在2010里面总是失败,所以用了Dev c就又变成了黑底,做到崩溃。。】
#include <stdio.h> int main() { int a,b,i; for(a=1;a<=5;a++) { for(b=1;b<6-a;b++) printf(" "); for(i=1;i<=2*a-1;i++) printf("*"); printf("\n"); } getchar(); return 0; }

做完了整个人都不太好了。【这大概是实验总结和体会吧。。
大括号的使用太谜了,用错了就开始失败然后瞎改改改改很难改好……
然后就是可能是我电脑安装的问题2010脾气很大经常玩闪退(…)
感觉自己可能对for和if的用法还需要再熟练一下吧,尤其是不安分的大括号放的位置。。
以上。
评论博客:
https://www.cnblogs.com/wznn/p/10714074.html
https://www.cnblogs.com/WPA1/p/10714225.html
https://www.cnblogs.com/139Typing/p/10713190.html