程序设计与算法语言上机试题abc

合集下载

计算机应用技术等级证书程序设计与算法考试 选择题 60题

计算机应用技术等级证书程序设计与算法考试 选择题 60题

1. 以下哪种数据结构最适合用于实现优先队列?A. 数组B. 链表C. 堆D. 栈2. 在C语言中,以下哪个关键字用于定义常量?A. constB. staticC. volatileD. extern3. 下列哪个排序算法在最坏情况下的时间复杂度为O(n^2)?A. 快速排序B. 归并排序C. 堆排序D. 插入排序4. 以下哪种算法用于解决图的最短路径问题?A. Dijkstra算法B. Kruskal算法C. Prim算法D. 深度优先搜索5. 在Python中,以下哪个语句用于导入模块?A. importB. includeC. requireD. using6. 以下哪个数据结构不是线性数据结构?A. 数组B. 链表C. 树D. 栈7. 在Java中,以下哪个关键字用于实现多态?A. abstractB. finalC. overrideD. interface8. 下列哪个算法用于解决0/1背包问题?A. 贪心算法B. 动态规划C. 回溯算法9. 在SQL中,以下哪个语句用于从表中删除数据?A. DELETEB. DROPC. TRUNCATED. REMOVE10. 以下哪个不是面向对象编程的三大特性之一?A. 封装B. 继承C. 多态D. 抽象11. 在C++中,以下哪个关键字用于定义类?A. classB. structC. typedefD. enum12. 下列哪个算法用于解决最长公共子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法13. 在JavaScript中,以下哪个方法用于将字符串转换为整数?A. parseIntB. parseFloatC. toStringD. toFixed14. 以下哪个数据结构最适合用于实现LRU缓存?A. 数组B. 链表C. 哈希表D. 双向链表15. 在Python中,以下哪个语句用于定义函数?A. defB. functionC. procedureD. method16. 下列哪个算法用于解决最大子数组问题?A. 贪心算法B. 动态规划D. 分治算法17. 在SQL中,以下哪个语句用于创建表?A. CREATEB. INSERTC. UPDATED. DELETE18. 以下哪个不是数据库的三大范式之一?A. 第一范式B. 第二范式C. 第三范式D. 第四范式19. 在Java中,以下哪个关键字用于定义接口?A. classB. interfaceC. abstractD. final20. 下列哪个算法用于解决最小生成树问题?A. Dijkstra算法B. Kruskal算法C. Prim算法D. 深度优先搜索21. 在C语言中,以下哪个关键字用于定义指针?A. pointerB. refC. *D. &22. 下列哪个算法用于解决最长递增子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法23. 在Python中,以下哪个语句用于定义类?A. classB. structC. typedefD. enum24. 以下哪个数据结构不是树形结构?A. 二叉树C. 图D. 堆25. 在Java中,以下哪个关键字用于定义枚举?A. enumB. classC. interfaceD. abstract26. 下列哪个算法用于解决最长公共前缀问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法27. 在SQL中,以下哪个语句用于更新表中的数据?A. UPDATEB. INSERTC. DELETED. SELECT28. 以下哪个不是操作系统的主要功能之一?A. 进程管理B. 内存管理C. 文件管理D. 网络管理29. 在C++中,以下哪个关键字用于定义常量?A. constB. staticC. volatileD. extern30. 下列哪个算法用于解决最长回文子串问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法31. 在Python中,以下哪个语句用于定义列表?A. listB. arrayC. tupleD. set32. 以下哪个数据结构最适合用于实现栈?B. 链表C. 堆D. 队列33. 在Java中,以下哪个关键字用于定义抽象类?A. abstractB. finalC. overrideD. interface34. 下列哪个算法用于解决最长公共子串问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法35. 在SQL中,以下哪个语句用于查询表中的数据?A. SELECTB. INSERTC. UPDATED. DELETE36. 以下哪个不是计算机网络的七层模型之一?A. 物理层B. 数据链路层C. 传输层D. 应用层37. 在C语言中,以下哪个关键字用于定义结构体?A. structB. classC. typedefD. enum38. 下列哪个算法用于解决最长公共子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法39. 在Python中,以下哪个语句用于定义字典?A. dictB. listC. tupleD. set40. 以下哪个数据结构最适合用于实现队列?A. 数组B. 链表C. 堆D. 栈41. 在Java中,以下哪个关键字用于定义最终类?A. finalB. abstractC. overrideD. interface42. 下列哪个算法用于解决最长递增子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法43. 在SQL中,以下哪个语句用于删除表?A. DROPB. DELETEC. TRUNCATED. REMOVE44. 以下哪个不是数据库的事务特性之一?A. 原子性B. 一致性C. 隔离性D. 持久性45. 在C++中,以下哪个关键字用于定义引用?A. refB. *C. &D. pointer46. 下列哪个算法用于解决最长回文子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法47. 在Python中,以下哪个语句用于定义元组?A. tupleB. listC. arrayD. set48. 以下哪个数据结构最适合用于实现哈希表?A. 数组B. 链表C. 堆D. 树49. 在Java中,以下哪个关键字用于定义静态方法?A. staticB. finalC. abstractD. override50. 下列哪个算法用于解决最长公共子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法51. 在SQL中,以下哪个语句用于插入数据到表中?A. INSERTB. UPDATEC. DELETED. SELECT52. 以下哪个不是计算机网络的五层模型之一?A. 物理层B. 数据链路层C. 网络层D. 会话层53. 在C语言中,以下哪个关键字用于定义联合体?A. unionB. structC. typedefD. enum54. 下列哪个算法用于解决最长公共子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法55. 在Python中,以下哪个语句用于定义集合?A. setB. listC. tupleD. dict56. 以下哪个数据结构最适合用于实现堆?A. 数组B. 链表C. 树D. 栈57. 在Java中,以下哪个关键字用于定义静态变量?A. staticB. finalC. abstractD. override58. 下列哪个算法用于解决最长公共子序列问题?A. 贪心算法B. 动态规划C. 回溯算法D. 分治算法59. 在SQL中,以下哪个语句用于查询表中的数据?A. SELECTB. INSERTC. UPDATED. DELETE60. 以下哪个不是计算机网络的七层模型之一?A. 物理层B. 数据链路层C. 传输层D. 应用层答案1. C2. A3. D4. A5. A6. C7. D8. B9. A10. D11. A12. B13. A14. D15. A16. B17. A18. D19. B20. B21. C22. B23. A24. C25. A26. D27. A28. D29. A30. B31. A32. A33. A34. B35. A36. D37. A38. B39. A40. B41. A42. B43. A44. D45. C46. B47. A48. A49. A50. B51. A52. D53. A54. B55. A56. A57. A58. B59. A60. D。

