c語言輸入學生成績
Ⅰ 用c語言輸入100個學生的成績求平均值 最低分及格率
把100分定為最高來分,60分為及格源分數線。用C語言實現如下:
Ⅱ c語言學生成績輸入
#defineCLEAR(c)while((c=getchar())!=' '&&c!=EOF)
#include<stdio.h>
#include<conio.h>
#defineN3
#defineM3
intmain(){/**FOUND**/
structstudent{
intnum;/*學號*/
charname[16];/*姓名*/
floatscore[M];/*成績*/
}a[N];
inti,l,k,c;/**FOUND**/
for(i=0;i<N;i++){
for(l=0;l<M+2;l++){
if(l=0){
printf("學號");
scanf("%d",&a[i].num);/**FOUND**/
CLEAR(c);/**FOUND**/}
elseif(l=1){
printf("姓名");
scanf("%16s",&a[i].name);/**FOUND**/}
else{/*少個大括弧*/
k=l-1;
printf("成績%d",k);
scanf("%f",&a[i].score[M]);/**FOUND**/
CLEAR(c);/**FOUND**/
}
}
getch();
return0;/**FOUND**/
}
改動的地方我用注釋作了標記。
Ⅲ c語言如何編寫一個輸出學生成績等級的程序
一、首先打開VC++
Ⅳ C語言輸入10個學生學號姓名成績文件中
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inti=0;
//保存相關信息
intid,yw,sx;
charname[100];
floatsum,ave;
//輸出到文件
FILE*fp=fopen(data.dat,"w");
if(fp==NULL)return-1;
fprintf("學號|姓名 |語文|數學|總分|平均分");
for(i=0;i<10;++i)
{
printf("請依次專輸入學號,姓名,屬語文成績,數學成績 ");
scanf("%d%s%d%d",&id,name,&yw,&sx);
sum=yw+sx;
ave=sum/2.0f;
fprintf("%4d|%s |%4d|%4d|%4f|%f",id,name,yw,sx,sum,ave);
}
fclose(fp);
return0;
}
Ⅳ C語言~輸入5個學生的學號,成績,按成績排序(升序),查找90分以上的
代碼:
#include<stdio.h>
struct student
{
int num,score[3],age;
char name[20];
float aver;
}stu[1000];
main()
{
int i,j,n;
struct student temp;
/*注意:變數temp的類型與數組stu的元素類型為相同結構體的時候,才可交換兩個結構體數組元素,所以此處需要定義temp的類型*/
printf("請輸入學生人數: ");
scanf("%d",&n);
printf("請按順序輸入名字、學號、年齡、分數: ");
for(i=0;i<n;i++)
{
scanf("%s",&stu<i>.name);
scanf("%d",&stu<i>.num);
scanf("%d",&stu<i>.age);
for(j=0;j<3;j++)
scanf("%d",&stu<i>.score[j]);
}
for(i=0;i<n;i++)
{int sum=0;
for(j=0;j<3;j++)
sum+=stu<i>.score[j];
stu<i>.aver=sum/3.0;
}
for(i=0;i<n-1;i++)/*利用冒泡排序法按平均分高低排序*/
{for(j=0;j<n-i-1;j++)
{
if(stu[j].aver>stu[j+1].aver)
{temp=stu[j];/*此處交換的應當是數組元素,而不是平均分*/
stu[j]=stu[j+1];
stu[j+1]=temp;
}
}
}
printf("學生信息如下(姓名、學號、年齡、成績、平均分): ");
for(i=0;i<n;i++)
{
printf("%s%d%d",stu<i>.name,stu<i>.num,stu<i>.age);
for(j=0;j<3;j++)
printf("%d",stu<i>.score[j]);
printf("%.2f ",stu<i>.aver);
}
}
(5)c語言輸入學生成績擴展閱讀:
頭文件#include<stdio.h>中
stdio.h是stand input&output的縮寫,意思是標准輸入輸出頭文件。凡是用到標准輸入輸出函數,就要調用該頭文件。
查看stdio.h目錄下包含哪些函數:主要有文件訪問、二進制輸入/輸出、格式化和非格式化輸入/輸出、文件定位、錯誤處理、文件操作等。
具體打開自己的VS安裝目錄,找到include文件夾,打開include夾下面的stdio.h文件即可查看
(C:Program Files(x86)Microsoft Visual Studio 14.-1.1.10include)
常用標准輸入輸出函數:
scanf()從屏幕格式輸入
printf()格式輸出到屏幕
getchar()從屏幕得到一個字元
putchar()字元輸出到屏幕
gets()從屏幕得到一個字元串
puts()字元串輸出到屏幕
fscanf()從磁碟格式輸入
fprintf()格式輸出到磁碟
fgetc()從磁碟得到一個字元
fputc()字元輸出到磁碟
fgets()從磁碟得到一個字元串
fputs()字元串輸出到磁碟
#號是預處理語句,表明在編譯之前預先進行處理。
.h是header file的縮寫,表面這是一個頭文件。
include是文件包含命令,後面跟著引號""或者尖括弧<>,意思是將引號或尖括弧內指定的文件包含到本程序中,成為本程序的一部分,而包含的文件通常是由系統提供的。
Ⅵ C語言 輸入N個學生成績,求他們的名次
運行結果如圖專:屬
#include<stdio.h>
intmain()
{intn,i,j,a[100][2];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i][0]);
for(i=0;i<n;i++)
{a[i][1]=1;
for(j=0;j<n;j++)
a[i][1]+=a[j][0]>a[i][0];
}
for(i=0;i<n;i++)
printf("%d%d
",a[i][0],a[i][1]);
return0;
}
Ⅶ C語言中從鍵盤輸入一個學生成績,如何用switch輸出成績和檔次
switch里有三種寫法,第一種就是每個單獨寫出來如:(這種如果數據多的話不推薦,比如這題)
switch(score) {
case 90: case 91://...case 100:
//優秀。。
break;
case 80:case 81:case 82: //...case 89:
//中等。。
break;
}
第二種就是進行縮小范圍,如:(這種如果數據分布很有規律就用,比如這題)
switch(score/10) {
case 10: case 9: //優秀..
break;
case 8: //中等
break;
}
第三種是函數的寫法,這適用於數據分布無規律而不能進行縮小范圍時,假如90~96為優秀,97~100為特優秀的話,可以這樣,如:(這種適用於數據分布無規律)
int score_fun(int score)
{
if(score >= 97)
return 1;
if(score >= 90)
return 2;
if(score >= 80)
return 3;
}
//....
switch(score_fun(score)) {
case 1: //特優秀。。
break;
case 2: //優秀。。
break;
case 3: //中等。。
break;
}
Ⅷ C語言:編寫一個程序,從鍵盤輸入10個學生成績,求平均成績。
/*
C語言:編寫一個程序,從鍵盤輸入10個學生成績,求回平均答成績
*/
#include<stdio.h>
#defineN10
intmain()
{
floatarr[N]={0.0},s=0.0;
inti;
for(i=0;i!=N;++i){//輸入
scanf("%f",&arr[i]);
s+=arr[i];
}
printf("%0.2f ",s/N);//輸出平均數
return0;
}
Ⅸ c語言編程:輸入三個學生的成績,輸出總分及平均值
可以參考下面的代碼抄:
int x, y, z;
float sum, avg;
printf("請輸入3個學生的成績");
scanf("%d%d%d", &x, &y, &z); //要先接收才能運算,先運算結果當然不對
sum = x + y + z;
avg = sum / 3;
printf("3個學生的總成績及平均分為");
printf("sum=%.2f,avg=%.2f ", sum, avg);
return 0;
(9)c語言輸入學生成績擴展閱讀:
C語言floor()函數:求不大於x的最大整數(向下取整)
C語言fabs()函數:求雙精度浮點數的絕對值
C語言abs()函數:求整數的絕對值
C語言div()函數:求兩個數的商和余數
C語言fmod()函數:求x/y的余數(針對浮點數)
double log(double x) 返回logex的值
double log10(double x) 返回log10x的值
double pow(double x,double y) 返回x^y的值