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