PTA:C课程设计(3)
创始人
2025-05-29 02:32:18
0

山东大学(威海)2022级大一下C习题集(3)

  • 3-5-1 顺序查找
  • 3-5-2 计算二维数组第一列元素之和
  • 3-5-3 判断方阵对称
  • 3-6-1 输出整数k 的所有质因子
  • 3-7-1 去掉最大值和最小值
  • 3-7-2 合并数组
  • 3-7-3 对了几题(单选题)
  • 3-7-4 肿瘤面积

3-5-1 顺序查找

以下程序的功能是输入一个正整数n(1<n≤10),再输入n个整数,将它们存入数组a中,再输入1个数x,然后在数组中查找x,如果找到,输出相应的最小下标,否则,输出“Not Found”。

#include 
int main(int argc, char const* argv[])
{int i, index, n, x, a[10];scanf("%d", &n);for (i = 0; i < n; i++)scanf("%d",&a[i]);//①scanf("%d", &x);getchar();//②for (i = 0; i < n; i++)if (a[i] == x) {index = i;break;//③}if (index != -1)printf("%d\n", index);elseprintf("Not Found\n");return 0;
}

3-5-2 计算二维数组第一列元素之和

从键盘输入一个4行4列的二维数组元素,求第一列元素之和

#include 
#include 
int main()
{int i,j;//①int a[4][4], sum;sum =0;//②for (i = 0; i < 4; i++)for (j = 0; j < 4; j++)scanf("%d", &a[i][j]);for (i = 0; i < 4; i++)sum += a[i][0];//③printf("%d\n", sum);return 0;
}

3-5-3 判断方阵对称

输入一个正整数 n (1≤n≤10)和n 阶方阵a的元素,如果方阵a中的所有元素都沿主对角线对称,输出“Yes”, 否则,输出“No”。主对角线为从矩阵的左上角至右下角的连线,方阵a中的所有元素都沿主对角线对称指对所有i, k,a[i][k]和a[k][i]相等。

