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

2024.11.13(一维数组相关)

思维导图

1> 提示并输入一个字符串,统计该字符串中大写字母、小写字母、数字字符、空格字符的个数并输出

2> 提示并输入一个字符串,将该字符串中的所有字母挑选到一个新数组中,将所有的数字字符挑选到另一个新数组中。并且将数字字符对应的数组降序排序。输出两个数组的结果

3> 请用 C、JAVA、C# 任一种语言,对数组 {3, 2, 10, 1, 23, 15, 82} 进行由小到大的排序。(安在软件)

4> 输入一个字符串,将其逆序后输出?(电工时代)

5> 一个长度为10的数组中重复数据,现要求相同数据只保留一份,其他的用0来代替,被替换的数据移到数组末尾。(数组内容自定) (富士安全,云尖软件开发)

6> 输出一个 int 型数组中最小和第二小的数。(鲁科安全)

7> 将作业连接上的 第二节数组部分的题目完成:5、7、8、10、13、18、20、22、23、26、27、28、29、30

0-C基础知识 答案 · 华清远见工作空间

第一题

#include <stdio.h>
#include <ctype.h>
//1> 提示并输入一个字符串,统计该字符串中大写字母、小写字母、数字字符、空格字符的个数并输出
int main(int argc, const char *argv[])
{char str[50];printf("请输入一个字符串\n");gets(str);//读取输入的字符串int len = sizeof(str)/sizeof(str[0]);int Uppercase_letters = 0, lowercase_letters = 0, numeric_characters = 0,space_characters = 0;//大写字母、小写字母、数字字符、空格字符for(int i=0;i<len;i++){if(isupper(str[i]))//判断给定字符是否为大写字母{Uppercase_letters++;}if(islower(str[i]))//判断给定字符是否为小写字母{lowercase_letters++;}if(isdigit(str[i]))//判断给定字符是否为数字字符{numeric_characters++;}if(isspace(str[i]))//判断给定字符是否为空格字符{space_characters++;}}printf("大写字母个数为:%d",Uppercase_letters);printf("小写字母个数为:%d",lowercase_letters);printf("数字字符个数为:%d",numeric_characters);printf("空格字符个数为:%d",space_characters);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ gcc homework_after_class.c 
homework_after_class.c: In function ‘main’:
homework_after_class.c:9:2: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]gets(str);//读取输入的字符串^~~~fgets
/tmp/ccnIEUop.o:在函数‘main’中:
homework_after_class.c:(.text+0x37): 警告: the `gets' function is dangerous and should not be used.
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
请输入一个字符串qaz123 QWERT   qwertHGvff  123487
大写字母个数为:11小写字母个数为:12数字字符个数为:9空格字符个数为:8

第二题

#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(int argc, const char *argv[])
{//2> 提示并输入一个字符串,将该字符串中的所有字母挑//选到一个新数组中,将所有的数字字符挑选到//另一个新数组中。并且将数字字符对应的数组//降序排序。输出两个数组的结果char str[50];//原数组char str1[20];//字母数组char str2[20];//数字数组printf("请输入一个字符串\n");gets(str);//读取输入的字符串int len = strlen(str);int count1 = 0;//字母数组下标计数int count2 = 0;//数字数组下标计数for(int i=0;i<len;i++){if(isalpha(str[i]))//判断给定字符是否为字母{str1[count1]=str[i];count1++;}else if(isdigit(str[i]))//判断给定字符是否为数字字符{str2[count2]= str[i];count2++;}else{continue;}}//数字数组降序排列int len1 = strlen(str1);int len2 = strlen(str2);//数组长度for(int i=0;i<len1;i++){int arr = i;//目前对比值的下标int temp,flag = 0;//中间变量,标识变量for(int j=i;j<len2;j++){if(str2[arr]<str2[j])//比较{flag = 1;arr = j;}}if(flag !=0)//将大的排到前面{       temp = str2[arr];str2[arr] = str2[i];str2[i] = temp;}}//输出两个数组printf("字母是:");for(int i = 0;i<len1;i++){printf("%c ",str1[i]);}putchar(10);printf("数字是:");for(int i = 0;i<len2;i++){printf("%c ",str2[i]);}putchar(10);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ gcc homework_after_class.c 
homework_after_class.c: In function ‘main’:
homework_after_class.c:57:2: warning: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration]gets(str);//读取输入的字符串^~~~fgets
/tmp/ccwuB0g4.o:在函数‘main’中:
homework_after_class.c:(.text+0x40): 警告: the `gets' function is dangerous and should not be used.
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
请输入一个字符串
cdgf gfv434rfdjg vfdjgvf234    
字母是:c d g f g f v r f d j g v f d j g v f 
数字是:4 4 4 3 3 2 

第三题

