本文目录一览:
- 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
本来想用链表保存班级的。
测试看看 有没有问题。