C语言查询数据是不是存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言查询数据是不是存在相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void max_age();
void save();
void find_name();
void read();
int i=0;
struct Baby

int num;
char name[20];
char sex;
int age;
int height;
int weight;
baby[3];
void main()

for(i=0;i<3;i++)

printf("输入第%d个baby信息:\n",i+1);
printf("Num Name Sex Age Height Weight\n");
scanf("%d %s %c %d %d %d",&baby[i].num,&baby[i].name,&baby[i].sex,&baby[i].age,&baby[i].height,&baby[i].weight);

max_age();
save();
find_name();
read();


void max_age()

int *p1,*p2,*p3;
p1=&baby[0].age;
p2=&baby[1].age;
p3=&baby[2].age;
if(*p1>*p2&&*p1>*p3) printf("年龄最大的baby是:%s\n",&baby[0].name);
if(*p2>*p1&&*p2>*p3) printf("年龄最大的baby是:%s\n",&baby[1].name);
if(*p3>*p1&&*p3>*p2) printf("年龄最大的baby是:%s\n",&baby[2].name);


void save()

FILE *fp;
if((fp=fopen("E:\\baby_info.txt","wb"))==NULL)
printf("文件打开失败\n");
for(i=0;i<3;i++)
if(fwrite(&baby[i],sizeof(struct Baby),1,fp)!=1)
printf("输入错误\n");
fclose(fp);


void find_name()

char fname[20];
char *p4,*p5,*p6;
p4=&baby[0].name;
p5=&baby[1].name;
p6=&baby[2].name;
printf("输入要查找的baby的名字:\n");
scanf("%s",&fname[20]);
for(i=0;i<3;i++)

if(strcmp name[20]==&baby[i].name)
printf("%d %s %c %d %d %d",baby[i].num,baby[i].name,baby[i].sex,baby[i].age,baby[i].height,baby[i].weight);

else printf("你查找的baby不存在");

我想要通过名字来查询baby是否存在 哪里有问题 求大神解救

参考技术A #include<stdio.h>
#include<string.h>
#include<stdlib.h>
void max_age();
void save();
void find_name();
void read();
int i=0;
struct Baby

int num;
char name[20];
char sex;
int age;
int height;
int weight;
baby[3];
void main()

for(i=0;i<3;i++)

printf("输入第%d个baby信息:\\n",i+1);
printf("Num Name Sex Age Height Weight\\n");
scanf_s("%d %s %c %d %d %d",&baby[i].num,baby[i].name,&baby[i].sex,&baby[i].age,&baby[i].height,&baby[i].weight);

max_age();
save();
find_name();
read();


void max_age()

int *p1,*p2,*p3;
p1=&baby[0].age;
p2=&baby[1].age;
p3=&baby[2].age;
if(*p1>*p2&&*p1>*p3) printf("年龄最大的baby是:%s\\n",&baby[0].name);
if(*p2>*p1&&*p2>*p3) printf("年龄最大的baby是:%s\\n",&baby[1].name);
if(*p3>*p1&&*p3>*p2) printf("年龄最大的baby是:%s\\n",&baby[2].name);


void save()

FILE *fp;
if((fp=fopen("E:\\\\baby_info.txt","wb"))==NULL)
printf("文件打开失败\\n");
for(i=0;i<3;i++)
if(fwrite(&baby[i],sizeof(struct Baby),1,fp)!=1)
printf("输入错误\\n");
fclose(fp);


void find_name()

char fname[20];
char *p4,*p5,*p6;
p4=baby[0].name;
p5=baby[1].name;
p6=baby[2].name;
printf("输入要查找的baby的名字:\\n");
scanf("%s",&fname[20]);
for(i=0;i<3;i++)

if(strcmp (fname,baby[i].name))

printf("%d %s %c %d %d %d",baby[i].num,baby[i].name,baby[i].sex,baby[i].age,baby[i].height,baby[i].weight);
return ;


 printf("你查找的baby不存在");


scanf_s()那个可能是编译器问题,在你那边可能不需要,
fopen() 你自己查查吧,,

追问

查找时会出错 怎么回事? 留下你联系方式好么 我Q你

给定一个数组,数组内容随机,键盘输入一个数据(数字和单字符),查询是不是存在此数据 c语言代码怎么写?

参考技术A



#include <stdio.h>

#include <stdlib.h>

#include <time.h>


#define N 50


int inarr(int a[],int n,int num)

int i;

for(i = 0;i < n; ++i)

if(a[i] == num) return 1;

return 0;


void show(int a[],int n)

int i;

for(i = 0; i < n; ++i)

if(i && i % 10 == 0) printf("\\n");

printf("%d\\t",a[i]);

if(i % 10) printf("\\n");

printf("\\n");


int main()

int a[N],num,i,n;

printf("n = ");

scanf("%d",&n);

if(n < 1) n = N/5;

if(n > N) n = N;

printf("请输入%d个整数(空格隔开):",n);

for(i = 0; i < n; ++i) scanf("%d",&a[i]);

printf("数组清单:\\n");

show(a,n);

printf("请输入要查找的数:");

scanf("%d",&num);

if(inarr(a,n,num)) printf("找到了!\\n");

else printf("对不起,数组a[]中没找到%d\\n",num);

return 0;

以上是关于C语言查询数据是不是存在的主要内容,如果未能解决你的问题,请参考以下文章

给定一个数组,数组内容随机,键盘输入一个数据(数字和单字符),查询是不是存在此数据 c语言代码怎么写?

c语言,查找数组中是不是存在某个数?

C语言: 链表查询

C语言,如何实现搜索内存数据

C语言判断指定文件是不是存在

C语言 判断两个集合是不是相等