当前位置: 首页 > news >正文

企业建站游戏推广论坛

企业建站,游戏推广论坛,北京企业建设网站制作,自己做好网站文章目录 🪗1、如下程序的运行结果是( )💻2、若有定义: int a[2][3]; ,以下选项中对 a 数组元素正确引用的是( )🧿3、在下面的字符数组定义中,哪一个有语法错…

文章目录

  • 🪗1、如下程序的运行结果是( )
  • 💻2、若有定义: int a[2][3]; ,以下选项中对 a 数组元素正确引用的是( )
  • 🧿3、在下面的字符数组定义中,哪一个有语法错误( )
  • 📔4、下列定义数组的语句中正确的是【多选】( )
  • 💵5、已知 i,j 都是整型变量,下列表达式中,与下标引用 X[i][j] 不等效的是【多选】( )
  • 💣字符个数统计
  • 🛋多数元素

🪗1、如下程序的运行结果是( )

char c[5]={'a', 'b', '\0', 'c', '\0'};
printf("%s", c);

A: ‘a’ ‘b’ B: ab\0c\0
C: ab c D: ab

字符串的结束标志是’\0’,而’\0’的ASCII值是0,而c[2]被初始化为0,就相当于是’\0’,故字符串打印的内容只有"ab"。
🧥知识点:字符串的结束标志

💻2、若有定义: int a[2][3]; ,以下选项中对 a 数组元素正确引用的是( )

A: a[2][0] B: a[2][3]
C: a[0][3] D: a[1>2][1]

本题主要考虑数组越界访问的情况,二维数组的行和列都是从0开始的,对于a数组来说,行下标最大是1,列下标最大是2,
D选项中1>2表达式的值是0(假),是正确的,其他选项行和列都可能存在越界,A是行越界,B是行和列都越界,C是列越界。
🩳知识点:二维数组的范围

🧿3、在下面的字符数组定义中,哪一个有语法错误( )

A: char a[20]=“abcdefg”; B: char a[]=“x+y=5.”;
C: char a[15]; D: char a[10]=‘5’;

D 中的’5’是一个字符常量,不能给字符型数组a初始化
👘知识点:数组定义规则

📔4、下列定义数组的语句中正确的是【多选】( )

A:#define size 10 char str1[size], str2[size+2]; B: char str[]; C:
int num[‘10’]; D: int n=5; int a[n][n+2];

A选项:宏替换,没问题;B选项:非法定义,一维数组必须定义数组元素个数;C选项:字符’0’,转换成十进制为48,所以
该选项最终为int num[48];D选项:错误,数组定义下角标不能为变量,注:C99标准中支持了使用变量,这里不做特殊考

🛍知识点:数组定义规则

💵5、已知 i,j 都是整型变量,下列表达式中,与下标引用 X[i][j] 不等效的是【多选】( )

A: *(X[i]+j) B: *(X+i)[j] C: *(X+i+j) D: ((X+i)+j)

本题考查的是二维数组的元素访问,A选项是 正确的,X[i]就是第i行的数组名,数组名表示首元素的地址,X[i]表示第i行的第
一个元素的地址,+j后就是第i行下标为j的元素的地址,整体解引用就是X[i][j],A正确。B选项因为[]的优先级高于*,所以代
码相当于**((x+i)+j),X+i+j后就越界了,并不代表X[i][j],所以错误。C选项也明显不对,X是二维数组的数组名,数组名相当于第
一行的地址,X+i+j,跳过了i+j行,就越界了,C错误。D选项是标准的指针形式访问二位数组的一个元素。
🎒知识点:指针与数组

💣字符个数统计

编写一个函数,计算字符串中含有的不同字符的个数。字符在 ASCII 码范围内( 0~127 ,包括 0 和 127 ),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次例如,对于字符串 abaca 而言,有 a、b、c 三种不同的字符,因此输出 3

输入描述:输入一行没有空格的字符串。
输出描述:输出 输入字符串 中范围在(0~127,包括0和127)字符的种数。
在这里插入图片描述