C语言程序设计上机考试试题和参考答案

C语言程序设计上机考试试题和参考答案
char str1[80], str2[80]; int m, n;
printf("Input str1:\n"); gets(str1); //1
printf("Input m and n:\n"); scanf("%d%d", &m, &n); //1
mystrcpy(str1, str2, m, n); //2 puts(str2); }
1、请按行读入数据 2、请按给定的函数原型编写程序,否则即使程序运行结果正确,也不给分。 参考答案
#include<stdio.h>
void Input(int a[][10], int n);
int Compute(int a[][10], int n);
main()
{
int n, a[10][10]; int sum;
//2
{
int i, flag = 0, sum = 0; //1
for (i = 1; i <= n / 2; i++) //1
{
if (n % i == 0)
//1
{
sum = sum + i; //1
}
}
if (sum == n)
//1
{
flag = 1;
}
return flag;
//1
} 3.(15 分)请按给定要求编程计算方阵的主对角线之和。其中方阵的输入请在 Input 函数实现,计算主对角之和请在 Compute 函数实现,计算结果请在主函数打印, 且给定的方阵最大为 10x10,方阵实际大小请在主函数读入。Input 函数和 Compute 函数的函数原型如下:

C语言上机程序设计题库及答案

C语言上机程序设计题库及答案

C语言上机程序设计题库【程序设计】功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。

【参考代码】double y=0;y=sin(m)*10;return(y);功能:若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。

【参考代码】int i,s=0;for(i=x;i<=y;i+=2)s=s+i;return s;功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)【参考代码】int i,j,t;for(i=0; i < 3; i++)for(j=0; j < i; j++){ t=array[i][j];array[i][j]=array[j][i];array[j][i]=t; }功能:求一个四位数的各位数字的立方和。

【参考代码】int d,s=0;while (n>0){d=n%10;s+=d*d*d;n/=10;}return s;功能:请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

二维数组中的数已在主函数中赋予。

