㈠ c語言 指針搜索數組里的數
intmy_max=-INT_MAX;以上未經調試,僅示意,供參考.
intrnd=0;
//第一步取得數組里最大數
for(i=0;i<sizeof(arr),++i){
if(arr[i]>my_max)my_max=arr[i];
}
//第二步生成隨機數
srand(time());
rnd=(int)(my_max*((double)rand()/RAND_MAX));
for(i=0;i<sizeof(arr);++i){
if(arr[i]>rnd)printf("%d ",arr[i]);
}
㈡ C語言指針查找最大最小值
#include<stdio.h>
intmain()
{
inta[10],i,n,j;
int*q;
q=&a[0];
for(i=0;i<10;i++)
{
printf("請輸出1個整數:");
scanf("%d",&a[i]);
}
for(j=0;j<9;j++)//這兩個for循環的作用是將10個數從大到小排序
{
for(i=j+1;i<10;i++)
{
if(*(q+j)<*(q+i))
{
n=*(q+j);
*(q+j)=*(q+i);
*(q+i)=n;
}
}
}
printf("Themax=%d,Themin=%d ",*q,*(q+9));//輸出第一個和最後一個數
}
㈢ C語言中怎樣用指針找出一維數組中的最大值和最小值並輸出它們的下標
1、新建一個工程和.c文件,並且輸入主函數和頭文件。
㈣ C語言中用指針設計,在一個數組中查找一個數,然後輸出這個數在數組中第幾位數
#include <stdio.h>
#include<stdlib.h>
int searchPos(int arr[], int len, int e) {
for (int i = 0; i < len; i++) {
if (arr[i] == e)
return i + 1;
}
return -1;
}
int main() {
int len, e, pos;
printf("請輸入數組長度:\n");
scanf("%d", &len);
int* arr = (int*)malloc(sizeof(int) * len);
printf("請輸入%d個數組元素:\n",len);
for (int i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
printf("請輸入要查找的數:\n");
scanf("%d", &e);
pos = searchPos(arr, len, e);
printf("要查找的數在第%d位。\n", pos);
return 0;
}
㈤ c語言能否查詢指針指向的數據
#include<stdio.h>
voidmain()
{
inti,temp;
inta[]={4,5,6,2,1,3,8,7};
int*min; //保存最小值
intpos; //記錄最小值的位置
min=&a[0];
pos=0;
/*查找最小數*/
for(i=0;i<9;i++)
{
if(a[i]<*min)
{
*min=a[i];
pos=i;
}
}
/*交換兩個數*/
if(pos==1)
{
temp=a[pos];
a[pos]=a[i];
a[i]=temp;
pos=1;
}
}
㈥ C語言用指針在數組中查找特定值
#include<stdio.h>
int find(int *p,int n,int b)
{
int i=0;
while(i<n)
{
if(*p++==b)
return i;
i++;
}
return -1;
}
int main()
{
int k;
int a[]={1,2,3,4,5};
int b;
printf("輸入要查找的數:");
scanf("%d",&b);
k=find(a,sizeof(a),b);
if(k==-1){
printf("數組中沒有這樣的值\n");
}else{
printf("下標=%d\n",k);
}
return 0;
}
㈦ 在數組中查找指定元素指針與數組C語言
調試程序的時候我輸入了一些輸出語句,後面跟有/* */的,你用的時候刪掉就可以了。
記得採納最佳答案!
#include "stdafx.h"
#include <stdio.h>
int main(void)
{
int i, index, n, res, x;
int repeat, ri;
int a[10];
int search(int list[], int n, int x);
printf("輸入重復次數:\n"); /* */
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){ //repeat是重復程序次數
printf("重復次數為%d,輸入數組元素個數:",repeat); /* */
scanf("%d", &n); //n是數組元素個數
printf("數組元素個數為:%d\n請順序輸入數組元素\n",n); /* */
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
printf("請輸入要查找的數\n"); /* */
scanf("%d", &x); //x是要查找的數
printf("要查找的數為:%d\n",x); /* */
/*---------*/
res=search(a,n,x);
if(res != -1) //res的值就是search函數的返回值
printf("index = %d\n", res);
else
printf("Not found\n");
}
return 1; /* */
}
int search(int list[], int n, int x){
int q=-1;
for(int i=0;i<n;i++)
if(list[i]==x) {q=i;break;}
return q;
}
㈧ C語言 編寫程序,在一個整型數組中查找某個數並將其刪除。(要求用指針)
寫了個,全都用指針。
#include<stdio.h>
intmain()
{
inta[10],n;
int*p1,*p2;
printf("Input10numbers:");
for(p1=a;p1<a+10;p1++)
scanf("%d",p1);
printf("Inputnumber:");
scanf("%d",&n);
for(p1=a;p1<a+10;p1++)
{
if(*p1==n)
{
for(p2=p1+1;p2<a+10;p2++)
*(p2-1)=*p2;
break;
}
}
if(p1==a+10)
{
printf("Notfound! ");
}
else
{
printf("Found! Thenewarray:");
for(p1=a;p1<a+9;p1++)
printf("%d",*p1);
}
return0;
}
㈨ C語言:用指針的方法查找數組中某個數在數組的位置
對於函數:int* find(int a[], int value),其中a為整型數組首地址,value是被檢驗值。我們可以利用指針a間接引用數組第一個元素的值,並將其與value比較,比較完後,將指針向後移動,再通過間接引用的方式比較下一個元素值,依次下去,直到在整型數組中找到被檢驗值或者整型數組所有元素比較結束為止。
那麼這里有個問題,我們如何通過指針知到整型數組什麼時候結束呢?對於整型數組而言,沒有辦法,所以我們必須先知道整型數組的長度,可以在參數中給出,也可以在主函數定義中知曉。
程序如下:
int* find(int a[], int value)
{
int i=0,*p=a;
for(i=0;i<=9;i++)
{
if(*p==value)
return p;
else
p++;
}
if(i>=10)
return 0;
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0};
int n;
scanf("%d",&n);
printf("%x %d",find(c,n),*(find(c,n)));/*第一個為函數返回地址,第二個為函數返回地址里的值*/
getch();
}
另外,我們測試一個程序或者函數是否正確不在於其能否正確運行,而在於其運行的結果是否符合我們的預期。針對上述程序,測試方法如下:
輸入任意一個數,如果這個數在數組C內,看是否能夠列印出16進制的地址數和與輸入值相同的數;如果不在數組C內,看是否返回值為0的地址。