任务代码:
#include <stdio.h>
int main()
{
int sum=0,i=1;
while(1)
{
sum=sum+i;
if(i>=100)
break;
i++;
}
printf("1到100的加和为:%d",sum);
return 0;
}
#include <stdio.h>
int main()
{
int sum=0,i,j=0;
for(i=1;i<=100;i++)
{
if(i%2==0)//忽略所有的偶数
continue;
j++;
printf("%d ",i);
if(j%5==0) //每输出5个换一行
putchar('\n');
}
return 0;
}
大奖赛积分:
#include <stdio.h>
int main()
{
printf("大奖赛积分!\n");
int iJudger=1,iJudger_Number;
float fMark,fSum=0,fMax=-1,fMin=11,fAver;
char choice;
printf("评委人数:\n");
scanf("%d",&iJudger_Number);
do{
printf("请输入选手的成绩(0分-10分)\n");
do
{
printf("请输入第%d位评委的评分:",iJudger);
scanf("%f",&fMark);
if(fMark<0||fMark>10)
continue; //输入不对就继续输,由于不会执行到后面的iJudger++,提示的还是原评委,而且这个只限于do while语句,for语句因为条件中一定有++所以无法
fSum=fSum+fMark;
if(fMark>fMax)
{
fMax=fMark;
}
if(fMark<fMin)
{
fMin=fMark;
}
iJudger++;
}while(iJudger<=iJudger_Number);
fAver=(fSum-fMax-fMin)/(iJudger_Number-2);//计算平均分
printf("减去一个最高分: %.3f\n", fMax);
printf("减去一个最低分: %.3f\n", fMin);
printf("当前选手的最后得分是:%.3f\n", fAver);
printf("******************* SUCCESS ***********************\n");
printf("按 N 退出,其他键继续....");
fflush(stdin); //将输入缓冲清空,否则getchar()会读入之前录入中的回车等符号
choice=getchar();
}while(choice!='N' && choice!='n'); //忽略大小写带来的问题
return 0;
}
执行情况:
知识总结:
break往往放在一个循环里面,和一个if语句搭配:作用在循环里面跳出循环。
while(表达式1)
{
... if(表达式2)
break;
}
continue同样也是放在一个循环里曼并伴随if的存在;作用是在表达式2判断为真时,永远执行代码1的部分跳转开头而跳过代码2;
while(表达式1)
{
代码1....
if(表达式2)contibue;
代码2....
}
for(E1;E2;E3)
{
代码1....
if(E4)contibue;
代码2....
}
心得体会: