当前位置:首页 » 编程语言 » c语言限制多个条件怎么查找
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言限制多个条件怎么查找

发布时间: 2022-05-19 23:46:43

1. c语言如何实现很多条件中挑选一个出来

用switch语句就可以了。

例如有a(),b()......g()这样的一些自定义函数,要求键盘输入A就执行a()函数,输入B就执行b()函数,用switch语句实现如下:

#include <stdio.h>
#include <ctype.h> /*用到了toupper()*/
int main(void)
{
char ch;
ch=getchar();
switch(toupper(ch))/*toupper(ch)将输入的小写字母转换成大写形式*/
{
case 'A':a();break;
case 'B':b();break;
... ...
case 'G':g();break;
}
return 0;
}

2. c语言实现多个匹配项查找

这就是数据库的最基本功能么.... - -

把这些东西搞成一个对象,比如
struct xxx_info {
char *name;
char *localclient
....
}

再定义一个函数
struct * find(struct xxx_info *criteria) { ... }

这个函数接受一个xxx_info 作为参数,返回匹配的xxx_info对象
传参数的时候首先新建一个xxx_info对象,然后如果你有值需要匹配,就设置相应的值,比如你要匹配localclient 和peerhost ,就写:
xxx_info *a = (xxx_info *) malloc(...);
a->localclient = "什么值";
a->peerhost = "什么值";
不需要匹配的值让它为NULL就行

find 函数的实现,就是在一个数组(或者别的种类的集合)中遍历,寻找和criteria对象符合的xxx_info

这只是基本,利用C语言,你想做出更类似面向对象的函数接口,也没问题...

3. 用c语言如何在任意数中找出有条件的数

任意输入其中一个数查找代码如下:
#include<stdio.h>
int main()
{
int a[10]={20,40,50,70,80,10,15,25,45,100};
int i,b,c;
char t,y,n;
do{
printf("请输入20,40,50,70,80,10,15,25,45,100十个数中任意一个:\n");
scanf("%d",&b);
printf("b=%d\n",b);
for(i=0;i<=9;i++)
{
if(a[i]==b)
c=i+1;
}
printf("第%d位数\n",c);
printf("是否继续y/n:");
fflush(stdin);
scanf("%c",&t);
}while(t == 'y');
return 0;
}

4. c语言if语句有多个条件怎么写比如,当1<t<3 , 5<t<7 , t≠100,t≠101时,输出“条件成立”。

有多个条件时,要看各个条件之间的关系,才能写出相应的逻辑表达式。关系不同,写出的语句也不同。下面是形式之一:
main()
{int t;
scanf("%d",&t);
if(t>1&&t<3||t>5&&t<7||t!=100||t!=101)
printf("条件成立\n");
}
值的说明的是,本举例没有实用价值,因为对于任何t值,都会输出"条件成立"。

5. c语言if语句多个条件怎么编写

当有多个分支选择时,可采用if-else-if语句,其一般形式为:

if(表达式1)

语句1;

else if(表达式2)

语句2;

else if(表达式3)

语句3;

else if(表达式m)

语句m;

else

语句n;

其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如下图所示。

参考代码如下:

char c;

printf("input a character: ");

c=getchar();

if(c<32)

printf("This is a control character ");

else if(c>='0'&&c<='9')

printf("This is a digit ");

else if(c>='A'&&c<='Z')

printf("This is a capital letter ");

else if(c>='a'&&c<='z')

printf("This is a small letter ");

else

printf("This is an other character ");

return 0;

本例要求判别键盘输入字符的类别。可以根据输入字符的ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。

这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。

(5)c语言限制多个条件怎么查找扩展阅读:

在使用if语句中还应注意以下问题:

1、在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如:

if(a=5) 语句;

if(b) 语句;

都是允许的。只要表达式的值为非0,即为“真”。如在:

if(a=5)…;

中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。

2、在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。

3、在if语句中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。但要注意的是在}之后不能再加分号。

