C语言学习11(循环结构:for语句)
for语句
/*for语句
格式:for(表达式1;表达式2;表达式3)
循环体;
其中,表达式1为循环变量赋初值
表达式2为循环条件
表达式3对循环变量进行改变
*/
//实例4-10:计算等差数列的和
#include "stdio.h"
#include "conio.h"
void main()
{
int max,min,cha,i;
int k;
double sum=0;
printf("\t计算等差数列\n");
printf("请输入该组数列的最小值:");
scanf("%d",&min);
printf("请输入该组数列的最大值:");
scanf("%d",&max);
printf("请输入该组数列的差值:");
scanf("%d",&cha);
for(i=min,k=0;i<=max;i+=cha)
{
printf("%8d",i);
sum+=i;
k++;
if (8==k) /* 没输出8个数换一行 */
{
printf("\n");
k=0;
}
}
printf("\n");
printf("该组数列的总和为:%.0lf\n",sum);
getch();
}
//学生平均分统计
#include "stdio.h"
#include "conio.h"
void main()
{
int num=0;
int max;
float sum,c;
float average=0;
printf(" 学生平均分统计\n");
printf("请输入学生人数的最大数:");
scanf("%d",&max);
printf("请逐一输入学生的成绩:\n");
printf("注意:当输入0时统计结束,并且系统会输出你所输入学生成绩的平均数:\n");
for(sum=0;num<=max;num++)
{
scanf("%f",&c);
sum+=c;
if (0==c)
break;
}
average=sum/num;
printf("所输入学生成绩的平均数是:%.2f\n",average);
getch();
}
//for语句应用
//实例4-11:奇数和与偶数和
//本实例中对1~n的自然数按奇数和偶数进行分组求和
#include "stdio.h"
void main()
{
int num;
int m=0,n=0;
int i,j;
printf(" 奇数和与偶数和\n\n");
printf("请输入一个自然数:");
scanf("%d",&num);
if (0==num%2)
{for(i=1,j=2;i<=num;i+=2,j+=2)
{
m+=i;
n+=j;
}
printf("1~%d之间,所有奇数的和为%d,所有偶数的和为%d\n",num,m,n);
}
else
{
if (0!=num%2)
for(i=1,j=0;i<=num;i+=2,j+=2)
{
m+=i;
n+=j;
}
printf("1~%d之间,所有奇数的和为%d,所有偶数的和为%d\n",num,m,n);
}
}
//拓展:奇数和与偶数和
//本实例中对1~n的自然数按奇数和偶数进行分组求和
#include "stdio.h"
#include "conio.h"
void main()
{
int num;
int n=0,m=0;
int i,j;
printf(" 奇数和与偶数和\n\n");
printf("请输入一个自然数:");
scanf("%d",&num);
if (0==num%2)
{
i=1,j=2;
do{
n+=i;
m+=j;
i+=2;
j+=2;
}while(num>=i);
printf("1~%d之间,所有奇数和为%d,所有偶数和为%d\n",num,n,m);
}
if(0!=num%2)
{
i=1,j=0;
do{
n+=i;
m+=j;
i+=2;
j+=2;
}while(num>=i);
printf("1~%d之间,所有奇数和为%d,所有偶数和为%d\n",num,n,m);
}
getch();
}
//拓展:奇数和与偶数和
//本实例中对1~n的自然数按奇数和偶数进行分组求和
#include "stdio.h"
#include "conio.h"
void main()
{
int num;
int n=0,m=0;
int i,j;
printf(" 奇数和与偶数和\n\n");
printf("请输入一个自然数:");
scanf("%d",&num);
if (0!=num%2)
{
i=1,j=0;
while(num>=j)
{
n+=i;
m+=j;
i+=2;
j+=2;
}
printf("1~%d之间,所有的奇数和为%d,所有的偶数和为%d\n",num,n,m);
}
if (0==num%2)
{
i=1,j=2;
while(num>=j)
{
n+=i;
m+=j;
i+=2;
j+=2;
}
printf("1~%d之间,所有的奇数和为%d,所有的偶数和为%d\n",num,n,m);
}
getch();
}