c语言编程题for循环语句

某一次考试之后,需要统计考生的平均成绩,并找出其中的最高分和最低分。试为此编译程序。for循环语句吧

代码如下:

# include < stdio.h >

Voidmain()

Int[100].

Ints=0,I,num,Max,min,av;

Printf("enternumberofstudents:");

Thescanf("%d",num);

Printf("inputfraction\n");

(I = 0; The < num; + +)

{printf("%d:",I+1);

Scanf("%d",and[I]);}

(I = 0; The < num; + +)

Printf("%4d",[I]);

Printf("\n");

Max=[0];

Min=[0];

(I = 0; The < num; + +)

S=s+[I];

Av=s/10;

(I = 0; The < num; + +)

{if ([I]> Max) Max =[I];

If ([I]< min) minutes =[I];

Printf("Max=%d,min=%d,assertion=%d\n",Max,min,av);

扩展资料:

For循环是编程语言中的一种循环语句,循环语句由循环体和循环的判断条件组成,其表达式为:For(单表达式;条件表达式;(循环体){中间循环体;}。

1.这句话最简单的形式是:

(;,)

2.一般形式为:

(单一的表达式;条件表达式;结束循环体)

Mesocycle;

式中,表达式可以省略,但分号不能省略,因为“;”可以表示一个空的语句,省略后语句减少,即语句格式发生变化,编译器无法识别和编译。[1]

第一”;“前面的for循环括号中是一个不参与循环的表达式,可以用作变量的初始赋值语句,将初始值赋给循环控制变量;您还可以计算其他独立于for循环但在循环部分之前处理的表达式。

”;“符号之间的条件表达式是一个关系表达式,它是循环的正式开始,在建立条件表达式时执行中间循环的主体。

执行的中间循环体可以是一条语句,也可以是多条语句。当中间的循环体只有一条语句时,可以省略大括号{}。在执行中间循环体之后,执行最终循环体。

在执行最后一个循环体之后,将再次执行条件判断。如果条件仍然有效,则会重复上面的循环,如果条件无效,则会中断当前的for循环。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-03
1.作为示例,以求解下面数学式为例:
SUM = 1 - 3 + 5 - 7 + ...-99 + 101;
首先,需要分析数学规律,就数学式中每一项的绝对值而言,可以看成 a(n) = 2 * n - 1 其中,n = {1,2,3...51},而就每一项的符号而言,可以发现,当 n 为偶数时,对应的项为负号;当 n 为奇数时,对应项符号为正号。
2.建立工程、文件,简单配置,编写如下代码:
#include <stdio.h>

int main(void)
{
int sum,s;
int i;
sum = 0;
for(i=1;i<52;i++)
{
if(i%2==0)
{
s = -1;
}
else
{
s = 1;
}
sum += (2*i-1)*s;
}
printf("sum of (1-3+5-7+...-99+101) is: %d\n",sum);
return 0;
}
其中,s 就是符号控制,其中for循环累加每一项。

3.编译、链接、运行程序,运行结果如下所示,可以看到运行结果SUM = 51.

4.合理运用for循环可以简化代码设计,增强代码可读性,缩减代码篇幅,利用循环可以处理重复并且有规律性的问题,比如规则图形的打印,数组遍历、对象赋值等,合理运用for循环需要先理解for循环的语法:
for(表达式1;表达式2;表达式3)
{
循环体
}
END
第2个回答  2008-09-08
// score.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#define N 100 //定义学生最大数量
void main()
{
int a[N];
int s=0,i,num,max,min,av=0; //num代表学生数量。min分数最小值。max分数最大值。av平均数
printf("input the number of students:");
scanf("%d",&num); //输入学生数量
while(num>=N||num<=0) //输入处理
{
if(num>=N)
{
num=N;
printf("The max number of student which can't deal with in this program is %d!\n",num);
printf("Please input student again! Don't Beyond the limit of the student number!\n");
scanf("%d",&num); //重新输入
}
if(num<=0)
{
printf("The number of student can't be a negative here! Your input is %d|!\n",num);
printf("Please input student again!\n");
scanf("%d",&num); //重新输入
}
}
printf("input the score!\nIf the score which is your input is nagetive .The score of student will be zero!\n"); //输入成绩
for(i=0;i<num;i++)
{
printf("%d:",i+1);
scanf("%d",&a[i]); //输入学生的成绩
if(a[i]<0) a[i]=0;//成绩小于0就置为0
}
for(i=0;i<num;i++)
printf("%-4d",a[i]); //输出输入、的学生成绩
printf("\n");//换行

max=a[0]; //min、max初始化
min=a[0];
for(i=0;i<num;i++) //一个for循环就够了
{
s=s+a[i];
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
av=s/num;//平均成绩值是所有成绩值除以学生数量
printf("max=%d,min=%d,aver=%d\n",max,min,av); //输出所求值
getch();
}

参考资料:

第3个回答  2020-03-22

#include <stdio.h>
#include <conio.h>
#include <math.h>
int main (void) {
int sum ,squareRoot, isPrime, i, j;
sum = 0;
for (i=2; i<=100; i++) { /*1不是素数,所以从2开始*/
/*对于某数num,若其不能被2~num^1/2(num的平方根)之间所有整数整除,则其为素数*/
squareRoot = (int) sqrt (i);
isPrime = 1;
for (j=2; j<=squareRoot; j++) {
if (i%j == 0) {
isPrime = 0;
break;
}
}
if (isPrime==1)
sum+=i;
}
printf ("%d\n", sum);
getch (); /*屏幕暂留*/ 
    return 0;
}
运行结果

第4个回答  2008-09-08
假设有4名同学,统计3门课的平均成绩(数字可以更改),代码如下:
#include "stdio.h"
#define N 4
void p();
struct student
{
int a,b,c;
float m;
}stu[N];
void main()
{

printf("请输入3门课成绩:");
for(int i=0;i<N;i++)
{scanf("%d%d%d",&stu[i].a,&stu[i].b,&stu[i].c);
stu[i].m=(stu[i].a+stu[i].b+stu[i].c)/3.0;
}
for(int j=0;j<N;j++)
printf("平均分分别为:\n%f\n",stu[j].m);
p();
printf("min=%f\tmax=%f",stu[0].m,stu[N-1].m);
}
void p()
{
float t;
for(int i=0;i<N-1;i++)
for(int j=i+1;j<N;j++)
if(stu[i].m>stu[j].m)
{t=stu[i].m;stu[i].m=stu[j].m;stu[j].m=t;}

}
相似回答