當前位置:首頁 » 編程語言 » 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語言如何實現數據項按某個或某些數據成員的復合條件的查詢功能多條件查詢

數據項按某個數據成員的負荷條件的查詢功能。