本文目錄一覽:
- 1、數值統計 C語言!!!
- 2、C語言字符統計
- 3、C語言統計
- 4、C語言數據統計
數值統計 C語言!!!
#include stdio.h
int main()
{int n,z,f,l;float x;
scanf(“%d”,n);
while(n0)
{for(z=f=l=0;n–;)
{scanf(“%f”,x);
if(x0)z++;
else if(x0)f++;
else l++;
}
printf(“%d %d %d\n”,f,l,z);
scanf(“%d”,n);
}
return 0;
}
C語言字符統計
#includestdio.h
int main()
{int i,a,n=0;
char c,s[101];
scanf(“%c%d%*c”,c,a);
gets(s);
if(a==0c=’a’c=’z’)c-=32;
for(i=0;s[i];i++)
if(c==(a==0s[i]=’a’s[i]=’z’?s[i]-32:s[i]))n++;
printf(“%d\n”,n);
return 0;
}
C語言統計
給:
#includestdio.h
void main()
{
int letters=0,space=0,digit=0,other=0;
char c;
while((c=getchar())!=’\n’)
{
if(c=’a’c=’z’||c=’A’c=’Z’)
letters ++;
else if(c=0c=9)
digit++;
else if(c==’ ‘)
space++;
else
other++;
}
printf(“letters=%d space=%d digit=%d other=%d\n”,letters,space,digit,other);
}
C語言數據統計
#include stdio.h
#include errno.h/*錯誤處理頭文件*/
#define IN_FILE_NAME “file15.txt”/*要輸入的文件*/
int sumclass = 0;/*全局變量*/
struct theclassinfo /*一個班的信息*/
{
int classno; /*班號*/
int sumstudent;/*總人數*/
float sumscore;/*總成績*/
};
void addtoclass (int classno, float score, struct theclassinfo theclass[]);/*班級信息添加*/
int main()
{
int stuno = 0, sum = 0, i;
FILE *ptrin; /*打開文件時的指針*/
int sid, sclassno;
float average, score;
char sname[20];
struct theclassinfo theclass[100];
if ((ptrin = fopen(IN_FILE_NAME, “r”)) == NULL)/*以讀的方式打開輸入文件*/
{
printf(“程序運行中發生了錯誤!\n”);
perror(IN_FILE_NAME);/*錯誤處理*/
getchar();
}
else/*成功打開進行下面操作*/
{
printf(“學號\t班級\t分數\t姓名\n”);
while (!feof(ptrin))
{
fscanf(ptrin, “%d %d %f %s”, sid, sclassno, score, sname);
sum += score;
stuno ++;
addtoclass(sclassno, score, theclass);
printf(“%d\t%d\t%.2f\t%s\n”, sid, sclassno, score, sname);
}
average = sum/stuno;
printf(“學生數為:%d\n”, stuno);
printf(“數學成績平均分為:%f\n\n”, average);
printf(“各班級平均分如下:\n”);
printf(“班級號\t平均分\n”);
for (i = 0; i sumclass; i++)
{
printf(“%d\t%f\n”, theclass[i].classno, theclass[i].sumscore/theclass[i].sumstudent);
}
fclose(ptrin);
}
return 0;
}
void addtoclass (int classno, float score, struct theclassinfo theclass[])
{
int i;
for (i = 0; i sumclass; i++)
{
if (theclass[i].classno == classno)
{
theclass[i].sumstudent++;
theclass[i].sumscore += score;
break;
}
}
if (i == sumclass)
{
theclass[i].classno = classno;
theclass[i].sumstudent = 1;
theclass[i].sumscore = score;
sumclass++;
}
}
測試數據 同目錄下 的file15.txt 內容如下:
1 2 95 陳
2 2 94 啊
3 3 80 飛
4 9 92 d
5 9 56 dss
結果:
學號 班級 分數 姓名
1 2 95.00 陳
2 2 94.00 啊
3 3 80.00 飛
4 9 92.00 d
5 9 56.00 dss
學生數為:5
數學成績平均分為:83.000000
各班級平均分如下:
班級號 平均分
2 94.500000
3 80.000000
9 74.000000
本來想用鏈表保存班級的。
測試看看 有沒有問題。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/156583.html