注册 登录
编程论坛 新人交流区

进来看一下~~写程序~~

fee1rhyme 发布于 2007-11-05 21:24, 1053 次点击

输入某门课程的成绩数据,分别统计优(90-100分),良(80-89分),中(70-79分).及格(60-69分)和不及格(60分以下)的学生人数.

44 回复
#2
lang00562007-11-05 21:27
这都是小鸟的地方不知道有人会来不??
#3
springey5202007-11-05 21:34
94 我看还是努力回贴 然后去高手那边问吧 原来学的C语言那点东西都忘没了
#4
Listen2007-11-05 21:40

用switch语句做吧

#5
huyinhao22007-11-05 21:47
自己写吧
#6
NS20072007-11-05 21:48
这种程序要自己动手写写,很简单的。
#7
csfeng2007-11-05 22:43
if(score>=90) num1++;
if(score>=80&&score<=89) num2++;
if(score>=70&&score<=79) num3++;
if(score>=60&&score<=69) num4++;
if(score<60) num5++;
#8
yjbgwxf20082007-11-05 23:06
[IMG]http://photos.my.[/IMG]
#9
yjbgwxf20082007-11-05 23:08
[URL=http://photos.my.]http://photos.my.[/URL]
#10
yjbgwxf20082007-11-05 23:15
#include <iostream.h>
void main()
{
double score;
cout<<"please input score\n";
cin>>score;
if (score>=90)
{
cout<<"优"<<endl;
}
else if (score>=80)
{
cout<<"良"<<endl;
}
else if (score>=70)
{
cout<<"中"<<endl;
}
else if (score>=60)
{
cout<<"及格"<<endl;
}
else cout<<"不及格"<<endl;
}
#11
cuihaipeng2007-11-05 23:15

自己加油了 呵呵

#12
kakawei2007-11-06 00:18

简单啊,用while语句很快就出来了.

#13
yangbocsj2007-11-06 01:10
我 倒,要回10个,我就路过帮你顶一下吧!!!!!!!!
int score,num1,num2,num3,num4,num5;
if(score>=90) num1++;
if(score>=80&&score<=89) num2++;
if(score>=70&&score<=79) num3++;
if(score>=60&&score<=69) num4++;
if(score<60) num5++;
#14
早起的月光2007-11-06 01:15
#include<stdio.h>
int main(void)
{float score;
scanf("%f",&score);
if(score>=90)printf("优秀\n");
else if(score>=80)printf("良好\n");
else if(score>=70)printf("中等\n");
else if(score>=60)printf("及格\n");
else printf("不及格\n");
}
才学的,呵呵
#15
killpengke2007-11-06 09:11
#16
紫色天空2007-11-06 10:24
要回复十个  帮你顶下贴
#17
作弊2007-11-06 10:27
楼主应该想想如何用switch实现

编程永远是要找最优化
#18
Empyrean2007-11-06 10:39
for 也可以吧
#19
Listen2007-11-06 12:36

int main()
{
int num1=0,num2=0,num3=0,num4=0,num5=0;
int n,i; /*n为需要输入的成绩个数*/
int score[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&score[i]);
switch(score[i]/10)
{
case 10:
case 9:num1++;break;
case 8:num2++;break;
case 7:num3++;break;
case 6:num4++;break;
default:num5++;
}
}
printf("优秀=%d,良好=%d,中等=%d,及格=%d,不及格=%d",num1,num2,num3,num4,num5);
getch();
return 0;
}

