C语言日常刷题 4

这篇具有很好参考价值的文章主要介绍了C语言日常刷题 4。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


题目

1、设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是( )
A: n=0;while(ch=getchar()!=‘\n’)n++;
B: n=0;while(getchar()!=‘\n’)n++;
C: for(n=0;getchar()!=‘\n’;n++);
D: n=0;for(ch=getchar();ch!=‘\n’;n++);

2、运行以下程序后,如果从键盘上输入 65 14<回车> ,则输出结果为( )

int main()
{
int m, n;
printf("Enter m,n;");
scanf("%d%d", &m,&n);
while (m!=n) //1
{
while(m>n) m=m-n; //2
while(n>m) n=n-m; //3
}
printf("m=%d\n",m);
return 0;
}

A: 3 B: 2 C: 1 D: 0

3、若运行以下程序时,从键盘输入 ADescriptor<回车> ,则下面程序的运行结果是( )

#include <stdio.h>
int main()
{
char c;
int v0=0,v1=0,v2=0do
{
switch(c=getchar())
{
case'a':case'A':
case'e':case'E':
case'i':case'I':
case'o':case'O':
case'u':case'U':v1 += 1;
default:v0+= 1;v2+=1;
}
}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
return 0;
}

A: v0=7,v1=4,v2=7  B: v0=8,v1=4,V2=8
C: v0=11,v1=4,v2=11 D: v0=12,v1=4,v2=12

4、如下函数是求两个int数字最大公约数的,指出其中存在的问题【多选】( )在这里插入代码片

int gcd(char x,char y)
{
int min = x < y ? x : y;
for (min = 0; min > 0; min--)
if (x % min = 0 && y % min = 0)
return min;
}

A: 参数类型不对    B: 循环变量min初值不对
C: 判断等于的符号不对 D: 返回类型不对

5、执行下面的程序段,语句3的执行次数为( )

for(i = 0; i <= n-1; i++) // (1)
for(j = n; j > i; j--) // (2)
state; // (3)

A: n(n+2)/2 B: (n-1)(n+2)/2 C: n(n+1)/2 D: (n-1)(n+2)

6、小明同学最近开发了一个网站,在用户注册账户的时候,需要设置账户的密码,为了加强账户的安全性,小明
对密码强度有一定要求:

  1. 密码只能由大写字母,小写字母,数字构成;
  2. 密码不能以数字开头;
  3. 密码中至少出现大写字母,小写字母和数字这三种字符类型中的两种;
  4. 密码长度至少为 8

现在小明受到了 n 个密码,他想请你写程序判断这些密码中哪些是合适的,哪些是不合法的。

答案与解析

1

正确答案:D
对于for循环,其中第一项初始化表达式只执行一次,因此ch只从输入流中取一个字符,之后就再不会取字符,因此会死循环

2

正确答案:C
此题技巧是耐心,考查while循环和循环嵌套的理解,初值m=65,n=14;循环1判断m!=n为真,来到循环2判断m>n为真,执行m=m-n;直到m=9,n=14;循环2结束来到循环3判断n>m为真,执行n=n-m;直到m=9,n=5;循环3结束回到循环1,如此往复直到m==n时,循环结束

3

正确答案:D
代码switch语句中没有break,则每次找到入口进入后,顺序执行到代码块结束为止。例如当c为’A’时,从case 'A’进入,先后执行v1+=1;v0+=1;v2+=1;,而当c为’p’时,从default进入,先后执行v0+=1;v2+=1;,容易看出最终v0和v2是相等的

4

正确答案:ABC
1.函数实参是int,形参用char不对,会发生截断丢失数据;2.min在for循环开始时更新为0,不再是两个形参中的较小值;
3.判断是否整除的时候误将==写成=赋值运算符;4.函数最终要返回一个int值,返回值类型没问题,但是这里要强调一个选项中没写出的问题,如果是牛客网上的题,会报编译错误,说该函数不是在所有情况下都有返回值,只有在if条件成立的情况下有返回值,一般在vs上这种情况能通过,编译器会给一个默认的返回值。

5

正确答案:C
外循环有n次,当i=0,内循环为n次,当i=1,内循环为n-1次,当i=2时,内循环为n-2次,以此类推,总次数为n+(n-1)+(n-2)+…+2+1,就是个等差数列,等于n(n+1)/2文章来源地址https://www.toymoban.com/news/detail-678012.html

6