#include 
int main(void)
{int found, i, k, n;int a[10][10];scanf("%d", &n);for (i = 0; i < n; i++)for (k = 0; k < n; k++)scanf("%d", &a[i][k]);found = 1;for (i = 0; i < n; i++) {for (k = 0; k < i; k++) {if (a[i][k] != a[k][i]) {//①found = 0;//②break;}}if (found == 0) {//③break;}}if (found != 0) {printf("Yes\n");}else {printf("No\n");}return 0;
}

3-6-1 输出整数k 的所有质因子

输出一个整数k (2≤k≤5000)的所有质因子(即所有为素数的因子)。例如,若输入整数:2310,则应输出:2. 3. 5. 7. 11。

int fun(int n )
{for(int i = 2;i<=sqrt(n);i++){if(n%i == 0)return 0;}return 1;
}

3-7-1 去掉最大值和最小值

申请一个10个单元的整型数组,输入10个整数,去掉一个最大值和一个最小值后,剩下的8个数求和

输入格式:
输入10个整数,空格分隔

输出格式:
去掉最大值和最小值后,求剩下8个数的和

#include
int main()
{int arr[10] = {0};int sum = 0;for(int i = 0;i<10;i++){scanf("%d",&arr[i]);sum += arr[i];}int max = arr[0],min = arr[0];for(int i = 1;i<10;i++){if(arr[i]>max)max = arr[i];if(arr[i]

3-7-2 合并数组

已知两个升序数组,将它们合并成一个升序数组并输出。例如:数组array1={3,6,13,35,54},数组array2={14,19,26,32},
合并为新的数组array={3,6,13,14,19,26,32,35,54}。

输入格式:
输入两行升序整数,当每行输入0时,表示输入结束。每行整数的个数1<=N<=10。

输出格式:
输出合并后的升序数组。(最后一个数据后有一个空格)

#include
int main()
{int a1[12] = { 0 };int a2[12] = { 0 };int i = 0;int count = 0;while (1){scanf("%d", &a1[i]);if (a1[i] == 0){break;}else{i++;count++;}}i = 0;while (1){scanf("%d", &a2[i]);if (a2[i] == 0){break;}else{i++;count++;}}int arr[21] = { 0 };int j = 0,k = 0;i = 0;while (a1[i] || a2[j]){if (a1[i] > a2[j]){if (a2[j] == 0)arr[k++] = a1[i++];elsearr[k++] = a2[j++];}if (a1[i] < a2[j]){if (a1[i] == 0)arr[k++] =a2[j++];elsearr[k++] = a1[i++];}}k = 0;for(;kprintf("%d ", arr[k]);}return 0;
}

3-7-3 对了几题(单选题)

编写程序,判断用户的单选题答对了几题。
说明:
1–以十个判断题为例,用户提交的答案应该是长度为十的字符串,如:“ABCDDCBACD”,字符的位置代表了题号,选择项当然是字符集[‘A’,‘B’,‘C’,‘D’']之一。
2–标准答案是一个长整数(8个字节,64个二进制位),长整数的二进制存储中,用两个二进制位来对应一个答案:00-A,01-B,10-C,11-D,一个长整数可标记32个题目的答案。如228的整数机内表示的最低八位是11 10 01 00,它表示前四题的答案依次是ABCD。

输入格式:
输入内容有二行:
第一行,用户提交的答题选项:每个字符代表一个选项(ABCD之一),字符串的长度表示题目数量(范围在【5,32】内)。
第二行,一个用二进制位来表示标准答案的长整数(注意,不是字符串)。

输出格式:
输出用户单选题回答正确数量(多少题与标准答案相同)。

在这里插入图片描述

#include
int main()
{char a[40];scanf("%s",a);long long int b = 0;scanf("%lld",&b);int i = 0,count = 0;for(;a[i]>='A'&&a[i]<='D';i++){count++;}int k = 0,yes= 0;while (k <= i){if ((b & 3) == (a[k] - 'A'))yes++;b >>= 2;k++;}printf("%d", yes);return 0;
}

3-7-4 肿瘤面积

任务描述
在一个正方形的灰度图片上,肿瘤是一块矩形的区域,肿瘤的边缘所在的像素点在图片中用0表示。其它肿瘤内和肿瘤外的点都用255表示。现在要求你编写一个程序,计算肿瘤内部的像素点的个数(不包括肿瘤边缘上的点)。已知肿瘤的边缘平行于图像的边缘。

输入格式:
只有一个测试样例。第一行有一个整数n,表示正方形图像的边长。其后n行每行有n个整数,取值为0或255。整数之间用一个空格隔开。已知n不大于1000。

输出格式:
输出一行,该行包含一个整数,为要求的肿瘤内的像素点的个数。

在这里插入图片描述

#includeint main()
{int n = 0;int arr[1000][1000] = {0};scanf("%d",&n);int f1 = 0,f2 = 0,t1,t2,t3,t4;for(int i = 0;ifor(int j = 0;jscanf("%d",&arr[i][j]);if(f1==0&&arr[i][j] == 0){t1 = i;t2 = j;f1 = 1;}}}for(int i = n-1;i>=0;i--){for(int j = n-1;j>=0;j--){if(f2==0&&arr[i][j] == 0){t3 = i;t4 = j;f2 = 1;break;}}}int count = 0;for(int i = t1;i<=t3;i++){for(int j = t2;j<=t4;j++){if(arr[i][j]){count++;}}}printf("%d",count);return 0;
}

相关内容

热门资讯

linux字符设备概念(二)   最近学习字符设备驱动,其大致的框架与流程都基本搞懂了,为了方便以后代...
Linux工具 - Flame... 一、简介 Flameshot是一款功能强大但易于使用的屏幕截图软件,中文名称火焰截图...
我的2025年《旅游计划清单》... 2024年,去了很多地方,从5月到7月,都在外面自驾。先后自驾了西藏阿里大环线、新疆伊犁环线、内蒙古...
机车巡游+电音篝火|亚布力端午... 乘坐绿皮旅游专列到亚布力体验公路机车自驾、观看露天电影,网红熊猫馆喝咖啡……记者从马迭尔文旅投集团了...
2025年端午小长假长春站预计... 央广网长春5月30日消息(记者舒震 见习记者郭明彤)29日,记者从长春站获悉,2025年端午节假期旅...
宿迁周边旅游攻略人少景美路线规... 一、春之序曲:古运河畔的暴雨求生Spring Prelude: Surviving the Rain...
黄山四人结伴报4天团应找谁?黄... 黄山四人结伴报4天团应找谁?黄山导游推荐四日游旅游行程 黄山,位于安徽省南部黄山市境内,它不仅仅是一...
“打飞的”带住宿仅500元?端... 成都出发,端午节到武汉玩两天,全程交通住宿仅需500元。随着端午小长假将至,一种名叫“回旋镖”机票的...
济宁市建设世界文化旅游名城暨文... 5月29日晚,2025济宁市建设世界文化旅游名城暨文旅产业高质量发展大会在济宁太白湖新区方特东方欲晓...
端午养生正当时!来新兴龙山温泉... "三伏天泡温泉?这不是找罪受吗?"王丽看着闺蜜发来的端午出游计划,差点把嘴里的茶喷出来。手机屏幕上赫...
渝见好“村”光 | 金辉沐野:... 每天8点,渝见“村”光今日打卡天台村天台村位于重庆市潼南区卧佛镇,村域面积 3.3平方公里,下辖7个...
一纸规划 激活一村风光 石柱桥头镇瓦屋村“瓦屋部落”民宿景区。(资料图片)特约摄影 钟志兵\视觉重庆 5月15日...
去宜昌三峡3天2晚旅游要花多少... 最近,我和姐妹们一直想找个风景如画的地方放松一下心情,好好享受一段惬意的时光。经过一番商量,我们决定...
Spring Boot/Clo... 一、前言 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel ...
盐城以鹤舞之姿向全球青年发出诗... 初夏的黄海之滨,2025丹顶鹤黄海湿地旅游节在万千期待中翩然启幕。来自全国10个省份30余所高校的莘...
泰国国家旅游局启动“萨瓦迪·你... 为庆祝中泰建交50周年,推进中泰旅游合作,泰国国家旅游局于5月28日至6月1日举办“萨瓦迪·你好”旅...
PyTorch 之 强大的 h... 文章目录一、强大的 hub 模块1. hub 模块的使用2. hub 模块的代码演示二、搭建神经网络...
【2023.3.8】数据结构复... 【2023.3.8】数据结构复习笔记 文章目录【2023.3.8】数据结构复习笔记序言一、绪论二、线...
进阶C语言——指针【指针笔试题... 文章目录笔试题1笔试题2笔试题3笔试题4笔试题5笔试题6笔试题7笔试题8 笔试题1 int main...
2023年特斯拉新能源汽车核心... 特斯拉主要硬件清单(model s车型) 汽车结构 设置名称 规格 备注 价格 供应商 ...