#include <stdio.h>
#include <ctype.h>
#include <string.h>int main(int argc, const char *argv[])
{//3> 请用 C、JAVA、C# 任一种语言,//对数组 {3, 2, 10, 1, 23, 15, 82} 进行由小到大的排序。char arr[] = {3, 2, 10, 1, 23, 15, 82};int len = sizeof(arr)/sizeof(arr[0]);for(int i=0;i<len;i++){for(int j=0;j<len-1;j++){if(arr[j]>arr[j+1]){arr[j]=arr[j+1]+arr[j];	arr[j+1]=arr[j]-arr[j+1];arr[j]=arr[j]-arr[j+1];}}}for(int i=0;i<len;i++){printf("%d  ",arr[i]);}return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ gcc homework_after_class.c 
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
1  2  3  10  15  23  82 

第四题

#include <stdio.h>
#include <ctype.h>
#include <string.h>int main(int argc, const char *argv[])
{//4> 输入一个字符串,将其逆序后输出?char str[50]="";printf("输入一个字符串\n");gets(str);int len = strlen(str);for(int i=0;i<len/2;i++){str[i] = str[len-i-1]+str[i];str[len-i-1] = str[i]-str[len-i-1];str[i] = str[i] - str[len-i-1];}puts(str);putchar(10);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
输入一个字符串
cgdrthj12345
54321jhtrdgc

第五题

#include <stdio.h>
#include <ctype.h>
#include <string.h>int main(int argc, const char *argv[])
{//5> 一个长度为10的数组中重复数据,//现要求相同数据只保留一份,其他的用0来代替,//被替换的数据移到数组末尾。(数组内容自定)char str[10] = {78,23,78,95,94,20,20,98,54,54};int len = sizeof(str)/sizeof(str[0]);for(int i = 0;i<len;i++)//对数的遍历次数{int qa = str[i];for(int j = i+1;j<len;j++)//用几个数和全部的数比对{if(qa == str[j])//判断重复{str[j] = 0;//重复的数用0代替}}}for(int k=0;k<len-1;k++)//把0换到末尾{if(str[k] == 0){for(int j=k;j<len-1;j++){str[j] = str[j+1];}str[len] = str[k];}}printf("结果为:\n");for(int i = 0;i<len;i++){printf("%d ",str[i]);}putchar(10);return 0;
}ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
结果为:
78 23 95 94 20 98 54 0 0 0 

第六题

#include <stdio.h>
#include <ctype.h>
#include <string.h>
//6> 输出一个 int 型数组中最小和第二小的数。
int main(int argc, const char *argv[])
{int arr[] = {45,56,23,78,1,89,23,56,45,95,12};int a = arr[0];//第一小int len = sizeof(arr)/sizeof(arr[0]);int b = arr[1];//第二小for(int i=0;i<len;i++)//找出第一小{if(arr[i]<=a){a = arr[i];}}for(int i=0;i<len;i++)//找出第二小{if(arr[i]<=b||arr[i]>=a){b = arr[i];}}printf("第一小%d ,第二小%d\n",a,b);return 0;
}
ubuntu@ubuntu:student_C_2024_11_13$ ./a.out 
第一小1 ,第二小12

第七题

1.D
2.     9,2,3,4,5,6,7,8,1
        9,8,3,4,5,6,7,2,1
        9,8,7,4,5,6,3,2,1
        9,8,7,6,5,4,3,2,1
6.D
9.C
11.B
12.A
14.D
15.C
16.   9,2,3,4,5,6,7,8,1
        9,8,3,4,5,6,7,2,1
        9,8,7,4,5,6,3,2,1
        9,8,7,6,5,4,3,2,1
17.B
19.   10  10  8  10
21.D
24.A

25.a[j]
     a[j+1]
     k
 

http://www.lryc.cn/news/483508.html

相关文章:

  • 豆包MarsCode算法题:数组元素之和最小化
  • Hbase Shell
  • 激活函数解析:神经网络背后的“驱动力”
  • 【开源免费】基于SpringBoot+Vue.JS水果购物网站(JAVA毕业设计)
  • 推荐一款多物理场模拟仿真软件:STAR-CCM+
  • React Hooks在现代前端开发中的应用
  • 重学SpringBoot3-整合Quartz定时任务
  • STM32单片机WIFI语音识别智能衣柜除湿消毒照明
  • spring中entity的作用
  • 2019年下半年试题二:论软件系统架构评估及其应用
  • 网络自动化04:python实现ACL匹配信息(主机与主机信息)
  • 字典树介绍以及C++实现
  • 【C++】用红黑树封装set和map
  • 【大数据测试HDFS + Flask详细教程与实例】
  • 高级java每日一道面试题-2024年10月31日-RabbitMQ篇-RabbitMQ中vhost的作用是什么?
  • 【日常记录-Java】代码配置Logback
  • HTTP常见的请求头有哪些?都有什么作用?在 Web 应用中使用这些请求头?
  • 电信数据清洗案例:利用MapReduce实现高效数据预处理
  • react 中 FC 模块作用
  • 多模态大模型(1)--CLIP
  • opencv入门学习总结
  • C/C++内存管理 | new的机制 | 重载自己的operator new
  • 知识库管理系统:企业数字化转型的加速器
  • uniapp 如何使用vuex store (亲测)
  • [编译报错]ImportError: No module named _sqlite3解决办法
  • 【旷视科技-注册/登录安全分析报告】
  • python学习记录16
  • AI 大模型在软件开发中的角色
  • React中类组件和函数组件的理解和区别
  • Day62||prim算法精讲 |kruskal算法精讲