61 统计指定字符个数
输入一段文字统计文字中指定字符的个数。
#include <stdio.h>
#define N 10
int main()
{
char str[N]; //输入文字
gets(str);
int i,count=0;
char zifu;
fflush(stdin);
zifu=getchar(); //输入字符
for(i=0;i<N;i++)
{
if(str[i]==zifu)
count++; //统计字符
}
printf("%c的个数是%d.",zifu,count);
return 0;
}
62 统计ASCII码值最大的字符位置及频率
编写程序寻找输入字符串中字符ASCII码值最大的字符,并统计其位置和出现次数。
#include <stdio.h>
#define N 10
int main()
{
char a[N];
gets(a);
int i,maxi,count=0;
char max=0;
for(i=0;i<N;i++)
{
if(a[i]>max)
max=a[i];
}
printf("字符为:%c。位置为第",max);
for(i=0;i<N;i++)
{
if(a[i]==max)
{
maxi=i;
printf("%d ",maxi+1);
count++;
}
}
printf("个。次数为:%d。",count);
return 0;
}
63 输出学生成绩数组
编写一个函数output,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num、name、score[3],用主函数输入这些记录,用output函数输出这些记录。
#include <stdio.h>
#define N 5
void output();
struct student
{
char name[20];
long num;
float score[3];
};
struct student stu [N];
int main()
{
int i,j;
for(i=0;i<N;i++)
{
scanf("%s %ld %f %f %f",stu[i].name,&stu[i].num,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
}
output();
return 0;
}
void output()
{
int i;
printf("******************************************\n");
printf("Name Num Score1 Score2 Score3 \n");
for(i=0;i<N;i++)
printf("%10s%8ld%8.2f%8.2f%8.2f\n",stu[i].name,stu[i].num,stu[i].score[0],stu[i].score[1],stu[i].score[2]);
}
64 求学生平均成绩及最高分数据
有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求编程输出3门课平均成绩以及总分最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
#include <stdio.h>
#define N 10
void input();
void max();
void outputavg();
struct student
{
char name[20];
long num;
float score[3];
float avg;
};
struct student stu [N];
int main()
{
input();
max();
outputavg();
return 0;
}
void input()
{
int i,j;
for(i=0;i<N;i++)
{
scanf("%s %ld %f %f %f",stu[i].name,&stu[i].num,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].avg=((double)(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3);
}
}
void max()
{
int i,maxi=0;
float max=stu[0].avg;
for(i=1;i<N;i++)
{
if(stu[i].avg>max)
{
max=stu[i].avg;
maxi=i;
}
}
printf("******************************************\n");
printf("Name Num Score1 Score2 Score3 Average\n");
printf("%10s%8ld%8.2f%8.2f%8.2f%8.2f\n",stu[maxi].name,stu[maxi].num,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avg);
}
void outputavg()
{
int i,j;
float aver[3]={0};
printf("******************************************\n");
for(i&#