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

程序设计基础I-单元测试4(机测+编程题)

7-1 逆置一维数组

编写程序,以指针的方式,就地逆置一维数组。

输入格式:

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据先输入数据个数n,然后输入n个整数。

输出格式:

对于每组测试,在一行上输出逆置之后的结果。数据之间以一个空格分隔。

输入样例:

2
4 1 2 5 3
5 4 3 5 1 2

输出样例:

3 5 2 1
2 1 5 3 4
#include<stdio.h>
int f(int n,int*p)
{int i;for(i=n-1;i>=0;i--){if(i==n-1)printf("%d",p[i]);elseprintf(" %d",p[i]);}
}
int main()
{int m,n;int p[1005];scanf("%d",&m);for(int i=0;i<m;i++){scanf("%d",&n);for(int i=0;i<n;i++){scanf("%d",&p[i]);}f(n,p);printf("\n");}return 0;
}

 7-2 求组合数

本题要求编写程序,根据公式Cnm​=m!(n−m)!n!​算出从n个不同元素中取出m个元素(m≤n)的组合数。

建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double

输入格式:

输入在一行中给出两个正整数m和n(m≤n),以空格分隔。

输出格式:

按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

输入样例:

2 7

输出样例:

result = 21
#include<stdio.h>
double fact(int n)
{int i;double sum=1;for(i=1;i<=n;i++){sum=sum*i;}return sum;
}
int main()
{int m,n;double t;scanf("%d %d",&m,&n);t=fact(n)/(fact(m)*fact(n-m));printf("result = %.lf",t);return 0;
}

7-3 sdut - C语言实验-保留字母

编一个程序,输入一个允许带空格的字符串,将组成字符串的所有非英文字母的字符删除后输出。

输入格式:

一个字符串,长度不超过80个字符。

输出格式:

删掉非英文字母后的字符串。

输入样例:

abc123+xyz.5

输出样例:

在这里给出相应的输出。例如:

abcxyz
#include<stdio.h>
int main()
{int i;char str[80];gets(str);for(i=0;str[i]!='\0';i++){if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))printf("%c",str[i]);}return 0;
}

7-4 sdut-C语言实验- 字符统计2

输入英文句子,输出该句子中除了空格外出现次数最多的字符及其出现的次数。

输入格式:

输入数据包含多个测试实例,每个测试实例是一个长度不超过100的英文句子,占一行。

输出格式:

逐行输出每个句子中出现次数最多的字符及其出现的次数(如果有多个字符的次数相同,只输出ASCII码最小的字符)。

输入样例:

I am a student
a good programming problem
ABCD abcd ABCD abcd

输出样例:

在这里给出相应的输出。例如:

a 2
o 4
A 2
#include <stdio.h>
#include <stdlib.h>
int main()
{char s[101];int i;while (gets(s)!=NULL){int a[130]={0};for (i=0;s[i]!='\0';i++){if (s[i]!=' '){a[s[i]]++;}}int max=a[0];int k=0;for (i=1;i<=129;i++){if (a[i]>max){max=a[i];k=i;}}printf("%c %d\n",k,max);}return 0;
}

7-5 利用指针返回多个函数值

读入n个整数,调用max_min()函数求这n个数中的最大值和最小值。

输入格式:

输入有两行:
第一行是n值;
第二行是n个数。

输出格式:

输出最大值和最小值。

输入样例:

在这里给出一组输入。例如:

5
8 9 12 0 3

输出样例:

在这里给出相应的输出。例如:

max = 12
min = 0
#include<stdio.h>
int max_min(int n,int *p)
{int i;int max=p[0],min=p[0];for(i=0;i<n;i++){if(p[i]>max)max=p[i];if(p[i]<min)min=p[i];}printf("max = %d\n",max);printf("min = %d",min);
}
int main()
{int i,n;scanf("%d",&n);int p[1005];for(i=0;i<n;i++){scanf("%d",&p[i]);}max_min(n,p);return 0;
}

http://www.mrgr.cn/news/56304.html

相关文章:

  • 一文详细讲解CRM系统(附架构图、流程、功能介绍)
  • 6-2.Android 对话框之基础对话框问题清单(UI 线程问题、外部取消、冲突问题、dismiss 方法与 hide 方法)
  • UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程
  • ubuntu重启后显示不出图形界面
  • YOLOv11模型改进-注意力-引入简单无参数注意力模块SimAM 提升小目标和遮挡检测
  • 服务控制管理器
  • SpringBoot02:第一个springboot程序
  • 【K8S系列】Kubernetes Pod节点Pending状态及解决方案详解【已解决】
  • 极氪MIX主打一个“够大、够好玩”,期待值拉满~
  • 医院信息化与智能化系统(5)
  • 网址工具大全
  • 浏览器调起摄像头
  • docker安装mysql
  • 【多商户商城】
  • 乙武洋匡取得成功,成为著名作家。他的生命反射给我们:正面、积极、乐观的思考态度是多么重要啊!
  • Python学习的自我理解和想法(19)
  • Excel重新踩坑3:条件格式;基本公式运算符;公式中的单元格引用方式;公式菜单栏其他有用的功能说明;
  • Leetcode—1279. 红绿灯路口【简单】Plus(多线程)
  • 2024/10/22 408计组大题
  • 技术总结(十)
  • 【知识科普】简单聊聊跨域问题
  • lesson02 作业
  • Lattice_FPGA使用Synplify Pro进行综合
  • MIT6.S081 LAB page tables (2024)
  • Web保存状态的手段(Session的使用)
  • 11月考期PMP模考题(一)