c語言找出
❶ c語言如何找出一個數組的最大數,並且指出是第幾個數
例如:
#include<stdio.h>
intmain()
{
intn[10]={1,3,6,9,4,5,8,7,2};
inti,p=0,max=n[p];
for(i=0;i<10;++i){
if(max<n[i]){
max=n[i];
p=i;
}
}
printf("No.%dmax=%d ",p+1,max);
return0;
}
❷ C語言查找的用法
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#defineN20
voidSort(inta[],intn){
inti,j,k,t;
for(i=0;i<n-1;++i){
k=i;
for(j=i+1;j<n;++j){
if(a[k]>a[j])k=j;
}
if(i!=k){
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
}
intFind(inta[],intn,intx){
intlow=0,high=n-1,mid;
while(low<=high){
mid=(low+high)/2;
if(x==a[mid])returnmid;
elseif(x>a[mid])low=mid+1;
elsehigh=mid-1;
}
return-1;
}
voidShow(inta[],intn){
inti;
for(i=0;i<n;++i){
printf("%d",a[i]);
}
printf(" ");
}
intmain(){
inta[20],i,x,res;
srand((unsigned)time(NULL));
for(i=0;i<N;++i)
a[i]=rand()%N;//每個數都在1--100之間
Show(a,N);
Sort(a,N);
Show(a,N);
x=rand()%100+1;
res=Find(a,N,x);
if(res>=0)printf("數值%d的下標為%d。 ",a[res],res);
elseprintf("數列中沒有找到數值%d。 ",x);
return0;
}
❸ C語言中如何查找字元串
用strstr這個函數
包含文件:string.h
函數名: strstr
函數原型:extern char *strstr(char *str1, char *str2);
功能:找出str2字元串在str1字元串中第一次出現的位置(不包括str2的串結束符)。
返回值:返回該位置的指針,如找不到,返回空指針。
源代碼:
#include<stdio.h>
#include<string.h>//調用string.h中的strstr函數
void main(){
char ch1[255]="abcde";
char ch2[100]="cd";
char* ch;//用於接受返回值
if((ch=strstr(ch1,ch2))==NULL){//說明沒有要找的字元串
printf("-1\n");
}else{//說明找到了那個字元串
printf("%d\n",ch-ch1+1);//cde的地址減去abcde的地址+1
}
}
❹ C語言找出100個數中最小的10個數
使用rand函數生成100個隨機整數,存入數組ints中。
再使用qsort庫函數對數組ints排序。
for循環輸出ints數組前10位元素。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intcmp(constvoid*a,constvoid*b){
return*(int*)a-*(int*)b;
}
intmain(void){
intints[100];
srand((unsigned)time(NULL));
inti;
for(i=0;i<100;i++){
ints[i]=rand()%100+1;
}
qsort(ints,100,sizeof(int),cmp);
for(i=0;i<10;i++){
printf("%d",ints[i]);
}
return0;
}
❺ c語言如何查找字元串
C語言中的標准函數庫中的strchr()函數可以實現查找字元串中的某個字元。
C語言strchr()函數:
查找某字元在字元串中首次出現的位置
頭文件:#include <string.h>
strchr() 用來查找某字元在字元串中首次出現的位置,其原型為:
char * strchr (const char *str, int c);
【參數】str 為要查找的字元串,c 為要查找的字元。
strchr() 將會找出 str 字元串中第一次出現的字元 c 的地址,然後將該地址返回。
注意:字元串 str 的結束標志 NUL 也會被納入檢索范圍,所以 str 的組後一個字元也可以被定位。
【返回值】如果找到指定的字元則返回該字元所在地址,否則返回 NULL。
返回的地址是字元串在內存中隨機分配的地址再加上你所搜索的字元在字元串位置。設字元在字元串中首次出現的位置為 i,那麼返回的地址可以理解為 str + i。
提示:如果希望查找某字元在字元串中最後一次出現的位置,可以使用 strrchr() 函數。
❻ C語言。找出不是兩個數組共有的元素。
for(int i = 0;i < n.length – 1;i++){ //循環開始元素
for(int j = i + 1;j < n.length;j++){ //循環後續所有元素
//如果相等,則重復
if(n[i] != n[j]){
不想等,則輸出n[i]
#include<stdio.h>
voidmain()
{
inta[40];
intb[40];
intc[80];
intn,m,count=0,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",a+i);
}
scanf("%d",&m);
for(i=0;i<m;i++)
{
scanf("%d",b+i);
}
for(i=0;i<n;i++)//找出a數組中與b數組不同的數存入數組c
{
for(j=0;j<m;j++)
{
if(a[i]==b[j])
{
break;
}
}
if(j==m)
{
c[count]=a[i];
count++;
}
}
for(i=0;i<m;i++)//找出b數組中與a數組不同的數存入數組c
{
for(j=0;j<n;j++)
{
if(b[i]==a[j])
{
break;
}
}
if(j==n)
{
c[count]=b[i];
count++;
}
}
printf("%d",count);
for(i=0;i<count;i++)
{
printf("%d",c[i]);
}
}
思路:
第一,數組定義只需要三個,num1[20],num2[20],num3[20]。
第二,循環變數用完就扔,沒必要定義那麼多,i,j足夠。
第三,num1中的元素取出來與num2的一一比較,如果相等則存入num3,你的第三個循環寫的就是,只是條件要改,if(num1[a]==num2[b]),把num1[a]存入num3,而且count也是沒用的,題目要求只要你輸出重復數字沒讓你計數。
第四,將num3中的不重復數字輸出,循環代碼如下。
for(int i = 0;i < n.length – 1;i++){ //循環開始元素
for(int j = i + 1;j < n.length;j++){ //循環後續所有元素
//如果相等,則重復
if(n[i] != n[j]){
不想等,則輸出n[i]
拓展資料
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
❼ C語言找出三個數最大值怎麼弄
max只要找出兩個數的最大值即可
int
max(int
x,int
y)
{
if
(
x>y
)
return
x;
else
return
y;
}
void
main()
{
int
a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b);
d=max(c,d);
//或者這兩句寫成d=max(max(a,b),c);
printf("max=%d\n",d);
}
❽ c語言查找字元串
字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「b」,s[9]="j",而字元串的零位正是它的長度,c語言查找字元串方法為:
1、首先,定義一個字元數組變數,可以這么寫。
注意事項:
盡管形式字元串可以有任意(但有限)的長度,實際語言的字元串的長度經常被限制到一個人工極大值。有兩種類型的字元串數據類型: 「定長字元串」,它有固定的極大長度並且不管是否達到了這個極大值都使用同樣數量的內存。
❾ C語言找出一個數組中出現次數最多的那個元素
#include "stdio.h"
int main()
{
int n,a[20],i,j,flag=0,max;
int b[20]={0};//計數數組
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]==a[j])
b[i]++;
for(i=0;i<n;i++)
if(b[i]!=0)
{
flag=1;
break;
}
if(flag==0)
{
printf("輸入數據中沒有重復出現的數!
");
return 1;
}
max=b[0];
for(i=1;i<n;i++)
if(b[i]>max)
max=b[i];
for(i=0;i<n;i++)
if(max==b[i])
printf("出現最多次數的是%d,一共出現%d次
",a[i],b[i]+1);
}