C语言算法问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:23:29
【例2.2】有50个学生,要求将他们之中成绩在80分以上者打印出来。
如果,n表示学生学号,ni表示第个学生学号;g表示学生成绩,gi表示第个学生成绩;
则算法可表示如下:
S1: 1→i
S2: 如果gi≥80,则打印ni和gi,否则不打印
S3: i+1→i
S4:若i≤50, 返回S2,否则,结束。

(这道题用C程序如何表示)

//调试已经通过,自己看着用吧.
#include <stdio.h>
#define max 50

void main()
{
int n[max];
float g[max];
for(int i=0;i<max;i++)
{
printf("请输入第%d个学生学号和成绩\n",i+1);
scanf("%d,%f",&n[i],&g[i]);
}
printf("八十分以上的学生学号和成绩为:\n");
for(i=0;i<max;i++)
{
if(g[i]>=80)
{
printf("%d,%0.2f\n",n[i],g[i]);
}
}
}

for(int i=1;i<=50;i++)
{
if(gi>=80) printf("%d,%d",ni,gi);
}

#include <stdio.h>
#define MAX 100
int main(int agrc, char **agrv)
{
int i = j = 0;
int n[MAX];
int g[MAX];

for (; i<MAX; i++)
{
printf("input n[%d]\n:",i);
scanf("%d", &n[i]);
printf("input g[%d]\n:",i);
scanf("%d", &g[i]);