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);
}