Microsoft-if-else(C# 参考)

菜鸟教程-C#if 语句

6. c语言if语句多个条件怎么写

可以这样写:

if(a&&b||c)

用这种逻辑运算子。

切记这种的缺点就是短路问题。

&&这个的时候只要前面的条件失败了后面的就不看了。

不如a&&b&&c&&d。

如果a条件失败程式就不会判断bcd。

||这个呢也差不多,只要第一个是真的后面的也不判断了。

你要是想写的话就得看这两个条件的关系。

if(a<2&&a<1)或者if(a<2||a<1)

例如:

当数a大于0,小于100,或者a大于100且不等于1000时,将a的值赋为2015

if( (a>0 && a<100) || (a>100 && a!=1000) ){

a = 2015

}

7. 用c语言编写一个学生管理系统要求按特定条件查找学生

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>

#define max 20

typedef struct student //学生
{
char sno[max]; // 学号
char sname[max]; //姓名
char sex[max]; //性别
char age[max]; //年龄
char depart[max]; //系
char classs[max]; //班
char grade[max]; //年级

struct student* next;
} student;

student* head;

int LogOn() //登录模块,已实现输入密码不回显,如果中途发现输错某几位,可退格键重输
{
char username[max],password[max];
printf("\n请输入用户名:");
scanf("%s",username);
printf("\n请输入密码(最多15位):");

//开始以不回显且支持退格方式获取输入密码
int i=0;
while((i>=0)&&(password[i++]=getch())!=13)//条件i>=0是用于限制退格的范围
{
if(password[i-1]=='\b')//对退格键的处理
{
printf("%c%c%c",'\b','\0','\b');
i=i-2;
}
else
printf("*");
}
password[--i]='\0';

//已获取密码。验证用户身份
if(!strcmp(username,"zhang")&&!strcmp(password,"8147086"))
{
printf("\n登录成功!");
return 1;
}
else
return 0;

}

void regist()
{
char ch;
student *s,*ptr; //s用来建新结点,ptr用来暂存头结点

do
{

s=(student*)malloc(sizeof(student)); // 新建一个学生结点

printf("\n开始注册..."); //开始注册
printf("\n请输入该学生的学号:");
scanf("%s",s->sno);
printf("\n请输入该学生的姓名:");
scanf("%s",s->sname);
printf("\n请输入该学生的性别:");
scanf("%s",s->sex);
printf("\n请输入该学生的年龄:");
scanf("%s",s->age);
printf("\n请输入该学生的系:");
scanf("%s",s->depart);
printf("\n请输入该学生所在的班:");
scanf("%s",s->classs);
printf("\n请输入该学生所在的年级");
scanf("%s",s->grade);

ptr=head;
head=s;//将新结点插入队头
s->next=ptr;

fflush(stdin);
printf("\n请问是否继续注册?(Y/N)");
scanf("%c",&ch);
}while(ch=='Y'||ch=='y');

return;
}

void ElePrint(char str[]) //输出单个元素
{
if(str==NULL) exit(0);
printf("%s",str);
for(unsigned int i=0;i<12-strlen(str);i++) printf(" ");//为了对齐输出,需插入一些空格
return;
}

int LinePrint(student *ptr) //输出一行
{
if(ptr==NULL) //检查传进来的指针
return 0;

printf("\n");
ElePrint(ptr->sno);
ElePrint(ptr->sname);
ElePrint(ptr->age);
ElePrint(ptr->sex);
ElePrint(ptr->depart);
ElePrint(ptr->classs);
ElePrint(ptr->grade);

return 1;
}

void print() //输出全部学生信息
{
student *ptr=head;
printf("\n学号 姓名 年龄 性别 系 班 年级 ");
while(ptr)
{
LinePrint(ptr);
ptr=ptr->next;
}
printf("\n");
return;
}
void search()//查询模块
{
int method;//查询方式
char no[max],name[max],departm[max],clss[max],grades[max]; //用来接收查询关键字
while(1)
{
printf("\n请选择查询方式");
printf("\n1.按学号查询");
printf("\n2.按姓名查询");
printf("\n3.按所在系查询");
printf("\n4.按所在班级查询");
printf("\n5.按所在年级查询");
printf("\n6.打印全部学生信息");
printf("\n7.返回主菜单\n");

scanf("%d",&method);

student *p=head,*temp;

switch(method)
{
case 1:
printf("\n请输入要查询的学号:");
scanf("%s",no);
while(p)
{
if(!strcmp(p->sno,no))
break;
else
{
temp=p;
p=p->next;

8. C语言怎么实现动态条件查询

是不能用输入的方法实现的,应该结合实现编译好的语句,用if来整合以实现。

9. C语言如何实现数据项按某个或某些数据成员的复合条件的查询功能多条件查询

数据项按某个数据成员的负荷条件的查询功能。