张姓家谱查询:c语言小程序问题

来源:百度文库 编辑:高校问答 时间:2024/04/24 22:50:00
1、输入10个姓名及成绩,然后输出得60分的同学及其成绩。
2、有个例题:查找首字母为某一特定字母的字符串
#include<stdio.h>
int StartWith( char *, char );
main()
{
char *str[]={ "Hunan", "Shangxi", "Shandong", "Beijing", "Hebei"};
char * result[5];
int i,j=0;
for(i=0;i<5;i++)
{
if(StartWith(str[i], 'H'))
result[j++]=str[i];
}

if(j==0)
printf(" no found!");
else
for (; j>=0;j--)
printf(" %s\n", result[j]);
}
int StartWith(char *str, char key)
{
if(*str==key)
return 1;
else
return 0;
}
题目是如果是以非字母开头的字符串如何查找?

1、
#define M 10

//学生信息结构,包括姓名name,成绩score
typedef struct{
char name[10];
int score;
} student;
main()
{
student s[M];
int i=0;
//memset(s,0,M*sizeof(student));
//输入10个学生信息包括姓名,成绩
for(i=0;i<M;i++)
{
scanf("%s",s[i].name);
scanf("%d",&s[i].score);
}
//判断>60
for(i=0;i<M;i++)
{
if(s[i].score>60)
printf("%s->%d\n",s[i].name,s[i].score);
}
getch();
}
2、一样,使用StartWith(char *str, char key) 函数时key 填你想查的字符

第一题:
mian()
{
char studentname[10];
int studentgrade[10];
int i=0;
for(i=0;i<10;i++)
{
\\在这里输入学生姓名,成绩
}
for(i=0;i<10;i++)
{
if(studentgrade[i]>60)
printf(" ",studentname[i]);}
}

基本上就是这样了。好久没写程序了。

2。
提一点建议吧,能否把要比较的字符转化成asicc值,然后比较asicc值呢?