C基础day7

一、思维导图

二、课后练习

1、提示并输入一个字符串,统计该字符串中字母、数字、空格以及其他字符的个数

#include<myhead.h>
#define M 20
int main(int argc, const char *argv[])
{int sum_a=0,sum_b=0,sum_c=0,sum_d=0;char str[M];printf("please enter string:");gets(str);
//	getchar(); 	//吸收垃圾字符//循环判断每个字符for(int i=0;str[i]!='\0';i++){//字母if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z'))sum_a++;//数字else if(str[i]>='0'&&str[i]<='9')sum_b++;//空格else if(str[i] == ' ')sum_c++;//其他elsesum_d++;}//输出累计数量printf("字符串中有:字母%d个,数字%d个,空格%d个,其他字符%d个\n",sum_a,sum_b,sum_c,sum_d);return 0;
}

2、提示并输入一个字符串,求出该字符串中所有数字的总和

#include<myhead.h>
#define M 20
int main(int argc, const char *argv[])
{int sum = 0;char str[M];printf("please enter string:");gets(str);//循环判断数字并求和for(int i=0;str[i]!='\0';i++){if(str[i]>='0' && str[i]<='9')sum += str[i] -'0';}//输出数字总和printf("字符串中数字的总和为:%d\n",sum);return 0;
}

3、定义一个4*3的二维整形数组,完成对二维数组的输入、输出。并将该二维数组中每一行的最值放入到一个一维数组中,并对该一维数组进行升序排序后输出。

#include<myhead.h>
int main(int argc, const char *argv[])
{int arr[4][3]={0};//二维数组输入for(int i=0;i<4;i++){for(int j=0;j<3;j++){printf("请输入%d行%d列:",i+1,j+1);scanf("%d",&arr[i][j]);}putchar(10);}//二维数组输出for(int i=0;i<4;i++){for(int j=0;j<3;j++){printf("%d行%d列:%d\n",i+1,j+1,arr[i][j]);}putchar(10);}//定义一维数组存放二维数组每一行最大值int brr[4]={0};//循环二维数组比较选出每一行最大值for(int i=0;i<4;i++){int max = arr[i][0];for(int j=1;j<3;j++){if(max<arr[i][j])max = arr[i][j];}brr[i] = max; 	//将每行最大值存入数组brr}//对一维数组进行升序排序//冒泡排序for(int i=1;i<4;i++){for(int j=0;j<4-i;j++){if(brr[j]>brr[j+1]){int temp = brr[j];brr[j] = brr[j+1];brr[j+1] = temp;}}}printf("冒泡排序升序排序后的结果:");//循环输出for(int i=0;i<4;i++){printf("%d\t",brr[i]);}putchar(10);//选择排序int mini = 0;  //记录最值的下标for(int i=0;i<4;i++) 	//遍历整个数组找最值{mini = i;//遍历整个数组比较for(int j=i+1;j<4;j++){if(brr[mini] > brr[j]){mini =j; //更新最值下标}}//判断找到的最值是否放在了首位,不是则交换if(mini !=i){int temp = brr[i];brr[i] = brr[mini];brr[mini] = temp;}}//输出一位数组排序后结果printf("选择排序升序排序后的结果:");//循环输出for(int i=0;i<4;i++){printf("%d\t",brr[i]);}putchar(10);return 0;
}

4、提示并输入两个一维整形数组,求这两个数组的交集。

#include<myhead.h>
#define MAX 100
int main(int argc, const char *argv[])
{//提示并输入两个一维数组int arr1[MAX],arr2[MAX];int size1=0,size2=0;printf("please enter arr1 size1:");scanf("%d",&size1);printf("please enter arrry1:\n");for(int i=0;i<size1;++i){printf("请输入第个%d元素:",i+1);scanf("%d",&arr1[i]);getchar();}printf("please enter arr2 size2:\n");scanf("%d",&size2);printf("please enter arrry2:");for(int i=0;i<size2;++i){printf("请输入第个%d元素:",i+1);scanf("%d",&arr2[i]);getchar();}//遍历两个数组比较得出交集//定义一位数组存储交集int brr[MAX];int k =0;for(int i=0;i<size1;i++){for(int j=0;j<size2;j++){if(arr1[i] == arr2[j]){brr[k] = arr1[i];k++;}}}//输出交集数组brrprintf("两数组交集为:");for(int i=0;i<k;i++){printf("%d\t",brr[i]);}return 0;
}