【参考代码】int i,j;for(j=0;j<N;j++){pp[j]=tt[0][j];for(i=1;i<M;i++)if(tt[i][j]<pp[j])pp[j]=tt[i][j];}功能:求一组数中大于平均值的数的个数。

【参考代码】int i,k=0;float s=0,ave;for(i=0;i<n;i++)s+=a[i];ave=s/n;printf("%f ",ave);for(i=0;i<n;i++)if(a[i]>ave)k++;return k;题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于80)。

c语言上机考试试题

c语言上机考试试题

c语言上机考试试题C语言上机考试试题在计算机科学领域中,C语言是一门重要的编程语言,广泛应用于软件开发、系统编程等方面。

作为计算机专业的学生,掌握C语言的基本知识和编程技巧是必不可少的。

为了检验学生对C语言的掌握程度,许多学校和培训机构会安排C语言上机考试。

下面,我们来看一些典型的C语言上机考试试题。

1. 编写一个程序,从键盘输入一个整数n,计算并输出1到n的累加和。

这道题考察了学生对循环结构的理解和运用。

学生需要使用循环语句(如for、while等)来实现累加的功能,并且注意输入的合法性。

2. 编写一个程序,从键盘输入一个字符串,统计并输出其中的字母、数字和其他字符的个数。

这道题考察了学生对字符串处理的能力。

学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的类型进行计数。

3. 编写一个程序,从键盘输入一个正整数n,判断并输出n是否为素数。

这道题考察了学生对素数判断的理解和实现。

学生需要使用循环语句和条件判断语句来判断n是否能被2到sqrt(n)之间的任意整数整除。

4. 编写一个程序,从键盘输入一个正整数n,计算并输出n的阶乘。

这道题考察了学生对递归的理解和应用。

学生可以使用递归函数来实现阶乘的计算,也可以使用循环语句来实现。

5. 编写一个程序,从键盘输入一个字符串,将其中的大写字母转换为小写字母,并输出转换后的字符串。

这道题考察了学生对字符处理的能力。

学生需要使用字符数组和循环语句来逐个判断输入字符串中的字符,并根据字符的ASCII码进行转换。

6. 编写一个程序,从键盘输入一个字符串,判断并输出该字符串是否为回文字符串。

这道题考察了学生对字符串处理和回文判断的能力。

学生需要使用字符数组和循环语句来逐个比较输入字符串中的字符,并判断是否为回文字符串。

通过上述的典型试题,我们可以看到C语言上机考试主要考察学生对基本语法、流程控制、数组和字符串处理等方面的掌握程度。

在解答这些试题时,学生需要注重代码的逻辑性、清晰性和效率性,避免出现死循环、数组越界等常见错误。

【VIP专享】C语言程序设计基础上机考试一题目及参考答案

【VIP专享】C语言程序设计基础上机考试一题目及参考答案
输出插入后的字符串。 7. 在三位整数中寻找符合条件的整数,并依次有大到小存入数组,并输出,它
既是完全平方数,又是两位数字相同。 8. 判断一个整数是否是回文数。所谓的回文数是指高位到地位与从低位到高位
读取该数,得到的数是相同的数据。例如:1221,121 是回文数。 9. 找出 200 以内所有的完数,并输出其因子。一个数若恰好等于它的各因子之
基本要求:
1)所有程序不能使用外部变量
2)子函数中不能出现数据ห้องสมุดไป่ตู้输入输出语句
C 程序设计基础上机考试一
3)每个程序至少包含两个函数定义(包括主函数)
1.输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。
#include "stdio.h" #include "string.h" void main() {
1. 输入一串可能包含空格的字符串,计算该字符串中数字(整数)的个数。 2. 删除字符串中的数字字符 3. 计算并输出 high 以内最大的 10 个素数之和。 4. A,B 是两个整数集合,将 A 中和 B 相同的数据删除,并输出删除后的集合。
5. 计算字符串 s 中含有字符串 t 的数目, 并输出。 6. 编程实现:在已排好序的字符串中插入一个新的字符串,使插入后仍然有序,
1.输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。 2.输入一个字符串,对字符串相同的字符只保留一个(首次出现的字符)。 3.找出一个大于给定整数 m 且紧随 m 的素数。 4.统计老年人各年龄段(每 10 岁为一个年龄段)的人数并存到 b 数组中,n 个 人员的年龄放在 a 数组中。 5.计算并输出 k 以内最大的 10 个能被 13 或 17 整除的自然数之和。 6.读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然后输出此 文本行(这里的“单词”是指由空格隔开的字符串)。 7.求 A、B 两个整数数组数据的交集,并输出交集的数据。 8.输入若干个整数,且每个数均在 1000 至 9999 之间,按照每个数的后三位进 行升序排序,若后三位相等,则按照原数据升序排序。 9.将字符串 s 所有的子串 t 用“copy”替换,并输出替换后的字符串。 10.判断一个整数是否是回文数。所谓的回文数是指高位到地位与从低位到高 位读取该数,得到的数是相同的数据。例如:1221,121 是回文数。

