标签:试验 利用 信息 return 循环语句 教程 csharp stdio.h 收获
part1
/*
《C语言程序设计教程学习指导》p122 实验内容(1):判断三角形类型:一般三角形、等腰三角形、等边三角形
这是一个使用多分支if语句编程解决非数值类问题示例
运行程序,输入不同边长数据进行测试,观察输出结果是否正确,理解和巩固if语句功能和用法
*/
#include <stdio.h>
int main() {
double a,b,c;
scanf("%lf %lf %lf", &a, &b, &c);
if(a+b>c && a+c>b && b+c>a) {
if(a==b && a==c)
printf("构成等边三角形\n");
else if(a==b || a==c || b==c)
printf("构成等腰三角形\n");
else
printf("构成一般三角形\n");
}
else
printf("不能构成三角形\n");
return 0;
}



/*
demo1_1.cpp: 《C语言程序设计教程学习指导》p122 实验内容(1)
这是一个使用多分支if语句编程解决非数值类问题示例
运行程序,输入不同边长数据进行测试,观察输出结果是否正确,理解和巩固if语句功能和用法
*/
#include <stdio.h>
int main() {
double a,b,c;
scanf("%lf %lf %lf", &a, &b, &c);
if(a+b>c && a+c>b && b+c>a) {
if(a==b || a==c || b==c) {
if (a==b && a==c)
printf("构成等边三角形\n");
else
printf("构成等腰三角形\n");
}
else
printf("构成一般三角形\n");
}
else
printf("不能构成三角形\n");
return 0;
}



/*
这是在demo1.cpp的基础上行,增加了一小部分代码,可以循环判断多组数据
要终止输入和判断:按组合键Ctrl+D(同时按下Ctrl和D键),然后按回车键结束
*/
#include <stdio.h>
int main() {
double a,b,c;
printf("输入三角形三边:\n");
while(scanf("%lf%lf%lf",&a,&b,&c)) {
if(a+b>c && a+c>b && b+c>a) {
if(a==b && a==c)
printf("构成等边三角形\n");
else if(a==b || a==c || b==c)
printf("构成等腰三角形\n");
else
printf("构成一般三角形\n");
}
else
printf("不能构成三角形\n");
printf("\n输入三角形三边:\n");
}
return 0;
}

/* 《C语言程序设计教程学习指导》p122 实验内容(2):输入百分制分数,测算并输出等级制分数 这是一个综合使用while语句、多分支if语句和continue、break实现分数段判断的示例 运行程序,输入不同分数值进行测试,理解和巩固这些控制语句的用法 按下组合键Ctrl+D(同时按下Ctrl和D)结束判断 */ #include <stdio.h> int main() { int score; // 用于存放百分制分数 char grade; // 用于存放等级制分数(取值‘A‘, ‘B‘,‘C‘,‘D‘, ‘E‘) while(1) { printf("输入学生成绩: "); if(scanf("%d",&score) == 0) // 如果检测到没有成绩输入,则结束整个循环 break; if(score<0 || score > 100) { printf("输入成绩有误!\n\n"); continue; // 结束本次循环,开始下一次循环 } else if(score>=90 && score<=100) grade = ‘A‘; else if(score>=80 && score<=89) grade = ‘B‘; else if(score>=70 && score<=79) grade = ‘C‘; else if(score>=60 && score <=69) grade = ‘D‘; else grade = ‘E‘; printf("等级为: %c\n\n", grade); } return 0; }

/*
相较于demo3.cpp,这个代码实现中,分数从百分制转换为等级制的部分,使用switch语句实现
按下组合键Ctrl+D(同时按下Ctrl和D),然后按回车键,结束判断
*/
#include <stdio.h>
int main() {
int score; // 用于存放百分制分数
char grade; // 用于存放等级制分数(取值‘A‘, ‘B‘,‘C‘,‘D‘, ‘E‘)
while(1) {
printf("输入学生成绩: ");
if(scanf("%d",&score) == 0) // 如果检测到没有成绩输入,则结束整个循环
break;
if(score<0 || score > 100) {
printf("输入成绩有误!\n\n");
continue; // 结束本次循环,开始下一次循环
}
switch(score/10) { // 使用switch进行分数等级判断
case 10:
case 9: grade=‘A‘; break;
case 8: grade=‘B‘; break;
case 7: grade=‘C‘; break;
case 6: grade=‘D‘; break;
default: grade=‘E‘;
}
printf("等级为: %c\n\n", grade);
}
return 0;
}