5、完成注册和登录功能:

#include<myhead.h>void regis();
int login();char old_user[32];
char old_passwd[32];
char new_user[32];
char new_passwd[32];int main(int argc, char const *argv[])
{int a,res;while(1){ //循环执行printf("***********");printf("1.注册 2.登录");printf("***********\n");scanf("%d",&a);switch(a){case 1:regis();break;case 2:while (1){res = login();if (res==1){return 0;}else{printf("请重新输入\n");}}  break;default:break;}}return 0;
}void regis(){printf("请输入注册帐号\n");scanf("%s",old_user);printf("请输入注册密码\n");scanf("%s",old_passwd);
}
int login(){printf("请输入登录帐号\n");scanf("%s",new_user);printf("请输入登录密码\n");scanf("%s",new_passwd);if (strcmp(old_user,new_user) == 0 && strcmp(old_passwd,new_passwd) == 0){printf("登录成功\n");return 1;}else{return -1;}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3223574.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

使用redis进行短信登录验证(验证码打印在控制台)

使用redis进行短信登录验证 一、流程1. 总体流程图2. 流程文字讲解&#xff1a;3.代码3.1 UserServiceImpl&#xff1a;&#xff08;难点&#xff09;3.2 拦截器LoginInterceptor&#xff1a;3.3 拦截器配置类&#xff1a; 4 功能实现&#xff0c;成功存入redis &#xff08;黑…

HTML5+CSS3小实例:响应式漫画网格布局

实例:响应式漫画网格布局 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sc…

Windows11配置WSL2支持代理上网

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装WSL2分发版二、配置步骤三、测试总结 前言 说起来本来这个功能我也不需要的&#xff0c;只是最近突然有个需求就顺便研究了下&#xff0c;WSL2默认的网…

Docker-compse的应用

1 docker-compose # 使用了docker 面临一个比较大的问题&#xff0c;如果一个djagno项目&#xff0c;使用mysql&#xff0c;redis&#xff0c;不要一次性把所有服务都放到一个容器中&#xff0c;每个服务一个容器&#xff0c;批量的管理多个容器&#xff0c;比较难以操作&…

KIVY Button¶

Button — Kivy 2.3.0 documentation Button Jump to API ⇓ Module: kivy.uix.button Added in 1.0.0 The Button is a Label with associated actions that are triggered when the button is pressed (or released after a click/touch). To configure the button, the s…

vue 切换主题色切换主题色切换主题色切换主题色切换主题色

第一种&#xff1a;使用CSS变量 CSS变量&#xff08;Custom Properties&#xff09;是CSS的一种新特性 1.实现需求&#xff1a;自定义颜色 定义变量 全局的theme.css :root {--primary-color:red; }在组件中使用这些变量 demo.vue <template><div class"main…

Adversarial Reweighting for Partial Domain Adaptation(论文阅读)

摘要 1、问题 通过实验发现如今的PDA方法在利用重新调整对齐分布来使适应特征对于源域数据的“噪声”权重&#xff0c;在很多挑战基准测试点上会导致域的负迁移。 2、目的 对抗性调整&#xff08;AR&#xff09;方法&#xff1a;对抗性学习源域数据的权重去对齐源域和目标域的…

SVM - 径向基函数核 Radial Basis Function Kernel,简称RBF核或者高斯核

SVM - 径向基函数核 Radial Basis Function Kernel&#xff0c;简称RBF核或者高斯核 flyfish 径向基函数核&#xff08;Radial Basis Function Kernel&#xff0c;简称RBF核&#xff09;&#xff0c;也称为高斯核&#xff0c;是一种常用的核函数&#xff0c;用于支持向量机&a…

计算理论复习

1.Turing Machine 确定性图灵机 图灵机有很多不同的定义&#xff0c;这里选取其中一种&#xff0c;其它定义下的图灵机往往与下面这种定义的图灵机计算能力等价。 图灵机是一个在一条可双向无限延伸且被划分为若干格子的纸带上进行操作的机器&#xff0c;其有内部状态&#…

【高校科研前沿】中国农业大学姚晓闯老师等人在农林科学Top期刊发表长篇综述:深度学习在农田识别中的应用

文章简介 论文名称&#xff1a;Deep learning in cropland field identification: A review&#xff08;深度学习在农田识别中的应用&#xff1a;综述&#xff09; 第一作者及单位&#xff1a;Fan Xu&#xff08;中国农业大学土地科学与技术学院&#xff09; 通讯作者及单位&…

Linux:进程间通信(二.共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)

Linux&#xff1a;进程间通信&#xff08;二.共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量&#xff09; 上次结束了进程间通信一&#xff1a;Linux&#xff1a;进程间通信&#xff08;一.初识进程间通信、匿名管道与命名管道、共享内存&#xff09; 文章目录 …

HackTheBox--BoardLight

BoardLight 测试过程 1 信息收集 NMAP端口扫描 端口扫描开放 22、80 端口 80端口测试 # 添加 boardLight.htb 到hosts文件 echo "10.10.11.11 boardLight.htb" | sudo tee -a /etc/hosts检查网页源代码&#xff0c;发现 board.htb # 添加 board.htb 到 hosts 文…

大话光学原理:3.干涉与衍射

一、干涉 这是一束孤独的光&#xff0c;在真空的无垠中悄无声息地穿行。忽然&#xff0c;一堵高耸的墙壁挡住了它的去路&#xff0c;它别无选择&#xff0c;只能硬着头皮冲撞而去。在摸索中&#xff0c;它意外地发现墙壁上竟有两道孔隙&#xff0c;笔直而细长&#xff0c;宛如量…

图吧工具箱:装机爱好者必备工具合集

名人说:莫道谗言如浪深,莫言迁客似沙沉。 ——刘禹锡《浪淘沙》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、概述二、主要功能1、硬件检测2、测试与故障诊断三、使用方法四、总结很高兴你打开了这篇博客,更多好用的软件工具,请关注我、订阅专栏…

Python从0到100(三十五):beautifulsoup的学习

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

暴雨突袭不可不看!水浸传感器作用有这些

最近全国进入“看海”模式的新闻不断冲上热搜&#xff0c;深圳、长沙、郑州......多地遭受了暴雨突袭&#xff0c;不仅影响到了居民日常生活出行&#xff0c;更容易为机房、仓库、工厂等需要防水的场所带来漏水隐患。水浸传感器的作用是实时检测监测范围内是否有漏水发生&#…

Linux文件编程(打开/创建写入读取移动光标)

目录 一、如何在Linux下做开发 1.vi编辑器 2.gcc编译工具 3.常用指令 二、文件打开及创建 三、写入文件 四、读取文件 五、文件“光标”位置 一、如何在Linux下做开发 所谓文件编程&#xff0c;就是对文件进行操作&#xff0c;Linux的文件和Windows系统的文件大差不差…

基于变分模态分解和Cramer von Mises检验的一维信号降噪方法(MATLAB)

关于变分模态分解&#xff1a; 变分模态分解中为什么要各个模态估计的带宽之和最小&#xff1f; 因为VMD是个优化问题&#xff0c;VMD方法首先在时域构造一个共同优化的目标&#xff0c;该目标在所有成分完全重构原信号的约束下追求所有成分的带宽总和最小&#xff08;窄带假…

vue学习day02-Vue指令-v-html、v-show与v-if、v-else与v-else-if、v-on、v-bind、v-for、v-model

6、Vue指令 指令&#xff1a;带有v-前缀的特殊标签属性 &#xff08;1&#xff09;v-html 作用&#xff1a;设置元素的innerHTML 语法&#xff1a;v-html“表达式” 示例&#xff1a; 提供一个地址&#xff0c;这里是百度的地址&#xff0c;通过v-html渲染 结果&#xff…

深度整合全球资源,分贝通打造高效、合规的海外差旅管理平台

在全球化商业活动的背景下,中国企业出海已成为常态。然而,随着海外差旅市场的全面增长,企业在海外支出管理上面临诸多挑战。据2023年数据显示,分贝通出海差旅业务GMV同比增长高达500倍,这一增长背后隐藏着企业对于更省钱、更高效管控方式的迫切需求。 面对与日俱增的开支,企业开…