栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 刷题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 刷题

大家好!今天想和大家一起分享一下这几题刷过的几道题,大家呢也可以从中吸取一些好的方法,我们一起来看一下。

  第一道题

这道题呢是关于有序数列的合并问题,第一种做法呢是把两个序列一起放在同一个数组当中去,然后再进行排序,但这种做法呢相对而言比较麻烦,今天呢我给大家分享一下一种好的做法。

#include

int main()

{

int m=0;

int n=0;

int arr1[]={0};

int arr2[]={0};

int i =0;

for(i=0;i

{

scanf("%d",&arr1[i]);

}

int j=0;

for(j=0;j

{

scanf("%d",&arr2[j]);

}

int f=0;

int g=0;

while(f

{

if(arr1[f]

{

       printf("%d",arr1[f]);

      f++;

}

else

{

     printf("%d",arr2[g]);

   g++;

}

}

if(f==n)

{

      for(;g

{

  printf("%d",arr2[g]);

}

 else 

{  

for(;f

{

  printf("%d",arr1[f]);

}

}

return 0;

}

这种做法呢其实就是让arr1中的元素和arr2中的元素进行比较,如果arr1[0]

接下来给大家介绍一道序列中删除制定数字的题目

 我们来看一下这道题的一个解法,这个题比较简单简洁的一个方式是在同一个数组里操作,可以再定义一个变量j,然后判断arr[i]中的元素如果不是要删除的数字的话,就把它赋值给arr[j],这样就很巧妙地解决了这道题

 

 大家再来看一道大小写字母转换的题目题目要求如下

第一种解法:比较常规的方法 

对于多组输入的问题我们通常采用while(scanf("%c",&f)==1) 的形式,scanf每成功输入一个字符就返回1,那么这里为啥会有一个getchar()呢,因为我们在输入的时候每输入一个会进行换行,所以getchar()是用来吃掉换行符的,如果去掉,程序运行的结果就会出现错误,我们不妨来看一下,

我们看到因为换行符的影响造成了输入输出并不是连续的 。

其实这道题对于字符是大小写的判断还可以直接引用库函数

isupper(int c)库函数是用来判断字符是否为大写,如果是返回非0的数,如果不是则返回0,那么有人可能会问c不是整数吗?咋成了字符了,其实在c语言中字符就是整数,因为字符在内存中存储的就是它的ASCll码值,islower(int c) 则是用来判断字符是不是小写,如果是返回非0的数,如果不是则返回0,tolower函数用来把大写字母转换成小写字符,toupper函数用来把小写字母转换成大写,引用的头文件是#include.isalpha(int c)用来判断一个字符是不是英文字母,如果是则返回非0值,如果不是,则返回0,头文件是#include。

    今天和大家分享的内容就到这里了,大家可以多多提出一些宝贵的意见。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/976359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号