离散数学C语言上机题
- 格式:doc
- 大小:117.50 KB
- 文档页数:21
c语言上机春考考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是正确的C语言注释方式?A. // 这是注释B. /* 这是注释 */C. /* 这是注释D. // 这是注释答案:B3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. charD. string答案:D5. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A6. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A7. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. constD. #define答案:D8. 下列哪个选项是C语言中正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3, 4, 5};答案:A9. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. sizeof()答案:A10. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncpy()D. strncat()答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. 在C语言中,使用________运算符可以连接两个字符串。
一、填空题(每小题3分,共15分)1.谓词公式⌝(∀xF(x,y)∨∃yG(x,y))的前束范式为∃x∀y(⌝F(x,u)∧⌝G(v,y)).2.设A={1,2,3,4,5},〈P(A),⊕〉构成群,其中⊕为集合的对称差.令B={1,4,5},则由B生成的循环子群〈B〉={∅,B}.3.模加群G=〈Z6, ⊕〉的所有生成元为1,5 .4.n阶无向简单图G的∆=δ=n-1,则G为K n.5.设〈G,*〉为群,a∈G且|a|=m,则|a-1|= m .二、选择题(每小题3分,共15分)1.命题公式¬(p→q)∧q∧r的类型是【D】A.重言式.B.非重言式的可满足式.C.简单合取式.D.矛盾式.2.5阶无向完全图的非同构的自补图有【B】A.1个.B.2个.C.3个.D.4个.3.设〈A,*〉是独异点,e是其单位元,若∀a∈A,有a*a=e,则〈A,*〉【B】A.是群但不是Abel群.B.是Abel群.C.不是群.D.不是代数系统.4.树T中有3个3度顶点,2个2度顶点,其余顶点都是树叶,则T中树叶片数为【C】A.1 B.4C.5 D.65.对完全二部图K r,s,当【A】时,K r,s为哈密尔顿图.A.r=s.B.r≠s.C.r<s.D.r>s.三、计算与简答题(每小题10分,共40分)1.利用等值演算法求公式⌝(r→p)∨(q∧(p∨r))的主析取范式,并给出其成真赋值.⌝(r→p)∨(q∧(p∨r))⇔⌝(⌝r∨p)∨(q∧p)∨(q∧r)⇔(⌝p∧r)∨(p∧q)∨(q∧r)⇔((⌝p∧r)∧(⌝q∨q))∨((p∧q)∧(⌝r∨r))∨((q∧r)∧(⌝p∨p))⇔(⌝p∧⌝q∧r)∨(⌝p∧q∧r)∨(p∧q∧⌝r)∨(p∧q∧r)⇔m1∨m3∨m6∨m7此为公式的主析取范式.公式的成真赋值为001、011、110和111.2.设S45表示45的全体正因子(包括1和45)组成的集合,在S45上定义整除关系≤:m≤n⇔m|n.(1)画出偏序集〈S45,≤〉的哈斯图.哈尔滨工程大学试卷考试科目:离散数学C(051121,051131-32)1 / 3(2) 求出〈S 45,≤〉中最大元、最小元和所有可逆元的逆元. (3) 〈S 45,≤〉是否构成格?简要说明理由. (1)S 45={1,3,5,9,15,45}.(2)〈S 45,≤〉中最大元、最小元分别为1和45;元素1和45互为逆元,5和9互为逆元,元素3和15无逆元. (3)〈S 45,≤〉构成格,因为S 45中任意两个元素均有最小上界和最大下界.3. 求模15加群G =〈Z 15,⊕〉的所有生成元与所有子群.G =〈Z 15,⊕〉的所有生成元为与15互质的整数有:1,2,4,7,8,11,13,14,它们就是群的生成元.15的所有正因子为1,3,5,15,因此Z 15=〈1〉有4个循环子群, 分别为〈115/1〉=〈115〉=〈15〉=〈0〉={0}, 〈115/3〉=〈15〉=〈5〉={0,5,10},〈115/5〉=〈13〉=〈3〉={0,3,6,9,12}, 〈115/15〉=〈1〉=G .4. 设集合A={a ,b ,c ,d }上的二元关系R={〈a ,b 〉,〈b ,a 〉,〈b ,c 〉,〈c ,b 〉},求R 的自反闭包r (R )和对称闭包s (R ).r (R )=I A ⋃R ={〈a ,a 〉,〈a ,b 〉,〈b ,a 〉,〈b ,b 〉,〈b ,c 〉,〈c ,b 〉,〈c ,c 〉,〈d ,d 〉}.s (R )=R ⋃R -1=R ={〈a ,b 〉,〈b ,a 〉,〈b ,c 〉,〈c ,b 〉}.5. 设有向图D 如图,求D 中长度为3的通路数, 并指出其中的回路数.有向图D 的邻接矩阵为⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=0011100001010111A ,由于 ⎪⎪⎪⎪⎪⎭⎫⎝⎛=02120011*********A ,⎪⎪⎪⎪⎪⎭⎫⎝⎛=23230212122323343A 因此,D 中长度为3的通路数为矩阵A 3中所有元素之和,为12+8+5+10=35;其中回路数为4+2+2+2=10.四、 证明题(每小题10分,共20分)1. 在一阶逻辑中构造下面推理的证明:前提:∀x (H (x )∧D (x )→⌝S (x )),∀x (H (x )→(S (x )∨F (x ))),∃x (H (x )∧⌝F (x )) 结论:∃x (H (x )∧⌝D (x )).(1) ∃x (H (x )∧⌝F (x )) 前提引入159 353(2)H(a)∧⌝F(a))EI规则(3)H(a)(2)化简(4)⌝F(a) (2)化简(5)∀x(H(x)→(S(x)∨F(x))) 前提引入(6)H(a)→(S(a)∨F(a)),UI规则(7)S(a)∨F(a)(3)(6)假言推理(8)S(a)(4)(7)析取三段论(9)∀x(H(x)∧D(x)→⌝S(x)) 前提引入(10)H(a)∧D(a)→⌝S(a) UI规则(11)⌝(H(a)∧D(a)) (8)(10)拒取式(12)⌝H(a)∨⌝D(a) (11)置换(13)⌝D(a) (3)(12) 析取三段论(14)H(a)∧⌝D(a) (3)(13)合取(15)∃x(H(x)∧⌝D(x)) EG规则2.设〈G,*〉是一个群,令C={a∈G|∀x∈G,a*x=x*a}证明:〈C,*〉是〈G,*〉的子群.对∀x∈G,e*x=x*e故e∈C,即C非空.∀a,b∈C,(a*b-1)*x=a*(b-1*x)=a*(x-1*b)-1=a*(b*x-1)-1=a*(x*b-1)=(a*x)*b-1=(x*a)*b-1 =x*(a*b-1).故a*b-1∈C,由子群判断定理知〈C,*〉是〈G,*〉的子群.五、应用题(10分)今有20人参加一个小型会议.这20人中每人至少与其中10人(不包括自己)认识,能否将这20人安排在一个圆桌上,使得每个人都和他身边的人认识,为什么?请说明理由.将每个人看作是一个图的顶点,如果两个人认识,则将这两个顶点连接起来,从而构成一个有20个顶点的简单连通图.由于每人至少与其中10人认识,这样,每个顶点的度数至少是10.因此,任意不相邻顶点的度数之和至少是20.根据哈密尔顿图的充分条件,该图是一个哈密尔顿图,从而有哈密尔顿图回路.按照该回路上顶点的排列顺序安排这20个人即可.3 / 3。
01.从键盘输入一个字符,如果是字母,就输出其对应的ASCII 码;如果是数字字符,就转换成对应整数并输出。
02.从键盘输入一个数,判断其是否能同时被3和5整除。
如果是,输出Yes ,否则输出No 。
03.从键盘输入一个4位正整数,求其各位数字之积,并输出。
例如:若输入2523,则输出应该是60。
01.根据以下函数关系编写一个程序,对输入的每个x 值,计算出y 的值并输出。
02.从键盘输入一个数,判断其是否是5的倍数而不是7的倍数。
如果是,输出Yes ,否则输出No 。
03.从键盘输入一个五位整数,判断它是不是对称数,并输出判断结果。
如43234就是对称数。
01.编一个C 程序,从键盘上输入一个字符:若该字符是数字字符,则把它转换为对应的整数并输出;若该字符是大写字母,则转换成小写并输出;若该字符是小写字母,则转换为大写并输出;若该字符是其他字符,则不进行任何操作。
02.输入三个整数,按从大到小的顺序输出。
03.给出一个百分制的成绩,要求输出成绩等级“A”、“B”,“C”,“D”,“E”。
90分以上的为:“A”级,80~89分的为“B”,70~79分的为“C”,60~69分的为“D”,60分以下的为“E”。
01.有一分段函数:1(x <-1)y =2x +9(-1≤x ≤1)5x -3(x >1)从键盘输入x 的值,输出y 的值。
02.编写一个C 语言程序,要求从键盘输入三个整数,并根据对三个数的比较显示如下信息:①如果三个数都不相等则显示0;②如果三个数中有二个数相等则显示1;③如果三个数都相等,则显示2x+10(-10<x<0)y =2x (0<=x<10)x 2(x>=10)03.从键盘输入一个数,判断它是否同时能被5和7整除,如果能输出“YES”,否则输出“NO”。
01.输入三角形三边长,判定是否能够组成三角形,并输出判定结果。
能够组成三角形的条件是:任意两边之和大于第三边(三种情况)02.从键盘输入一个四位正整数,输出其逆序数,并判断是否是对称数,如果是输出“YES”,否则输出“NO”。
c语言上机考试题及答案1. 编写一个C程序,实现求两个整数的和,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```2. 编写一个C程序,实现从键盘输入一个整数,判断该数是否为质数,并输出结果。
```c#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个整数:");scanf("%d", &num);for (i = 2; i <= num / 2; i++) {if (num % i == 0) {flag = 1;break;}}if (num == 1) {printf("1既不是质数也不是合数。
\n"); } else {if (flag == 0) {printf("%d是质数。
\n", num);} else {printf("%d不是质数。
\n", num);}}return 0;}```3. 编写一个C程序,实现对数组元素进行冒泡排序,并输出排序后的结果。
```c#include <stdio.h>void bubbleSort(int arr[], int size) {int i, j, temp;for (i = 0; i < size - 1; i++) {for (j = 0; j < size - i - 1; j++) {if (arr[j] > arr[j+1]) {temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}}int main() {int arr[] = {5, 2, 8, 3, 1};int size = sizeof(arr) / sizeof(arr[0]);int i;printf("排序前的数组:");for (i = 0; i < size; i++) {printf("%d ", arr[i]);}bubbleSort(arr, size);printf("\n排序后的数组:");for (i = 0; i < size; i++) {printf("%d ", arr[i]);}return 0;}```4. 编写一个C程序,实现计算给定数的阶乘,并输出结果。
第一次上机作业(2021):要求:独立完成,上机调试通事后上交作业提交邮件主题命名:班级学号姓名(第1次作业),例如:电1301班2王鹏(第1次作业)以附件形式将每次作业的所有程序源程序紧缩打包后提交,紧缩文件命名格式同上。
程序必需采用缩进格式1.大写字母转换成小写字母从键盘输入一个大写英文字母,输出相应的小写字母。
例:输入G输出g2.求平方根输入一个实数x,计算并输出其平方根(保留1 位小数)。
例:输入17输出The square root of is3.温度转换设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32)a)输入华氏温度(实型)b)输出的摄氏温度结果保留两位小数例:Please input Fahrenheit temperature:The corresponding Celsius temperature is4. 计算旅途时刻输入二个整数time1 和time2,表示火车的起身时刻和抵达时刻,计算并输出旅途时刻。
(输入的有效的时刻范围是0000 到2359,不需要考虑起身时刻晚于抵达时刻的情形。
)例:输入712 1411 (起身时刻是7:12,抵达时刻是14:11)输出The train journey time is 6 hours 59 minutes.5. 数字加密输入一个四位数,将其加密后输出。
方式是将该数每一名上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。
例:输入1257输出The encrypted number is 4601试探题:你可否编程找出谁做的好事?有四位同窗中的一名做了好事,不留名,夸奖信来了以后,校长问这四位是谁做的好事。
⏹A说:不是我。
⏹B说:是C。
⏹C说:是D。
⏹D说:他乱说。
已知三个人说的是实话,一个人说的是谎话。
此刻要依照这些信息,找出做了好事的人。
C 语言上机考试题20套(试题)C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。
试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。
C 语言上机考试题(第二套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S 例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。
试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){…………}main() /*主函数 */{ clrscr();printf(″%f\n″, fun(10));}2.回文数是指正读和反读都一样的自然数。
例如,8, 121, 5445这三个数都是回文数。
求:(1) [1,1000]之内既是回文数,又是素数的最大整数。
(2) [1,1000]以内既是回文数,又是素数的整数有多少个。
3. 编写程序,能对输入一行字符,统计其中分别有多少个单词和空格。
上机试题(一)1 已知A,B为正整数, A<B, A*B=716699且要求A+B取最小值,求满足上述条件的A值。
答案:5632 编写程序,求三位数的偶数中,所有各位数字之和是15的倍数的数的和。
答案:20454………………………………………………………………………………………………上机试题(二)1 编写程序,求三位数的奇数中,所有各位数字之和是12的倍数的数的和。
答案:202922 把一张一元钞票,换成一分、二分和五分硬币,每种至少5枚,问有多少种方案?答案:205……………………………………………………………………………………………上机试题(三)1 编写程序,求在四位数的奇数中,所有各位数字之和是25的倍数的数的和。
答案:12985152 已知Fibonacci数列:1,1,2,3,5,8,……,它可由下面公式表述:F(1)=1 if n=1F(2)=1 if n=2F(n)=F(n-1)+F(n-2) if n>2试求F(1)+F(3)+F(5)+……+F(49)值。
提示:最好使用递推法求解,因为使用递归调用很可能超出某些语言的递归深度。
答案:12586269025…………………………………………………………………………………………………上机试题(四)1设有6个十进制数字a,b,c,d, e,f ,求满足abcdf×e=fdcba条件的五位数abcdf(a≠0,e≠0,e≠1)的个数。
答案:162一个数如果刚好与它所有的因子之和相等,则称该数为一个"完数",如:6=1+2+3,则6就是一个完数。
求出200到500之间所有的完数之和。
答案:496…………………………………………………………………………………………………上机试题(五)1 一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。
c语言20题上机题目1.计算球体积Problem Description根据输入的半径值,计算球的体积。
Input输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input1 1.5Sample Output4.189 14.1372.成绩转换Problem Description输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。
Output对于每组输入数据,输出一行。
如果输入数据不在0~100范围内,请输出一行:“Score is error!”。
Sample Input56 67 100 123Sample OutputE D A Score is error!3.第几天?Problem Description给定一个日期,输出这个日期是该年的第几天。
Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input1985/1/20 2006/3/12Sample Output20 714.求奇数的乘积Problem Description给你n个整数,求他们中所有奇数的乘积。
Input输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
Output输出每组数中的所有奇数的乘积,对于测试实例,输出一行。
Sample Input3 1 2 34 2 3 4 5Sample Output3 155.平方和与立方和Problem Description给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
C语言上机题目珍藏版一、题目描述:计算斐波那契数列请编写一个C语言程序,输入一个正整数n,计算并输出n项斐波那契数列。
二、题目描述:判断素数请编写一个C语言程序,输入一个正整数n,判断n是否为素数,并输出结果。
三、题目描述:矩阵转置请编写一个C语言程序,输入一个3x3的矩阵,将其转置后输出。
四、题目描述:查找数组中的最大值和最小值请编写一个C语言程序,输入一个整数数组,查找数组中的最大值和最小值,并输出结果。
五、题目描述:字符串逆序输出请编写一个C语言程序,输入一个字符串,将其逆序输出。
六、题目描述:判断回文数请编写一个C语言程序,输入一个正整数n,判断n是否为回文数,并输出结果。
七、题目描述:字符串拼接请编写一个C语言程序,输入两个字符串,实现字符串的拼接,并输出结果。
八、题目描述:冒泡排序请编写一个C语言程序,输入一个整数数组,使用冒泡排序算法将其排序,并输出结果。
九、题目描述:计算圆的面积和周长请编写一个C语言程序,输入圆的半径r,计算并输出圆的面积和周长。
十、题目描述:计算阶乘请编写一个C语言程序,输入一个正整数n,计算并输出n的阶乘。
十一、题目描述:猴子吃桃问题一只猴子第一天摘下若干个桃子,当即吃掉一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天都吃前一天剩下的一半零一个。
到第n天早上想再吃时,见只剩下一个桃子了。
请编写一个C语言程序,输入天数n,计算并输出第一天的桃子数量。
以上是C语言上机题目珍藏版,供大家参考和练习。
希望能够帮助大家提升编程能力。
编写C语言程序时,注意合理使用语法和算法,确保程序的正确性和效率。
加油!。
C语言上机考试编程题以及答案1、求1+2+3+……….+100。
(循环)答案#include<stdio.h>void main(){int i,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("%d",sum);}2、求1*2*3*……….*10。
(循环)答案void main(){int i=0,j=1;for (i=2;i<=10;i++){j*=i;}printf("%d",j);return 0;}3、输入三个数字,输出他们的最大值。
(if)答案#include<stdio.h>void main(){int a,b,c,d;scanf("%d,%d,%d",&a,&b,&c);d=max(a,b,c);printf("max=%d",d);getch();/*暂停看运行结果*/}int max(int x,int y,int z){int u;if(x>=y&&x>=z)u=x;else if(y>=x&&y>=z)u=y;elseu=z;return(u);4.用起泡法对十个数据排序(数组实现)答案#include<stdio.h>main ( ){ int i,j,t;static int a[10]={5,7,4,2,3,6,1,0,9,8};for(j=0;j<9;j++){ for(i=0;i<9-j;i++){ if(a>a){ t=a;a=a;a=t ;}}}for(i=0;i<10;i++)printf("%2d",a);}5、输入十个数字,逆序输出。
(数组实现)答案#include<stdio.h>main(){int a[10],i=0;for(i=0;i<=9;i++)scanf("%f",&a);printf("\n");for(i=9;i>=0;i--)printf("%f",a);}6输入两个数,交换他们的值并输出。
C语⾔学习知识上机实验例题实验⼀ C语⾔的运⾏环境、运⾏过程和表达式的使⽤⼀、⽬的与要求1、了解Dos、Windows环境下C语⾔的运⾏环境,了解所⽤的计算机系统的基本操作⽅法,学会独⽴使⽤该系统。
2、了解在该系统上如何编辑、编译、连接和运⾏⼀个C程序。
3、通过运⾏简单的C程序,初步了解C源程序的特点。
4、掌握C语⾔数据类型,熟悉如何定义⼀个整型、字符型、实型变量,以及对它们赋值的⽅法,了解以上类型数据输出时所⽤的格式转换符。
5、学会使⽤C的有关算术运算符,以及包含这些运算符的表达式⼆、实验例题【例1】编程实现在屏幕上显⽰如下三⾏⽂字Hello, world !Wolcome to the C language world!Everyone has been waiting for.在Turbo C的集成环境下,键⼊如下源⽂件。
敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认noname.c⽂件名改为任意⽂件名。
程序example.c如下:main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}然后⽤Ctrl+F9执⾏example.c,⽤Alt+F5查看结果,即在屏幕上显⽰题⽬要求的三⾏⽂字。
按回车键重新返回Turbo C的编辑环境。
注意,在运⾏程序之前最好先存盘。
【例2】输⼊并运⾏程序,写出运⾏结果。
main(){int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);}运⾏⽅法同上,最后结果为:sum is 579。
【例3】输⼊并运⾏程序,写出运⾏结果。
《C语言》上机实验题及参考答案2017《C语言》上机实验题及参考答案为了帮助大家备考接下来的计算机二级考试,应届毕业生店铺整理了2017《C语言》上机实验题及参考答案,希望能帮助大家备考计算机二级考试。
1、编程实现对键盘输入的英文名句子进行加密。
用加密方法为,当内容为英文字母时其在26字母中的其后三个字母代替该字母,若为其它字符时不变:2、编程实现将任意的十进制整数转换成R进制数(R在2-16之间)。
3、从键盘输入一指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、1角、5分、1分各多少张。
4、随机产生20个[10,50]的正整数存放到数组中,并求数组中的所有元素最大值、最小值、平均值及各元素之和。
5、编程在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同单词。
6、模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A、B、C、D表示,当选某候选人时直接输入其编号(编号由计算机随机产生),若输入的不是A、B、C、D则视为无效票,选举结束后按得票数从高到低输出候选人编号和所得票数。
7、任何一个自然数m的立方均可写成m个连续奇数之和。
例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19编程实现:输入一自然数n,求组成n3的n个连续奇数。
8、已知abc+cba=1333,其中a,b,c均为一位数,编程求出满足条件的a,b,c所有组合。
9、编制一个完成两个数的四则运算程序。
如:用户输入34+56则输出结果90.00。
要求运算结果保留两位小数,用户输入时一次将两个数和*作符输入。
10、输入一个五位以内的正整数,(1)判断它是一个几位数;(2)请按序输出其各位数字;(3)逆序输出其各位数字。
如输入:56439,输出:5位数5,6,4,3,99,3,4,6,511、编写子函数:(1)用冒泡法将一个数组排成升序的函数---SUB1;(2)在升序数组中插入一个数,并且保持该数组仍为升序数组的函数---SUB2。
c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门非常重要的编程语言。
它的简洁性和高效性使得它成为了许多程序员的首选。
而在学习C语言的过程中,上机考试是不可或缺的一环。
本文将为大家提供一些常见的C语言上机考试试题,帮助大家更好地准备考试。
一、基础知识题1. 请简述C语言的特点和优势。
2. 什么是变量?请举例说明。
3. 请解释C语言中的数据类型,并列举一些常见的数据类型。
4. 请解释C语言中的运算符,并列举一些常用的运算符。
5. 请解释C语言中的控制语句,并列举一些常见的控制语句。
二、编程题1. 编写一个程序,要求用户输入两个整数,然后输出它们的和、差、积和商。
2. 编写一个程序,要求用户输入一个正整数N,然后计算并输出1到N的所有正整数的和。
3. 编写一个程序,要求用户输入一个字符串,然后判断该字符串是否是回文字符串(即正向和反向读都相同)。
4. 编写一个程序,要求用户输入一个正整数N,然后输出N的所有因子。
5. 编写一个程序,要求用户输入一个字符串,然后统计并输出该字符串中的字母、数字和其他字符的个数。
三、综合题1. 编写一个程序,要求用户输入一个正整数N,然后输出N的阶乘。
2. 编写一个程序,要求用户输入一个正整数N,然后判断该数是否为素数。
3. 编写一个程序,要求用户输入一个正整数N,然后输出N个斐波那契数列的元素。
4. 编写一个程序,要求用户输入一个字符串,然后将字符串中的所有小写字母转换为大写字母,并输出转换后的字符串。
5. 编写一个程序,要求用户输入一个正整数N,然后输出一个N行的等腰三角形。
通过以上的试题,我们可以看到,C语言上机考试试题涵盖了C语言的基础知识、编程技巧和综合应用。
在备考过程中,我们需要掌握C语言的特点和优势,了解各种数据类型和运算符的使用方法,熟练掌握控制语句的应用,同时还需要有一定的编程能力和逻辑思维能力。
在解答试题时,我们需要仔细阅读题目要求,理清思路,合理设计程序结构,注意变量命名规范,避免出现语法错误和逻辑错误。
C语言程序设计上机习题与参考答案1、给出三角形的三边a、b、c,求三角形的面积(应先判断a、b、c三边是否能构成一个三角形)。
2、某幼儿园只收2~6岁的小孩,2~3岁编入小班,4岁编入中班,5~6岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。
3、编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:(1)能同时被3、5、7整;(2)能同时被3、5、7中的两个数整除,并输出这两个数;(3)只能被3、5、7中的一个数整除;(4)不能被3、5、7中的任何一个数整除。
4、请列出所有的个位数是6,且能被3整除的两位数。
5、求1~500中能被5整除的数的倒数之和。
6、编写程序,输入某门功课的若干个同学的成绩,以-1作为终值,计算平均成绩并输出。
7、若口袋里放入12个球,3个红球,3个白的,6个黑的,从中任取8个,编写程序,列出所有可能的取法。
8、编写一个程序,求2022!的末尾有多少个0?9、一个自然数平方的末几位与该数相同时,称该数为同构数。
例如:252=625,则25为同构数。
编程求出1~1000中的同构数。
10、输入一个较大的整数,求小于该整数的最大5个素数。
n11、求下列数列的近似值:S=1-1/22+1/33-1/44+(-1)/nn.输入精度,当某一项的精度小于该值时停止计算。
floatfun(floatep){}voidmain(){floatep;canf(“%f”,&ep);printf(“%f\n”,fun(ep));}12、编写一个函数change(int某,intr),将十进制整数某转换成r(1<r<10)进制后输出。
13、求1000以内的亲密数对。
亲密数对的定义为:若整数a的所有因子(不包括本身)之和为b,b的所有因子(不包括b本身)之和为a,且a和b不相等,则称a与b为亲密数对。
intfun(int某){}voidmain(){intn,a,b;for(n=1;n<1000;n++){b=fun(n);a=fun(b)if(a!=b&&a==n)printf(“\n%d,%d\n”,a,b);}}14、用递归法求下列问题的解:一对小兔,一个月后长成中兔,第二个月长成大兔,长成大兔,长成大兔后以后每个月生一对小兔。
(完整版)C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。
# includevoid main(){int x,y,z,a;scanf ("%d,%d,%d",&x,&y,&z);if(x>y) {a=x; x=y;y=a;}if(x>z) { a=x; x=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",x,y,z);}2输入圆的半径,输出圆的周长和面积。
# include# define PI 3.1415926# define S ==PI*r*r# define V (4.0/3)*PI*r*r*rvoid main(){double r;printf("please input r:");scanf("%lf",&r);printf("area is %.4lf\n",S);printf("volume is %.4lf\n",V);}输入正方形的边长,输出正方形的周长和面积。
# includevoid main(){float c,zc,mj;printf("输入你的正方形");scanf("%f\n",&c);zc=4*c;mj=c*c;printf("周长%f,面积%f,边长%f",zc,mj,c);}3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。
# includeint main(){char-ch1,ch2,ch3;printf("please input three characters:\n");scanf("%C%C%c",&ch1,&ch2,&ch3);printf("%c\n%d\n",ch3,ch3);printf("%c\n%d\n",ch2,ch2);printf("%c\n%d\n",ch1,ch1);}输入一个摄氏温度,要求输出华氏温度。