// 对比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);
}
return 0;
}

// 对比demo5_1.cpp和demo5_2.cpp,理解控制语句continue和break的功能
#include <stdio.h>
int main() {
int i;
// 在循环语句中使用break
for(i=1; i<=5; i++) {
if (i%3 == 0) // 如果i是3的倍数,则结束整个循环
break;
printf("i=%d\n",i);
}
return 0;
}

// 对比demo6_1.cpp和demo6_2.cpp,理解在嵌套的循环中,控制语句continue和break的功能
#include <stdio.h>
const int LINE=3; // 定义符号常量LINE
const int COLUME=5; // 定义符号常量COLUME
int main() {
int line; // 定义变量line, 用来控制行数
int col; // 定义变量col, 用来控制列数
// 输出LINE行信息
for(line=1; line<=LINE; line++) {
// 每一行中,利用循环,输出各列信息
for(col=1; col<=COLUME; col++) {
if(col%3 == 0) // 如果col是3的倍数,则结束本次循环,开始下一次循环
continue;
printf("%5d", col);
}
printf("\n"); // 每输出完一行,换行
}
return 0;
}

// 对比demo6_1.cpp和demo6_2.cpp,理解在嵌套的循环中,控制语句continue和break的功能
#include <stdio.h>
const int LINE=3; // 定义符号常量LINE
const int COLUME=5; // 定义符号常量COLUME
int main() {
int line; // 定义变量line, 用来控制行数
int col; // 定义变量col, 用来控制列数
// 输出LINE行信息
for(line=1; line<=LINE; line++) {
// 每一行中,利用循环,输出各列信息
for(col=1; col<=COLUME; col++) {
if(col%3 == 0) // 如果col是3的倍数,则结束内层循环体
break;
printf("%5d", col);
}
printf("\n"); // 每输出完一行,换行
}
return 0;
}

part2
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #include <stdio.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; while(n>=1 && 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); return 0; }

do while 形式
/* 编程找出5个整数的最大数和最小数 */ #include <stdio.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>1 && n<5); printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }

for语句出了点问题,希望有人帮忙解决一下
/*
编程找出5个整数的最大数和最小数
*/
#include <stdio.h>
int main() {
int number, max, min, n;
n=1;
printf("输入第%d个数: ", n);
scanf("%d", &number);
max = number;
min = number;
for (;n++;n<5)
{
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);
return 0;
}

上面的问题我已经解决了
/*
编程找出5个整数的最大数和最小数
*/
#include <stdio.h>
int main() {
int number, max, min, n;
n=1;
printf("输入第%d个数: ", n);
scanf("%d", &number);
max = number;
min = number;
for (n=2;n>=1 && 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);
return 0;
}

part3
/*编程输出101~200之间所有素数,并输出这一区间内素数个数。*/
#include <stdio.h>
int main() {
int m,n;
int count=0;
for(m=101; m<=200; m++)
{
for(n=2; n<m; n++)
{
if(m%n==0)
break;
}
if(n>=m)
{
count++;
printf("%d ",m);
if(count%5==0)
printf("\n");
}
}
printf("101~200之间共有%d个素数",count);
return 0;
}

#include<stdio.h>
int main()
{
int a,b,n;
for(n=1;n<5;n++){
for(a=1;a<=6-n;a++)
printf(" ");
for(b=1;b<=2*n-1;b++)
printf("*");
printf("\n");
}
return 0;
}

实验结论
1结合程序demo5_1.cpp和demo5_2.cpp运行结果对比,总结在循环中使用控制语句continue和break,
其功能区别是什么?
continue表示结束本次循环,进行下一次循环。
break表示结束这个循环体。
2结合程序demo6_1.cpp和demo6_2.cpp运行结果对比,回答:
在两层嵌套循环中,内层循环中如果出现continue,是否影响外层循环?
不影响。
在两层嵌套循环中,内层循环中如果出现break,是否影响外层循环?
影响。
实验总结与体会
此次试验,收获比较大的是学会了for语句,但是有时还会弄错循环次数。
我觉得我还要在算法方面加强训练,变量之间的联系有时稀里糊涂的,。语句还是掌握的不熟。
互评
https://www.cnblogs.com/rosalyn/p/10686929.html
https://www.cnblogs.com/zys-0119/p/10686828.html
https://www.cnblogs.com/radius1/p/10693079.html
标签:试验 利用 信息 return 循环语句 教程 csharp stdio.h 收获
原文地址:https://www.cnblogs.com/Bnuikl/p/10693045.html