C语言程序设计题上机考试

C语言程序设计题上机考试

1 打印99乘法表main(){int i,j,result;printf("\n");for (i=1;i<10;i++) {for(j=1;j<10;j++) {result=i*j;printf("%d*%d=%-5d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}}2 实现计算字符串长度函数。

main() {int len;char *str[20];printf("please input a string:\n");scanf("%s",str);len=length(str);printf("the string has %d characters.",len);}length(char *p){int n=0;while(*p!='\0') {n++;p++;}return n;}3 实现字符串小写字母变成大写字母输出。

void fun(char *c){ while(*c){ if(*c>='a'&&*c<='z')*c=*c-'a'+'A';c++;}}main(){char s[81];gets(s); fun(s); puts(s):}4 实现字符串拷贝函数。

void copy_string(char *from, char *to){while((*to=*from)!=’\0’){to++;from++;}}void main(){char *a="I am a teacher.";char b[]="You are a student.";printf("string a=%s\nstring b=%s\n",a,b);printf("copy string a to string b:\n ");copy_string(a,b);printf("\nstring a=%s\nstring b=%s\n",a,b);}5 实现费波纳茨数列。

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_上机面试题目(3篇)

c_上机面试题目(3篇)

第1篇一、题目背景C语言作为一种经典的编程语言,广泛应用于系统软件、嵌入式系统、游戏开发等领域。

为了考察应聘者对C语言的掌握程度,以下列出了一份C上机面试题目,涵盖了C语言的基本语法、数据结构、算法和编程实践等方面。

二、题目内容1. 编写一个C程序,实现以下功能:(1)定义一个结构体`Person`,包含以下成员变量:- 姓名(字符数组,长度不超过50)- 年龄(整数)- 性别(字符,'M'代表男性,'F'代表女性)(2)编写一个函数`printPerson`,用于打印`Person`结构体变量的信息。

(3)在主函数中,创建一个`Person`数组,包含3个元素,并使用`printPerson`函数打印每个元素的信息。

2. 编写一个C程序,实现以下功能:(1)定义一个函数`reverseString`,用于将字符串反转。

(2)在主函数中,定义一个字符串`str`,调用`reverseString`函数,并打印反转后的字符串。

3. 编写一个C程序,实现以下功能:(1)定义一个函数`isPalindrome`,用于判断一个字符串是否为回文。

(2)在主函数中,定义一个字符串`str`,调用`isPalindrome`函数,并打印结果。

4. 编写一个C程序,实现以下功能:(1)定义一个函数`findMax`,用于在整数数组中查找最大值。

(2)在主函数中,定义一个整数数组`arr`,调用`findMax`函数,并打印最大值。

5. 编写一个C程序,实现以下功能:(1)定义一个函数`sum`,用于计算两个整数之间的所有整数之和。

(2)在主函数中,定义两个整数`a`和`b`,调用`sum`函数,并打印结果。

6. 编写一个C程序,实现以下功能:(1)定义一个函数`isPrime`,用于判断一个整数是否为素数。

(2)在主函数中,定义一个整数数组`arr`,调用`isPrime`函数,并打印每个元素是否为素数。

c语言程序设计上机答案

c语言程序设计上机答案

c语言程序设计上机答案C语言程序设计是一门实践性很强的课程,上机练习是掌握C语言编程技能的重要环节。

以下是一些常见的C语言上机练习题目及其参考答案,供学习者参考。

1. 打印“Hello, World!”```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```2. 计算两个数的和```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("%d + %d = %d\n", a, b, sum);return 0;}```3. 判断一个数是否为素数```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); ++i) { if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num); }return 0;}```4. 计算圆的面积```c#include <stdio.h>#include <math.h>double calculateArea(double radius) {return M_PI * radius * radius;}int main() {double radius, area;printf("请输入圆的半径:");scanf("%lf", &radius);area = calculateArea(radius);printf("半径为 %f 的圆的面积是:%f\n", radius, area); return 0;}```5. 字符串反转```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int length = strlen(str);for (int i = 0; i < length / 2; ++i) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[100];printf("请输入一个字符串:");scanf("%s", str);reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```6. 计算阶乘```c#include <stdio.h>unsigned long long factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}int main() {int num;printf("请输入一个非负整数:");scanf("%d", &num);printf("%d 的阶乘是:%llu\n", num, factorial(num)); return 0;}```7. 排序算法(冒泡排序)```c#include <stdio.h>void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; ++i) {for (int j = 0; j < n - i - 1; ++j) { if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, n);printf("排序后的数组是:\n");for (int i = 0; i < n; ++i) {printf("%d ", arr[i]);}printf("\n");return 0;}```8. 寻找最大值```c#include <stdio.h>int findMax(int arr[], int n) {int max = arr[0];for (int i = 1; i < n; ++i) {if (arr[i] > max) { max = arr[i]; }}return max;。

c语言上机考试题库

c语言上机考试题库

c语言上机考试题库1. 编写一个程序,从键盘输入两个整数,然后交换它们的值并输出。

```c#include <stdio.h>int main(){int num1, num2, temp;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);temp = num1;num1 = num2;num2 = temp;printf("交换后的值为:%d %d\n", num1, num2);return 0;}```2. 编写一个程序,输入一个整数,判断该数是奇数还是偶数,并输出对应结果。

```cint main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0){printf("%d是偶数\n", num);}else{printf("%d是奇数\n", num);}return 0;}```3. 编写一个程序,输入一个大写字母,将其转换为小写字母并输出。

```cint main(){char upperCase, lowerCase;printf("请输入一个大写字母:");scanf("%c", &upperCase);lowerCase = upperCase + 32;printf("转换为小写字母:%c\n", lowerCase);return 0;}```4. 编写一个程序,输入一个字符串,然后判断该字符串是否为回文,并输出对应结果。

```c#include <stdio.h>#include <string.h>int main(){char str[100];int i, j, flag = 1;printf("请输入一个字符串:");gets(str);for(i = 0, j = strlen(str) - 1; i < j; i++, j--) {if(str[i] != str[j]){flag = 0;break;}}if(flag == 1){printf("该字符串是回文\n");}else{printf("该字符串不是回文\n");}return 0;}```5. 编写一个程序,输入一个整数n,计算并输出1到n的累加和。

算法与程序设计第一章单选题,多选,答案

算法与程序设计第一章单选题,多选,答案

第一章多选答案:1.ACD 2.ABC 3.ABCD 4.BCD 5.ABC 6 .ABCD 7. ACD 8.ABD 9.ABC 10.ABCD 11.ACD单选题答案:第一章单选题1.流程图中表示“处理”的图形是( )。

∙A) 矩形∙B) 菱形∙C) 圆形∙D) 平行四边形2.以下不是程序设计语言的是( )。

