计算机三级考试c,计算机三级考试C语言上机试题.ppt

这篇博客探讨了C语言编程中的几个基础问题,包括冒泡排序算法的实现,判断素数的方法及流程,以及如何分解多位整数获取各个位上的数字。此外,还涉及到了数学计算和字符串操作的相关知识点,适合初学者巩固基础知识。
摘要由CSDN通过智能技术生成

计算机三级考试C语言上机试题

计算机三级考试C语言上机试题 (一)冒泡法排序 冒泡法顾名思义就是将一个数从下面浮上来,假设有5个数,21 56 87 6 9, 将第五个元素的值与第四个元素的值相比,如果第五个元素的值小于第四个元素的值,则交换着两个元素的值。 接下来,将第四个元素的值与第三个元素的值进行比较,按照类似的方式,如果发现下面元素的值小于上面元素的值,则交换着两个值。 将第三个元素的值与第二个元素的值比较,做同样的工作。 在这一轮比较结束时,最小值将到达最上面,可以说最小值已经浮到最上面 第二轮,从最底部的元素开始比较,直到第二个元素,因为第一个已经是最小,不需要再进行比较。 排序演示 程序 #include #define N 10 void main() { int a[N+1],b,c,temp; printf("请输入10个数字:\n"); for(b=1;b<=N;b++) scanf("%d",&a[b]); for(b=1;b<=N-1;b++) for(c=1;c<=N-b;c++) if(a[c]>a[c+1]) { temp=a[c]; a[c]=a[c+1]; a[c+1]=temp; } for(b=1;b<=N;b++) printf("%d ",a[b]); putchar('\n9'); } (二)素 数 问 题 判断一个数是否是素数的方法 (1) 算法设计 (2) 算法分析 (3) 算法流程图 (4) C程序代码 第一部分 —— 算法设计   如果某个自然数n是素数,那么可能存在这样的情况——在2~n/2范围内没有一个自然数k能够整除n。所以,如果要判断自然数n是否为一个素数,只需要让n不断的去除以从2开始的,到n/2结束的整数k,这是一个反复执行的操作。如果在这个范围内的数没有一个k能够整除n,就说明n是一个素数。反之,只需要存在一个k能够整除n,就说明n不是一个素数。 第二部分——算法的分析: (1)首先输入一个需要判定的自然数n (2)接着,我们设置一个除数变量,同时也是一个计数变量k,将其初值设置为2 (3)使用第一个判断框,设置循环的条件为“k<=n/2” ,循环中判断n mod k的值,如果不为零,继续循环;如果为零,直接跳出循环 (4)循环结束通过k的值确定n是否是素数 算法流程图: 判断素数的C程序: ?void IsPrime(int n) {??int?k;??printf("输入一个正整数:");??scanf("%d",&n);???for(k=2;k<=n/2;k++)??? ?if(n%k==0)?break;??if(k>n/2)?printf("%d是一个素数。",n);??else?printf("%d不是一个素数。",n);} 程序的改进: 通过证明,只需判断在2—sqrt(n)范围内没有一个自然数k能够整除n,就能证明n是素数 for(k=2;k<=sqrt(n);k++)??? ?if(n%k==0)?break; 例子:第10、45套 (三)多位整数分解 假定num为一个四位正整数,如何求出各位上数字 千位数字:num/1000百位数字:num%1000/100 十位数字:num%100/10 个位数字:num%10 第2、3套 等 (四)数学计算问题 计算数值,统计,求平均值等 (五)字符串元素的访问 字符串替换,移动,排序等 第56套等 (六)选票问题 二维数组的使用 第60套等 * * *

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值