『壹』 給定一個數組,數組內容隨機,鍵盤輸入一個數據(數字和單字元),查詢是否存在此數據 c語言代碼怎麼寫
#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(" ");
printf("%d ",a[i]);
}
if(i % 10) printf(" ");
printf(" ");
}
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("數組清單: ");
show(a,n);
printf("請輸入要查找的數:");
scanf("%d",&num);
if(inarr(a,n,num)) printf("找到了! ");
else printf("對不起,數組a[]中沒找到%d ",num);
return 0;
}
『貳』 查找數組元素是否存在c語言
bool find_elem(int *a, int len, int val)
{
int i = 0;
for (i = 0; i < len; ++i)
{
if (a[i] == val)
return true;
}
return false;
}
『叄』 C語言題目:在數組中查找指定元素
#include <stdio.h>
#define MAXN 10
int search( int list[], int n, int x );
int main()
{
int i, index, n, x;
int a[MAXN];
printf("輸入個數: ");
scanf("%d",&n);
for( i = 0; i < n; i++ )
scanf("%d", &a[i]);
printf("輸入x: ");
scanf("%d", &x);
index = search( a, n, x );
if( index != -1 )
printf("index = %d ", index);
else
printf("Not found ");
return 0;
}
int search( int list[], int n, int x ){
int i;
for(i=0;i<n;i++){
if(x==list[i])
return i;
}
return -1;
}
(3)查找某數值元素是否存在的c語言擴展閱讀:
數組使用規則:
1.可以只給部分元素賦初值。當{ }中值的個數少於元素個數時,只給前面部分元素賦值。例如:static int a[10]={0,1,2,3,4};表示只給a[0]~a[4]5個元素賦值,而後5個元素自動賦0值。
2.只能給元素逐個賦值,不能給數組整體賦值。例如給十個元素全部賦1值,只能寫為:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能寫為:static int a[10]=1;請注意:在C、C#語言中是這樣,但並非在所有涉及數組的地方都這樣,資料庫是從1開始。
3.如不給可初始化的數組賦初值,則全部元素均為0值。
4.如給全部元素賦值,則在數組說明中, 可以不給出數組元素的個數。例如:static int a[5]={1,2,3,4,5};可寫為:static int a[]={1,2,3,4,5};動態賦值可以在程序執行過程中,對數組作動態賦值。這時可用循環語句配合scanf函數逐個對數組元素賦值。
網路-數組
『肆』 C語言:在十個元素的數組中,判斷某數是否存在。
int
數組[]={1,2,3,4,5,6,7,8,9,0},序(0);
do{scanf_s("%d",
&整數);if(整數==數組[序++]){printf("存在元素%d:",
整數);break;}}while(序<10);printf("不存在元素%d:",
整數);
以上手寫原理未運行,如果運行有問題再說。
『伍』 c語言在數組中查找是否存在該數,若存在則顯示其所在的數組下標位置,否則顯示NOEXIST
indx=search(a[N],m,N); \\這一行不知道有沒有錯,為什麼不能寫a[]
這句是錯的,為什麼? a[N]這里是取數組a的第N個數,search 第一個參數要傳入的是個數組,a就是個數組呀。所以
改成 indx=search(a,m,N); 就可以了
『陸』 如何用c語言編寫查詢數組中的元素
對於數組的查詢,其實就是對數組中數據做一個遍歷。
最常用的方法就是通過循環對數組中的元素逐個取值,並與參考值(要查詢的值)做比對,並處理結果。
下面是一個簡單的對一維數組進行查詢的樣例。
函數功能:對輸入的數組元素進行查詢,列印符合查詢值的元素位置,並返回查詢到的元素總數。
函數名:array_query
函數聲明: int array_query(int *a, int n, int v);
參數介紹:
a: 輸入的數組,類型為整型指針,表示整型數組。可以根據實際需要進行調整。
n:數組中現有元素的個數。
v:要查詢的元素值。
返回值:
整型,返回查詢到的元素個數。如果出錯返回-1。
實現代碼:
intarray_query(int*a,intn,intv)
{
inti,ret;
if(a==NULL||n<=0)return-1;//出錯處理
for(ret=i=0;i<n;i++)
{
if(a[i]==n)
{
printf("%d ",i);//找到元素,列印下標,並累計統計值
ret++;
}
}
returnret;//返回總數。
}
『柒』 C語言編程,判斷一個數是否存在於一個數組中
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#include<malloc.h>
#include<time.h>
#include<stdlib.h>
int findarray(int*p,int len,int val);
int main(void)
{
int len; //數組中元素個數
int i=0; //數組元素下標
int val; //要搜索的數
printf("請為一個隨機數數組設定元素個數len=");
scanf("%d", &len);
int*p = (int*)malloc(sizeof(int)*(len+1));
for (i = 0; i < len;++i)
{
p[i]=rand()%101; //0到100的隨機數
}
printf("已為你生成隨機數組為:\n");
for (i = 0; i < len; ++i)
{
printf("%d ", p[i]);
}
printf("\n");
printf("請輸入你要搜索的數val=");
scanf("%d", &val);
if (findarray(p, len, val) == len)
printf("數組中無此元素");
else
printf("數組中有這個元素,在第%d個位置", findarray(p, len, val) + 1);
getchar();
getchar();
return 0;
}
int findarray(int*p, int len,int val)
{
p[len] = val;
for (int i = 0; p[i] != val; ++i)
{
if (p[i] == val)
return i;
}
}
『捌』 c語言,查找數組中是否存在某個數
從題目的敘述來看,這個函數的功能就是這一個包含有len個元素的num數組中查找是否存在值為key的元素。可以在找到後返回該元素的下標,否則返回-1。
這個函數的函數體可以這么寫:
int i;
for(i=0;i<len;i++)
if(num[i]==key)return i;
return -1;
然後在主函數中的查找語句可以這么寫:
if(searchNum(key,num,len)!=-1)
printf("找到!\n");
『玖』 C語言一維數組中如何查找指定元素
1、打開pycharm,新建Test_List.py,如圖所示。
『拾』 C語言查詢數據是否存在
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidmax_age();
voidsave();
voidfind_name();
voidread();
inti=0;
structBaby
{
intnum;
charname[20];
charsex;
intage;
intheight;
intweight;
}baby[3];
voidmain()
{
for(i=0;i<3;i++)
{
printf("輸入第%d個baby信息: ",i+1);
printf("NumNameSexAgeHeightWeight ");
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();
}
voidmax_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 ",&baby[0].name);
if(*p2>*p1&&*p2>*p3)printf("年齡最大的baby是:%s ",&baby[1].name);
if(*p3>*p1&&*p3>*p2)printf("年齡最大的baby是:%s ",&baby[2].name);
}
voidsave()
{
FILE*fp;
if((fp=fopen("E:\baby_info.txt","wb"))==NULL)
printf("文件打開失敗 ");
for(i=0;i<3;i++)
if(fwrite(&baby[i],sizeof(structBaby),1,fp)!=1)
printf("輸入錯誤 ");
fclose(fp);
}
voidfind_name()
{
charfname[20];
char*p4,*p5,*p6;
p4=baby[0].name;
p5=baby[1].name;
p6=baby[2].name;
printf("輸入要查找的baby的名字: ");
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()你自己查查吧,,