这道题其实比较简单,定义两个指针,一个指向数组的前一个元素,一个指向数组元素。定义一个变量 count ,如果前一个元素与这个元素不同,count 就加1,如果相同,两个指针同时往后走,知道遍历完数组。
当然,博主这段代码,是刚开始将题意理解为将相同的数拷贝进另一个数组,不过只需要在同样的思路下加一个 count 变量即可。
知识点:双指针

#include <stdio.h>
#include<stdlib.h>
#include<string.h>
int com(const void*p1,const void*p2){return *(char*)p1-*(char*)p2;
}
int main(){char *str1=(char*)malloc(sizeof(char)*500);char *str2=(char*)malloc(sizeof(char)*500);int count=1;scanf("%s",str1);qsort(str1,strlen(str1),1,com);char*p1=str1,*p2=str2,*p3=str1;*p2=*p1;p1++;while(*p1){if(*p1==*p3){p1++;p3++;}else{*p2=*p1;p1++;p3++;p2++;count++;}}*p2='\0';printf("%d",count);return 0;
}

🛋多数元素

给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。
在这里插入图片描述
这个题目,理论上来讲可以用暴力求解的方法来实现,可当题目的测试用例搞出一些非常恶心的操作,例如
在这里插入图片描述
说实话,这样的测试用例估计就是专门针对暴力求解的,也是没谁了。

暴力求解的代码也给大家放这里吧

    int i=0;int *numscpy=(int*)malloc(sizeof(int)*numsSize);for(i=0;i<numsSize;i++){int j=0;int count=0;for(j=0;j<numsSize;j++){if(nums[i]==nums[j])count++;}numscpy[i]=count;}int max=numscpy[0];int idx=0;for(i=0;i<numsSize;i++){if(numscpy[i]>max){max=numscpy[i];idx=i;}}return nums[idx]; } ```

当然,肯定是有更好用的方法的,可以荣题目中多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素这句话入手,先对数组进行排序,那么中间的元素 arr[n/2] 地方的元素肯定是出现最多的元素

int com(const void*p1,const void*p2){return *(int*)p1-*(int*)p2;
}
int majorityElement(int* nums, int numsSize){qsort(nums,numsSize,sizeof(int),com);return nums[numsSize/2];
}

就是利用 qsort 排序再返回数组中间元素,多一行代码就是对qsort 的不尊重!
🪖知识点:qsort排序

http://www.ds6.com.cn/news/62366.html

相关文章:

  • 上海做网站天锐网站模板套用教程
  • 做网站要备案吗 要几天seo顾问推推蛙
  • 瑞安做网站建设中国营销型网站有哪些
  • 河南省造价信息网官网seo网站内部优化
  • 怎么设计网站内容抖音推广引流
  • wordpress 订阅者专业seo公司
  • 网站做seo优化有什么优势南京seo圈子
  • 男女做暖暖到网站跨境电商培训
  • markdown可以转wordpressseo是如何优化
  • 佛山网站建设3lue3lue湖南网站建设推荐
  • 淘宝联盟网站怎么做登封搜索引擎优化
  • 企业手机网站模板下载爱站工具包官网
  • 建云科技网站首页百度应用商店app下载安装
  • 那个网站可以帮助做数学题免费注册二级域名的网站
  • 公司要建立网站要怎么做网站seo诊断分析和优化方案
  • 公司网站如何做百度收录网络优化的三个方法
  • 百度 如何 关键字 网站域名 关联搜索引擎技术
  • 上海小企业网站建设北京搜索引擎优化主管
  • 网站开发文档带er图收录提交入口
  • 北海网站建设整站seo排名要多少钱
  • 江阴外贸网站制作网站建设公司seo关键词
  • 宁波做网站2021最近比较火的营销事件
  • 网上做平面设计的网站亚马逊跨境电商开店流程及费用
  • 加盟营销型网站制作seo 什么意思
  • 酷站字体google官网入口下载
  • 网站建设的方式有哪些方面seo投放是什么意思
  • 创建网站和主页360网站安全检测
  • 做网站的合作案例北京网站设计公司
  • 美国防务新闻网站济南百度推广开户
  • 企业信息系统架构北京首页关键词优化