C语言 在主函数中输入10个学生的成绩,用自定义函数求10学生成绩的最高分,最低分以及平均值?
#include #统计不及格人数函数int scoreCount(float a[]){ int count=0,i=0; for(;i<10;i++) { if(a[i] < 60) { count++; } } return count;} #计算平均分函数 float avg(float a[]) { float avgScore = 0.00; float sum = 0.00; int i = 0; for(;i<10;i++) { sum += a[i]; } avgScore = sum/10.00; return avgScore; } int main() { float a[10]; int i,count; float avgScore; for(i=0;i<10;i++) { scanf("%f", &a[i]); } count = scoreCount(a); avgScore = avg(a); printf("不及格人数:[%d]个,平均分为:[%.2f]分
", count,avgScore); return 0; }代码如上所示;已经测试可以运行,结果如下:
直接复制可能引号会有问题,需要自己改下
#include
int max(int fenshu[])
{
int max = 0;
for(int i = 0;i < 10;i++)
{
if(fenshu[i] > max)
{
max = fenshu[i];
}
}
return max;
}
int min(int fenshu[])
{
int min = 101;
for(int i = 0;i < 10;i++)
{
if(fenshu[i] < min)
{
min = fenshu[i];
}
}
return min;
}
int main()
{
int fenshu[10];
printf("请输入十个整数(0~100)
");
for(int i = 0; i < 10;i ++)
{
scanf("%d",&fenshu[i]);
}
printf("最高分数是%d,最低分数是%d",max(fenshu),min(fenshu));
}
一、统计输入的字符个数
同学们在学习C语言课程中,经常会遇到一道题,就是要求你写一个C程序,这个C程序能够读取你从键盘上输入的字符,并且统计其中的字符个数,最后输出总的字符个数并且把这些输入的字符再输出来。
不少同学遇到这道题没啥思路,不知该如何上手。其实需要按照分解题目、每个分解的部分对应的C语言的哪些知识点、每个分解的部分写成伪C程序代码,最后完善为一个可以编译与执行的C程序代码的步骤来。每一个C程序上机题看着难,其实不然,同学们需要掌握做题的思路,按照思路一步一步地走下去。这篇文章及后续的上机题都会教同学们思路。C程序代码不重要,重要的是思路。
二、题目分解思路
同学们在拿到一道C程序上机题时,要仔细审题,就像我们小时候写作文一样要仔细审题。通过审题,同学们要分解题目,通过分解提炼出题目中的关键点,也就是只要把这些关键点做出来,这道题也就做出来了。
关于这道题,我们仔细分解试题后可以提取出这道题的几个关键点,如下:
1、要求实现一段C程序。
2、C程序要读取你从键盘上输入的字符。
3、统计字符的个数。
4、输出字符的个数。
5、输出所有的字符。
好了,这道C程序题的关键点我们都提取出来了,下面来说说每个关键点对应的C语言知识点。
三、C语言知识点
上面提取出了5个关键点,同学们要能迅速在脑海中找到这5个关键点对应的C语言知识点,这个就需要同学们平时认真地学习C语言、打好C语言的基础了。如果不记得的话,赶紧查查书再温习温习。
这5个关键点对应的C语言知识点如下。
1、要求实现一段C程序。
但凡是C程序,总有一些固定的东西,比如该包含的头文件要包含进来,然后把main函数先写好,就像这样:
剩下的事儿不就是慢慢地填其他代码吗。
2、C程序要读取你从键盘上输入的字符。
要从键盘上读取输入的字符,同学们想想有哪些函数是可以从键盘读入字符的?这个时候你应
该能快速地想打scanf、getchar等,对吧。最起码你得想到scanf吧,这个都想不到的话赶紧再去看看书,温习温习。
这里我们先用getchar吧。
3、统计字符的个数。
既然要统计字符的个数,那么就需要一个变量吧,这个变量专门存放字符的个数的。而且字符的个数肯定是个整数对吧,又不可能是个小数。既然是整数,同学们脑海里立马就应该想到C语言中标记整数的那些类型,比如short,int,long等。这道题输入的字符数不会很多,那么这个变量的类型可以选用int。
4、输出字符的个数。
输出字符的个数,那当然就要用到输出函数了,同学们脑海里就应该立即想到有哪些输出的函数呢?最常见的肯定是printf函数了,行,我们就用printf函数吧。
5、输出所有的字符。
哎呀,还要输出所有的字符。那么同学们就要想想了,C程序里什么时候输出呢?是把所有的字符都收下来再输出还是一边收字符一边输出呢?
如果是都收下来再输出的话,那么就需要一个能够存放字符的地方,比如数组。
如果是边收边输出的话,那就无需数组了。
这里我建议采用边收边输出的方法,我留道题给同学们思考,如果采用数组的方式,会有什么问题呢?欢迎留言讨论。
好了,5个关键点对应的C语言知识点都讲到了,下面我们试着用这些C语言知识点写一段C程序的伪代码吧。
四、C程序伪代码
现在我们把上面分析到的结果用C程序伪代码写出来。伪代码就是你自己随便写,只要能帮助你自己理解就行。一个C程序伪代码如下:
{!-- PGC_COLUMN --}
五、最后生成一个完整的C程序
完成伪代码之后,我们就要对伪代码做“艺术加工”,慢慢完善它,使得它成为一个可以被编译和运行的C程序。下面我们来把伪代码变成真正的C程序代码吧。
1. 声明一个字符变量val。这个字符变量用来存储输入的每一个字符。
这句伪代码转换成正式的C程序代码不难吧,如下:
char val = ‘\0’;
这里我再次强调啊,声明一个变量的时候最好是给它一个初始值哦。
2.声明一个整型变量count,来存储字符的个数
这句伪代码转换成正式的C程序代码也不难吧,如下:
unsigned int count = 0;
由于count是专门存放字符个数的,所以它肯定是个正数,而unsigned int就表示正数的整型的意思。
3. while循环里
这段循环的C程序代码是本程序的关键部分,转换为正式的C程序代码如下:
每次使用getchar读取到一个字符后就给变量val。由于同学们输入完字符之后肯定会按下一个回车键,也就是产生了一个换行符\n,因此C程序判断变量val是换行符的话就认为输入结束了。
循环里面变量count就会自己不断地加1,同时输出读取到的字符。getchar也在不断地读取输入的字符。
5.printf函数输出字符的个数
输出字符个数很简单,如下:
printf("\n输入的字符个数为: %u", count);
这里由于count是正数,因此使用%u来输出count的值而不是%d。
C程序运行结果如下:
同学们以后在做上机题时,需要按照本文介绍的方法:题目分解、想起对应的知识点、写出伪代码、写出正式的C程序。
C语言 在主函数中输入10个学生的成绩,用自定义函数求10学生成绩的最高...
} } return count;} #计算平均分函数 float avg(float a[]) { float avgScore = 0.00; float sum = 0.00; int i = 0; for(;i<10;i++) { sum += a[...
C语言问题,输入10个学生5门课成绩,分别用函数实现下列功能:
C语言编程示例中,我们构建了一个程序来处理10名学生5门课程的成绩。程序通过函数分别实现了计算每个学生的平均成绩、每门课程的平均成绩以及找出最高成绩的具体位置。在主函数中,我们首先定义了一个二维数组a,用于存储10名学生在5门课程的成绩。接着,通过循环让用户输入每名学生在5门课程的成绩,并使...
...函数实现冒泡排序算法。在主程序中输入10个学生的成绩,排序后输出结 ...
int i,j=10,a[10];printf("please enter ten data");for(j=0;j<=9;j++){ scanf("d%",&a[j]);printf("%d",a[i]);} for(i=1;i<=j;i++){ for(i=1;i<=10;i++){ if(a[i]>a[i+1]){ a[0]=a[i+1];a[i+1]=a[i];a[i]=a[0];} } } for(i=0;i<...
用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩
在主函数main中,接收用户输入,初始化数组,调用排序函数,然后输出排序后的成绩:在main函数里,创建一个大小为SIZE的整型数组number,并通过for循环读取用户输入的10个成绩。调用bubble_sort函数对数组进行排序,最后遍历数组并打印出排序后的成绩。运行程序后,你会看到按高分到低分排列的学生成绩。除了冒...
c++编程实现:输入10个学生5门课的成绩,分别用函数求:
在C++编程中,实现输入10个学生5门课的成绩,并分别使用函数进行处理,是一种常见的编程练习。为了简化起见,我们首先定义了一个结构体score,用于存储学生5门课的成绩。具体代码如下:struct score { int 课程1名,课程2名,课程3名,课程4名,课程5名;};在这个结构体中,我们定义了5个整型变量,...
c语言从键盘输入10个学生的成绩,试统计出他们的成绩总和及平均值?_百 ...
以下是C语言实现从键盘输入10个学生的成绩,统计出他们的成绩总和及平均值的代码:c include int main() { int i;float score, sum = 0, avg;printf("请输入10个学生的成绩:\\n");for (i = 1; i <= 10; i++) { printf("第%d个学生的成绩:", i);scanf("%f", &score);sum +=...
c语言中如何从键盘输入10个学生的成绩?
要从键盘输入10个学生的成绩,可以使用C语言中的数组和循环结合scanf()函数来实现。以下是一个示例代码:include <stdio.h> int main() { int scores[10]; \/\/ 定义一个长度为10的整型数组存储成绩 int i;printf("请输入10个学生的成绩:\\n");for (i = 0; i < 10; i++) { printf("...
...3门课的成绩,从键盘上输入10个学生的数据,要求打印出3
要求:用input函数输入10个学生数据;用average函数求总平均分;用max函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。程序如下:define N 10 struct student { char num[6] ;char name[10] ;int score[3] ;float avr;}stu[N];void main(){ int i,I=0,j,max=0...
有10个学生成绩,在主函数里输入输出,另外用一个函数求全体学生的平均成...
include<iostream.h> include<string> void main(){ int a[10];int *p;p=a;for(int i=0;i<10;i++)cin>>*(p+i);cout<<"请输入学生成绩:"<<*(p+i)<<endl;} }
用c语言编写一个程序,输入10个数求平均值。
C语言:编写一个程序,从键盘输入10个学生成绩,求平均成绩。1、虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。 C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。2、循环语句中进行10个数的累加在sum里面,然后...