您的位置:

统计c语言信息,用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

本来想用链表保存班级的。

测试看看 有没有问题。