∙A) BASIC∙B) C语言∙C) Word∙D) Pascal3.在调试程序过程中,下列哪一种错误是计算机检查不出来的?( ) ∙A) 编译错误∙C) 逻辑错误∙D) 任何错都能查出来4.Visual Basic 是一种面向( )程序设计语言。

∙A) 事件∙B) 过程∙C) 对象∙D) 属性5.计算机能够直接识别的语言是( )。

∙A) 伪代码∙B) 高级语言∙C) 机器语言∙D) 汇编语言6.程序设计语言的发展大致经历了几个阶段,以下说法正确的是( )。

∙A) 机器语言、高级语言、汇编语言∙B) 高级语言、汇编语言、机器语言∙C) 机器语言、汇编语言、高级语言∙D) 汇编语言、机器语言、高级语言7.以下说法正确的是( )。

∙A) 算法+数据结构=程序∙B) 算法就是程序∙C) 数据结构就是程序∙D) 算法包括数据结构8.求s=1+2+3+……+100的和。

编程时最适合使用的结构为( )。

∙A) 顺序结构∙B) 分支结构∙C) 循环结构∙D) 层次结构9.机场托运行李,每人免费20千克,超过20千克不到40千克,则超出部分按每千克10元收费,如果超过40千克,则超过部分按每千克20元收费。

