c语言编程题for循环语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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循环。

参考技术A 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
参考技术B // 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();

参考资料:

参考技术C

#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;

运行结果

参考技术D 假设有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;

for循环语句头的执行顺序

之前从没详细了解过for循环语句头,知道看到一个c语言题,它的js实现是:
var?i?=?0;?var j?=?10;
????for(i=0; i<j; i++,j--)
????
????????if(j==10)
????????
??????????? console.log(i, j);
????????????j--;
????????
????????j++;
????
????console.log(i, j);

a) 0,10
9,9

b) 0,10
10,10

c) 10,10

d) 9,11

正确答案是: a

执行顺序是:初始化--判断--函数体——然后for循环的第3句--判断——函数体---for循环的第三句--判断……

以上是关于c语言编程题for循环语句的主要内容,如果未能解决你的问题,请参考以下文章

c语言中for语句是怎么用的

C语言中的for循环

C语言中for循环怎么理解?

C语言初学着 提问 怎样用for循环语句求1到10的和啊?

Excel VBA中for循环语句的用法

C语言三种循环结构的完整句子?