#20
darlingxixi2007-11-06 12:58
看你用什么语言了
#21
suhongyi2007-11-06 13:09
LS看错题了吧
用一个循环扫描整个成绩,在循环里判断就行,相应的数目累加就行
#22
jacky_gao2007-11-06 13:25
#23
关公2007-11-06 13:49
复杂!
#24
fee1rhyme2007-11-06 14:06
回复:(Listen)int main(){int num1=0,num2=0,num3=...
呵呵,我还能懂一点~~谢
#25
fee1rhyme2007-11-06 14:09
呵呵,感谢各位的帮忙~~再接再励~~虽然现在懂得很少~~
#26
展鸿2007-11-06 14:32
回复:(csfeng)if(score>=90) num1++;if(score&g...
正确,就是这样写,灵活变通一下
#27
firetome2007-11-06 14:40

其实用EXCEL就可以做的。

#28
xuxuriri2007-11-06 14:47
书上都有过
#29
majinfei2007-11-06 14:50

#include <iostream.h>
void main()
{ float i;
int n[5];
int j;
for(j=0;j<5;j++)
n[j]=0;
while(1)
{
cout<<"请输入成绩"<<endl;
cin>>i;
if(i>=90)
n[0]++;
else if(i>=80)
n[1]++;
else if(i>=70)
n[2]++;
else if(i>=60)
n[3]++;
else if(i>=0)
n[4]++;
else
break;//"输入一个非数字结束成绩的输入"
cout<<"优的人数"<<n[0]<<endl<<"良的人数"<<n[1]<<"中的人数"<<n[2]<<endl<<"及格的人数"<<n[3]<<"不及格的人数"<<n[4];

}


}

#30
孤心辰2007-11-06 15:00

我靠,不是吧?我想问下C好像不支持中文吧?用switch很好写的,我就不写了,自已想下,可以用
switch(x/10)

case 9:case10: printf("A\n");break;
case 8: printf("B\n");break;
.
.
.
就用这种格式写就行了~~因为TC不支持中文,所以我就写成了在90-100分的输出A,80分的输出B....大加一起油

#31
孤心辰2007-11-06 15:02
不好意思,SWITSH下面少了大括号~~
#32
kakawei2007-11-06 16:48
用标记来控制输入的数量啊;
int number;
cin>>number;
while(number!=-1)//用-1做标记
{
int counter1=0,counter2=0,counter3=0,counter4=0,counter5=0;
if(score>=90) counter1++;
if(score>=80&&score<=89) counter2++;
if(score>=70&&score<=79) counter3++;
if(score>=60&&score<=69) counter4++;
if(score<60) counter5++;
cin>>number;
}
#33
早起的月光2007-11-06 16:49
顶19楼
#34
明明_ming2007-11-06 17:00
#35
明明_ming2007-11-06 17:25
#36
DasayHaoEr2007-11-06 18:21

楼主没有说是用哪种语言实现,现写下核心代码:
if(score >= 90 && score <= 100){
level = '优';
}else if(score >= 80 && score <= 89){
level = '良';
}else if(score >= 70 && score <= 79){
level = '中';
}else if(score >= 60 && score <= 69){
level = '及格';
}else{
level = '不及格';
}


#37
徐磊2007-11-06 18:25

#include "stdio.h"
main()
{
int n;
float scores;
n= int( scores/10);
switch( n)
{
case 10:
case 9: printf("优"); break;
case 8: printf("良"); break;
case 7: printf("中"); break;
case 6: printf("及格"); break;
default: printf("不及格");
}

}

#38
fee1rhyme2007-11-06 19:02
回复:(徐磊)#include

朋友~~你没有给分数取范围~~

#39
lovehaihong2007-11-06 19:24
不管简单不简单,能第一时间写得出写得对才是好,还是努力回帖吧!!!!
#40
wdyllff2007-11-06 20:06
以下是引用csfeng在2007-11-5 22:43:07的发言:
if(score>=90) num1++;
if(score>=80&&score<=89) num2++;
if(score>=70&&score<=79) num3++;
if(score>=60&&score<=69) num4++;
if(score<60) num5++;

就 这个 好了 自己 在 补充 下了

#41
jsgyww5202007-11-06 20:54

直接用switch语句啊

#42
Listen2007-11-06 21:37

中文写着是为了清楚点, 真要试时就换掉吧.

#43
study19892007-11-08 15:22
static void Main(string[] args)
{
int y=0,l=0,z=0,jg=0,bjg=0;
double score;
char judge;
do
{
Console.WriteLine("请输入学生成绩:");
score=double.Parse(Console.ReadLine());
if(score>=90&&score<=100)
y++;
else if(score>=80&&score<=89)
l++;
else if(score>=70&&score<=79)
z++;
else if(score>=60&&score<=69)
jg++;
else
bjg++;
Console.WriteLine("请问你还要继续输入成绩吗?y/n");
judge=char.Parse(Console.ReadLine());
}while(judge=='y'||judge=='Y');
Console.WriteLine("优秀{0}人,良好{1}人,中等{2}人,及格{3}人,不及格{4}人",y,l,z,jg,bjg);
Console.ReadLine();
}
#44
study19892007-11-08 15:25
以前学的c语言忘记很多了,现在开始学C#,就用C#写了,也满足要求.
#45
电脑学徒2007-11-08 16:29

做这个是生成什么文件呀/我是新手

1