这种计费程序最适合用到的程序结构是( )。

∙A) 循环结构∙B) 赋值结构∙D) 顺序结构10.结构化程序设计由三种基本结构组成,下面哪个不属于这三种基本结构( )。

∙A) 顺序结构∙B) 输入、输出结构∙C) 选择结构∙D) 循环结构11.任何算法都可以由三种基本结构完成,下列不属于基本结构的是( )。

C语言上机编程题(完整版)

C语言上机编程题(完整版)

include <conio.h>#include <stdio.h>void main(){ int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos;//clrscr();max = a[0];pos = 0;for ( i=1; i<10; i++)/************found************/if (max < a[i]){max = a[i];/************found************/pos = i;}printf("The max is: %d ,pos is: %d ", max , pos);}两个位置全部正确标准答案第一个位置:if(maxif(max<=a[i])if(a[i]>max)if(a[i]>=max)第二个位置:pos=i;二、程序填空题(30分,得分:30分)在考生文件夹下,给定程序FILL.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。

例如:从键盘上输入12345,则程序运行的结果应当为:n=12345。

请填空,并运行该程序,然后将源程序文件FILL.C提交。

程序有两个空(1)、(2)需要补充完整。

并将程序调试出所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构!做题情况源程序文件#include "stdio.h"#include "string.h"void main(){ char s[10]; int i;long int n;//clrscr();/**************found************/n=0;scanf("%s",s);for(i=0;i<strlen(s);i++)/**************found************/n=n*10+(s[i]-48);printf("n=%ld ",n);}两个位置全部正确标准答案第一个位置:n=0;第二个位置:n=n*10+s[i]-’0’;n=n*10+*(s+i)-’0’;n=n*10+*(i+s)-’0’;n=n*10-’0’+s[i];n=n*10-’0’+*(s+i);n=n*10-’0’+*(i+s);n=n*10+(s[i]-’0’);n=n*10+(*(s+i)-’0’);n=n*10+(*(i+s)-’0’);n=n*10+(s[i]-48);n=n*10+(*(s+i)-48);n=n*10+(*(i+s)-48);n=n*10-(’0’-*(i+s));n=n*10-(’0’-s[i]);n=n*10-(’0’-*(s+i));n=n*10+s[i]-48;n=n*10+*(s+i)-48;n=n*10+*(i+s)-48;n=n*10-48+s[i];n=n*10-48+*(s+i);三、程序设计题(40分,得分:40分)在考生文件夹下,要求程序PROG.C的功能是:将一个4位的整数m拆开,然后按相反顺序输出,每输出一位数其后留2个空格。

大一c语言上机考试题及答案6

大一c语言上机考试题及答案6