int main()
{
    int n = 0;
    while (~scanf("%d", &n))
    {
        char passward[101];
        scanf("%s", passward);
        int str = strlen(passward);//求密码长度
        if (passward[0] >= '0' && passward[0] <= '9')
        {
            printf("NO\n");//密码不能以数字开头
            continue;
        }
        if (str < 8)
        {
            printf("NO\n");//密码长度至少为8
            continue;
        }
        int num, cap, loc, other;
        for (int i = 0; i < str; i++)
        {
            if (passward[i] >= '0' && passward[i] <= '9')
                num++;//数字
            else if (passward[i] >= 'a' && passward[i] <= 'z')
                loc++;//小写字母
            else if (passward[i] >= 'A' && passward[i] <= 'Z')
                cap++;//大写字母
            else
                other++;//其他的
        }
        if (other > 0)
        {
            printf("NO\n");
            //密码只能由大写字母,小写字母,数字构成
            continue;
        }
        if ((num > 0) + (cap > 0) + (loc > 0) < 2)
        {
            printf("NO\n");
            //密码中至少出现大写字母,小写字母和数字这三种字符类型中的两种;
            continue;
        }
        printf("YES\n");
    }
    return 0;
}

到了这里,关于C语言日常刷题 4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python日常刷题(一)

    前言:本文记录2024年3月11日至2024年3月19日牛客网所做的基础题目(错题本): 🎬个人简介:努力学习ing 📋本专栏:python日常刷题 🎀CSDN主页:愚润求学 我写的: I get it: 1,将数据通过append依次存入列表 2,两数交换( a,b = b,a ) 要输出[1,2,3,4,1]: 注意 input() 以后要转为

    2024年03月24日
    浏览(34)
  • JAVA日常刷题

    ꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ ა 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如需转载还请通知˶⍤⃝˶ 个人主页:xiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 系列专栏

    2024年02月05日
    浏览(36)
  • 刷题日常计~JS①

    @作者 : SYFStrive @博客首页 : 点击跳转HomePage 📜: 初编程 JavaScript 之每天10题 👉 从质变到量变💪 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 💃: 学累了可以先看看由jieke给大家带来的舞蹈,欢迎大家观看 🔗: 点击直接阅读文章 ①:👉 JS入门到精通 (🔥待更

    2023年04月08日
    浏览(33)
  • 日常刷题 无代码(长期更新

    1401F 线段树题 我们可以考虑为反转 子树 1579g 可以二分 因为会有负数 所以我会把 开始的位置 为 0-mid 然后dp 459e 边权从小到大加入 没有后效性 直接dp 372b 前缀和 1151e 点=边+连通块 见了两次了 这下记住了 505C 直接dp复杂度不对 我们优化一下 dp[i][j] 表示目前到了i 和d偏移了j的

    2024年02月08日
    浏览(38)
  • TM4C123GH学习笔记(1.0)——keil搭建开发环境

    关于安装keil5 KDM的教程参考B站江科大即可。本文需要安装好keil5。 本文附有keil的pack和相关驱动,以及创建好的空工程: 百度云链接:提取码:tc1e 站内链接:CSDN下载(免费)      打开设备管理器     选择文件夹下的驱动    装好之后,插着TM4C123GH6PM板子可以检测到ICDI。

    2024年02月17日
    浏览(41)
  • 【日常聊聊】自然语言处理的发展

    🍎 个人博客: 个人主页 🏆 个人专栏:   日常聊聊 ⛳️   功不唐捐,玉汝于成 目录 前言 正文 技术进步 应用场景 挑战与前景 伦理和社会影响 实践经验 结语 我的其他博客 自然语言处理(NLP)技术的快速发展正在深刻改变我们与计算机和数字世界交互的方式。通过深度

    2024年01月21日
    浏览(49)
  • Git 日常开发使用命令

    Git 生成密钥 cd ~/.ssh 新增密钥:ssh-keygen -t rsa -C \\\"你的邮箱\\\" 打开文件:cat id_rsa.pub 删除密钥:mkdir key_backupcp id_rsa* key_backup rm id_rsa*  Git 创建分支及删除分支 创建test分支:git branch test 切换到test分支:git checkout test 删除本地分支:git branch -d \\\"本地分支名\\\" 删除远程分支:git p

    2023年04月18日
    浏览(43)
  • 日常开发报错记录

    20230424 python3.7中报错:No module named ‘typing_extensions‘  在网上找到的解决办法:【pytorch】错误:No module named ‘typing_extensions‘ 问题解决_no module named typing_污喵王z的博客-CSDN博客 就是将缺失的文件typing_extensions.py,补充到路径:…envspy3.7Libtyping.py的同目录下,但发现github上

    2023年04月22日
    浏览(50)
  • 梳理日常开发涉及的负载均衡

    负载均衡是当前分布式微服务时代最能提及的词之一,出于对分层、解耦、弱依赖、可配置、可靠性等概念的解读,一对一的模式变得不再可信赖,千变万化的网络环境中,冗余和备份显得格外重要,稍大型的系统就会存在大量微服务、服务器、中间件资源,如何将各个资源

    2024年02月14日
    浏览(37)
  • 日常开发中代码技巧(个人使用)

    String,StringBuffer判断非空 String判断非空 参考:https://blog.csdn.net/Echo_width/article/details/79653704 首先,区分空串和null串 1 空串\\\"\\\"是长度为0的字符串,它有自己的串长度(0)和内容(空),判断一个字符串为空的方法: 2、 null串表示目前没有任何对象与该变量关联,检查一个字符

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包