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是否存在 哪里有问题 求大神解救
#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语言查询数据是不是存在的主要内容,如果未能解决你的问题,请参考以下文章