大一c语言上机考试题及答案6大一C语言上机考试题及答案6一、选择题(每题2分,共10分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. stringD. char答案:A2. 在C语言中,用于声明一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ==D. ||答案:C4. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列关于C语言数组的描述,错误的是:A. 数组的下标从0开始B. 数组可以存储不同类型的数据C. 数组的大小在定义时确定D. 数组可以作为函数的参数答案:B二、填空题(每题2分,共10分)1. 在C语言中,表示逻辑与的运算符是______。

答案:&&2. C语言中,用于表示字符常量的是______。

答案:'3. 在C语言中,用于定义一个指针变量的关键字是______。

答案:*4. C语言中,用于声明一个浮点型变量的关键字是______。

答案:float5. C语言中,用于输入输出的库函数是______。

答案:stdio.h三、编程题(共30分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

(10分)```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("100以内所有偶数的和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

(10分)```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello World!";reverse(str);printf("反转后的字符串为:%s\n", str);return 0;}```3. 编写一个C语言程序,实现计算一个整数的阶乘。

计算机等级程序设计上机操作题

计算机等级程序设计上机操作题

计算机等级程序设计上机操作题2017年计算机等级程序设计上机操作题c语言程序设计可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛。

下面是关于计算机等级程序设计上机操作题,欢迎大家参考!一、编程题请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。

例如字符串:uvwxyz 满足要求;而字符串:uvxwyz不满足要求。

注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。

#include#include#includeint fun( char *t ){}main(){ char s[26];printf("请输入一个字母组成的字符串 : "); gets(s);if( fun(s) ) printf("%s 是由连续字母组成的字符串.\", s );else printf("%s 不是由连续字母组成的字符串!\", s );/ *NONO(); */}二、改错题函数fun的功能是:将一副扑克牌编号为1,2,3...53,54,以某种特定的方式洗牌,这种方式是将这副牌分成两半,然后将它们交叉,并始终保持编号为1的牌在最上方,譬如第一次这样洗牌后的结果为:1,28,2,29,...53,27,54。

两次洗牌后的结果为:1,41,28,15,2,42...53,40,27,14,54。

程序的功能是:输出经过n次这样洗牌后的结果。

请在程序的'下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!#includevoid fun( int a[55], int n ){ int i, k ;/**********found**********/int __(1)__[55];for (i=0; i{ for (k=1; k<= 27; k++){ b[ 2*k-1 ] = a[k];/**********found**********/b[ __[2]___* k ] = a[k+27];}for (k=1; k<=54; k++)/**********found**********/a[k]=___(3)___;}}main( ){ int m, a[55],i;for (i=1; i<55; i++) a[i]= i;printf("请输入洗牌次数 : "); scanf("%d", &m);fun(a, m);for (i=1; i<55; i++) printf("%d,",a[i]);printf("\");}二、改错题给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。

C语言上机题目珍藏版

C语言上机题目珍藏版

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程序设计上机考试复习题及答案(优化版)

C程序设计上机考试复习题及答案(优化版)

C++程序设计上机试题考试时间:180分钟(注:以下所有题目均要求上机实现)第一题( 20分)声明数组如下,按要求编写程序,以f1.cpp作为文件名,存放到D盘: double a[]={1.1,5.2,7.3,4.4}, b[4];要求使用泛型算法完成:1.将数组a内容反转,并正向输出数组a的内容.2.将数组a的内容拷贝到数组b, 并逆向输出数组b的内容.3.将数组b按降幂排序,并输出数组b的内容.4.在数组a中查找4.4的位置,并输出.#include <iostream>#include <algorithm>#include<iterator>#include <functional>using namespace std;void main(){double a[]={1.1,5.2,7.3,4.4},b[4];reverse(a,a+4);copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl;reverse_copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl<<endl;copy(a,a+4,b);copy(b,b+4,ostream_iterator<double>(cout," "));cout<<endl;reverse_copy(a,a+4,b);copy(b,b+4,ostream_iterator<double>(cout," "));cout<<endl<<endl;sort(a,a+4);copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl;sort(a,a+4,greater<double>());copy(a,a+4,ostream_iterator<double>(cout," "));cout<<endl<<endl;double *x=find(a,a+4,4.4);if (x==a+4)cout<<"no value 4.4";elsecout<<"have value is "<<*x;cout<<endl;}第二题(20分)定义队列类模板queue(先进先出),队列的大小由使用者确定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、10个人的成绩存放在score数组中,编写函数fun,求出平均分,并作为函数值返回,且输出不及格人数。

#include<stdio.h>float fun (int a[10]){int i,aver,sum=0;for(i=0;i<10;i++)sum=sum+a[i];aver=sum/10;return aver;}void main(){int i,j=0,a[10]={10,20,30,40,50,60,70,80,90,100};float aver;for(i=0;i<10;i++)if(a[i]<60)j++;aver=fun (a);printf("10个人的成绩平均分为:%5.2f\n",aver);printf("\n");printf("不及格人数:%d\n",j);}2、求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在指定的数组a中。

#include<stdio.h>void main(){int i,n,a[500];n = fun(a);for(i = 0; i < n; i++)printf("%8d",a[i]);}int fun (int a[]){int i = 7, j = 0;for(; i <= 100; i++)if ((i % 7 == 0 || i % 11 == 0)&&( !(i % 7== 0 && i % 11 == 0) ) )a[j++] = i;return j ;}3、求方程02=++c bx ax 的解。

#include<stdio.h>#include<math.h>void main(){float a,b,c,d,x1,x2,m,n;printf("请输入方程的3个系数,a,b,c:");scanf("%f,%f,%f",&a,&b,&c);printf("该方程\n");if(fabs(a)<=1e-6){if(fabs(b)<=1e-6){if(fabs(c)<=1e-6)printf("有无穷多个解\n");elseprintf("无解\n");}else printf("有一个根:%8.4f\n",-c/b);}else{d=b*b-4*a*c;if(fabs(d)<=1e-6)printf("有两个相等的实根:%8.4f\n",-b/(2*a));elseif(d>1e-6){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("有两个不等的实根:%8.4f 和%8.4f\n",x1,x2);}else{m=-b/(2*a);n=sqrt(-d)/(2*a);printf("有两个复根:\n");printf("%8.4f+%8.4fi\n",m,n);printf("%8.4f-%8.4fi\n",m,n);}}}4、给出一个百分制成绩,要求输出成绩等级A、B、C、D、E,90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:当输入分数为负值,或大于100时,通知用户“输入数据错误,重新输入”。

#include<stdio.h>void main(){float x;char y;printf("输入学生成绩:x=");scanf("%f",&x);while(x>100||x<0){printf("输入错误,请重新输入学生成绩:x=");scanf("%f",&x);}if(x>=90)y='A';elseif(x>=80)y='B';elseif(x>=70)y='C';elseif(x>=60)y='D';elsey='E';printf("\n学生的等级为:y=%c\n",y);}5、求数组中最大元素在数组中的下标并存放在指针k所指的储存单元中。

# include <stdio.h>void fun(int *s, int t , int *k){int i ,max;max=s[0];for (i=0;i<t;i++)if (s[i]>max){max=s[i];*k=i;}}void main( ){int a[10]={876,675,896,101,301,401,980,431,451,777}, k ;fun(a,10, &k);printf("最大值在a中的位置为:i=%d\n最大值为:%d\n", k, a[k]);}6、编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n 通过形参传入。

S=1+1/(1+2)+1/(1+2+3)+……+1/(1+2+3+4+……+n)。

#include<stdio.h>float fun(int n){int i;float s=1.0,t=1.0;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}void main(){float y;int n;printf("输入n的值:\n");scanf("%d",&n);y=fun(n);printf("y=%f\n",y);}7、定义了7×7的二维数组,并在主函数中自动赋值。

编写函数fun(int a[][7]),该函数的功能是:使数组左下半三角元素中的值全部置成0。

#include<stdio.h>int fun(int a[][7]){int i,j;for(i=0;i<7;i++)for(j=0;j<7;j++){if(i>j)a[i][j]=0;}}void main(){int a[7][7],i,j;for(i=0;i<7;i++){for(j=0;j<7;j++){a[i][j]=i+j+1;printf("%3d",a[i][j]);}printf("\n");}fun(a);printf("输出处理后的数组a:\n");for(i=0;i<7;i++){for(j=0;j<7;j++){printf("%3d",a[i][j]);}printf("\n");}}8、编写一个函数void fun(int tt[5][6],int pp[6]),tt指向一个5行6列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。

二维数组中的数已在主函数中初始化。

#include <stdio.h>void fun(int tt[5][6],int pp[6]){ int i,j,min;for(j = 0;j < 6;j++){ min = tt[0][j];for(i= 0;i < 5;i++){ if(tt[i][j] < min)min = tt[i][j];}pp[j] = min;}}void main(){intt[5][6]={{68,56,32,44,54,12},{14,56,24,47,88,58},{42,85,22,75,44,56},{45,12,3,5,78,45},{ 45,65,25,75,85,41}};int p[6],i,j,k;printf("The riginal data is:\n");for(i = 0;i < 5;i++){ for(j = 0;j < 6;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\n二维函数组每列中最小元素为:\n");for(k = 0;k < 6;k++)printf("%4d",p[k]);printf("\n");}9、求出4行5列的二维数组周边元素之和。

#include<stdio.h>void main(){int a[4][5],i,j,sum=0,sum1=0,sum2=0;printf("请输入4*5矩阵数据:");for(i=0;i<4;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);{for(i=0;i<4;i++)sum1=sum1+a[i][0]+a[i][4];}{for(j=0;j<5;j++)sum2=sum2+a[0][j]+a[3][j];}sum=sum1+sum2-a[0][0]-a[0][4]-a[3][0]-a[3][4];printf("矩阵周边元素之和为:%d\n",sum);}10、编写程序,把字符串中的内容逆置(不准使用多个字符数组)。

#include<stdio.h>void main(){char a[80];char t;int i,n;printf("输入一行字符串:\n");gets(a);n=strlen(a);for(i=0;i<=n/2;i++){t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;}printf("字符串中的内容逆置为:\n");puts(a);}11、编写程序,从字符串中删除指定的字符,同一字母的大、小写按不同字符处理。

并把删除好的字符以字符串的形式输出(不准使用多个字符数组)。

相关文档
最新文档