第三次C语言技能训练题
- 格式:docx
- 大小:14.01 KB
- 文档页数:4
全国计算机等级考试三级C语言上机100题一.排序类:1.已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意:部分源程序存在文件prog1.c中。
程序中已定义数组:a[200],b[200],已定义变量:cnt请勿改动数据文件IN.DA T中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h>#define MAX 200int a[MAX], b[MAX], cnt = 0 ;void jsVal(){int i,j,t;for(i=0;i<MAX;i++){t=a[i];if(t%2+t/10%2+t/100%2+t/1000%2==0)b[cnt++]=t;}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]){t=b[i];b[i]=b[j];b[j]=t;}} void readDat(){int i ;FILE *fp ;fp = fopen("in.dat", "r") ;for(i = 0 ; i < MAX ; i++) fscanf(fp, "%d", &a[i]) ; fclose(fp) ;}void main(){int i ;readDat() ;jsVal() ;printf("满足条件的数=%d\n", cnt) ;for(i = 0 ; i < cnt ; i++) printf("%d ", b[i]) ;printf("\n") ;writeDat() ;}writeDat(){FILE *fp ;int i ;fp = fopen("out.dat", "w") ;fprintf(fp, "%d\n", cnt) ;for(i = 0 ; i < cnt ; i++) fprintf(fp, "%d\n", b[i]) ; fclose(fp) ;}2. 已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b 中。
c语言计算机三级题目
C语言计算机三级题目通常涉及一些较为复杂的编程问题,包括但不限于数据结构、算法、文件操作等方面的内容。
这些题目旨在考察考生对C语言的熟练程度和对计算机基本原理的理解。
以下是一些可能出现的题目类型:
1. 数据结构和算法,可能涉及链表、树、图等数据结构的实现和相关算法的应用,如排序算法、查找算法等。
2. 文件操作,要求考生能够使用C语言对文件进行读写操作,包括文件的打开、关闭、读取、写入等操作。
3. 内存管理,可能涉及动态内存分配和释放,要求考生能够正确地使用malloc和free等函数。
4. 函数和指针,可能涉及函数的嵌套调用、指针的应用等,要求考生能够熟练地使用函数和指针来完成特定的任务。
5. 综合性问题,可能要求考生设计一个小型的C语言程序,涉及多个方面的知识,考察考生的综合应用能力。
总的来说,C语言计算机三级题目涵盖了C语言的各个方面,考察考生的编程能力、理解能力和解决问题的能力。
考生在备考时需要系统地复习C语言的基础知识,并多做一些相关的编程练习,以便在考试中取得更好的成绩。
*******************************************************************************☆题目1请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k 个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
部分源程序存在文件prog1.c中。
例如:若输入17 5 则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){ qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10;if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}******************************************************************************★题目3(字符型题)函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。
c语言计算机三级题目在计算机科学领域中,C语言是一种非常重要的编程语言。
对于想要深入研究计算机科学的人来说,C语言的掌握是必不可少的。
在C语言考试中,计算机三级题目是一个重要的考察内容。
本文将介绍一些常见的计算机三级题目,以及它们的解决方法。
1. 编写一个程序,计算两个正整数的和。
解决方法:我们可以使用C语言中的变量来存储两个正整数,然后使用加法运算符+将它们相加。
最后,打印出它们的和。
2. 编写一个程序,计算一个正整数的平方根。
解决方法:在C语言中,我们可以使用sqrt()函数来计算一个正整数的平方根。
需要注意的是,该函数返回的结果是一个浮点数,而不是整数。
3. 编写一个程序,计算一个正整数的阶乘。
解决方法:使用循环结构来实现计算一个正整数的阶乘。
我们可以使用一个变量来存储结果,并利用循环不断将其乘以递减的数值,直到乘到1为止。
4. 编写一个程序,求解一个二元一次方程的根。
解决方法:对于二元一次方程ax+by=c,我们可以使用C语言中的公式来求解其根。
根据公式,我们可以先计算出x的值,然后代入方程中求解出y的值。
5. 编写一个程序,判断一个数字是否为素数。
解决方法:对于一个大于1的数字n,如果它不能被2到sqrt(n)之间的任何整数整除,则它是一个素数。
我们可以使用循环结构来遍历这些可能的除数,并判断是否能整除给定的数字。
6. 编写一个程序,将一个字符串反转。
解决方法:使用C语言中的数组和循环结构,我们可以遍历字符串中的每一个字符,并将其倒序存储到一个新的字符串中。
最后,将新的字符串打印出来即可。
以上是一些常见的C语言计算机三级题目及其解决方法的介绍。
通过理解和掌握这些题目,我们可以更好地提高自己在C语言编程方面的能力。
希望这些信息对您有所帮助,并能在您的学习和工作中起到积极的作用。
如果您有任何疑问或需要进一步的帮助,请随时向我提问。
大三c语言考试题及答案大三C语言考试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的标识符?A. 2variableB. variable2C. variable-nameD. variable$name答案:B2. C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D3. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0b1010C. 0.123D. 1e2答案:A4. C语言中,哪个运算符用于逻辑与操作?A. &&B. ||C. !D. &答案:A5. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello", "World!"D. "Hello" 'World!'答案:A二、填空题1. 在C语言中,使用________运算符可以连接两个字符串。
答案:+2. C语言中,________关键字用于声明一个变量为静态存储期。
答案:static3. C语言中,________函数用于计算并返回一个字符串的长度。
答案:strlen4. 在C语言中,________关键字用于声明一个变量为全局变量。
答案:extern5. C语言中,________函数用于将整数转换为字符串。
答案:itoa三、简答题1. 简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种变量,它存储的是另一个变量的地址。
数组名本身代表数组的首地址,而指针变量可以被赋值为任意类型的地址。
数组的大小在定义时必须确定,而指针可以指向不同大小的内存块。
2. 描述C语言中结构体(struct)的作用。
答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。
c本科三试题及答案一、单项选择题(每题2分,共20分)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str = "Hello";答案:A4. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. !D. =答案:A5. 以下哪个选项是C语言中合法的数组声明?A. int array[] = {1, 2, 3};B. int array[] = (1, 2, 3);C. int array[] = {1; 2; 3};D. int array[] = 1, 2, 3;答案:A6. C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:A8. C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio>D. #include "stdio"答案:A9. 在C语言中,以下哪个选项表示无限循环?A. while(1)B. for(;;)C. do{}while(1)D. A和B答案:D10. C语言中,以下哪个选项用于定义一个结构体?A. structB. struct{}C. struct nameD. struct{}答案:A二、填空题(每题2分,共20分)1. C语言中,______关键字用于定义一个宏。
2023年9月青少年软件编程C语言等级考试试卷三级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.谁是你的潜在朋友“臭味相投”——这是我们描述朋友时喜欢用的词汇。
两个人是朋友通常意味着他们存在着许多共同的兴趣。
然而作为一个宅男,你发现自己与他人相互了解的机会并不太多。
幸运的是,你意外得到了一份北大图书馆的图书借阅记录,于是你挑灯熬夜地编程,想从中发现潜在的朋友。
首先你对借阅记录进行了一番整理,把N个读者依次编号为1,2,…,N,把M本书依次编号为1,2,…,M。
同时,按照“臭味相投”的原则,和你喜欢读同一本书的人,就是你的潜在朋友。
你现在的任务是从这份借阅记录中计算出每个人有几个潜在朋友。
时间限制:1000内存限制:65536输入第一行两个整数N,M,2<=N,M<=200。
接下来有N行,第i(i=1,2,…,N)行每一行有一个数,表示读者i-1最喜欢的图书的编号P(1<=P<=M)输出包括N行,每行一个数,第i行的数表示读者i有几个潜在朋友。
如果i和任何人都没有共同喜欢的书,则输出“BeiJu”(即悲剧,^^)样例输入452321样例输出1BeiJu1BeiJu参考答案:#include<iostream>using namespace std;int a[10000],ans,c;int main(){int n,m;cin>>n>>m;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){if(a[i]==a[j]){ans++;}}if(ans>1){cout<<ans-1<<endl;}else{cout<<"BeiJu"<<endl;}ans=0;}return0;}第2题.课程冲突小A修了n门课程,第i门课程是从第ai天一直上到第bi天。
三级c语言机试题及答案三级C语言机试题及答案1. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:A2. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[] = "Hello World";B. char str[] = 'Hello World';C. char str[] = {"Hello World"};D. char str[] = "Hello World";答案:A4. 在C语言中,以下哪个函数用于将字符串转换成浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B5. 以下哪个选项是C语言中正确的数组初始化方式?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[5] = {0};C. int arr[5] = {0, 1, 2};D. int arr[5] = {0, 1, 2, 3};答案:A6. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. funcD. int答案:D7. 以下哪个选项是C语言中正确的文件包含指令?A. #include "stdio.h"B. include "stdio.h"C. #import "stdio.h"D. #include <stdio.h>答案:D8. 在C语言中,以下哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C9. 以下哪个选项是C语言中正确的单行if语句?A. if (x > y) x = y;B. if (x > y) { x = y; }C. if (x > y) x = y; else y = x;D. if (x > y) { x = y; } else { y = x; }答案:A10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C。
青少年软件编程(C语言)等级考试试卷(三级)分数:100 题数:5总体情况一、编程题(共5题,每题20分,共100分)1.数对数对给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。
比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。
时间限制:1000内存限制:65536输入一行,给出2到15个两两不同且小于100的正整数。
最后用0表示输入结束。
输出一个整数,即有多少个数对满足其中一个数是另一个数的两倍。
样例输入样例输出试题编号:试题类型:编程题标准答案:试题难度:一般试题解析:#include <iostream>using namespace std;int main() {int c = 0,x=0;int a[15];for(int i = 0; i < 15; i++) {cin >> a[i];if(a[i] == 0)break;c++;}for(int i = 0; i < c; i++) {for(int j = 0; j <c; j++) {if((a[i]/a[j] == 2)&& (a[i]%a[j] == 0) && a[j] != 0) {x++;}}}cout << x;}考生得分:20是否评分:已评分评价描述:2.井和绳子井和绳子有A, B, C, D, E五家人共用一口井,已知井深不超过k米。
A, B, C, D, E的绳长各不相同,而且厘米表示的绳长一定是整数。
从井口放下绳索正好达到水面时:(a)需要A家的绳n1条接上B家的绳1条(b)需要B家的绳n2条接上C家的绳1条(c)需要C家的绳n3条接上D家的绳1条(d)需要D家的绳n4条接上E家的绳1条(e)需要E家的绳n5条接上A家的绳1条问井深和各家绳长。
C语言第三次职业技能训练题
10
#include <stdio.h>
main()
{ int s=0,a=5,n;
scanf("%d",&n);
do { s+=1; a=a-2; }while(a!=n);
printf("%d,%d\n",s,a);
}
若输入的值1,运行结果为:
2,1
11.
#include "stdio.h"
main()
{char c;
c=getchar();
while(c!='?') {putchar(c); c=getchar(); } }
如果从键盘输入abcde?fgh(回车)
运行结果为:
abcde
12.
#include <stdio.h>
main()
{ char c;
while((c=getchar())!=’$’)
{ if(‘A’<=c&&c<=‘Z’) putchar(c);
else if(‘a’<=c&&c<=‘z’) putchar(c-32); }
}
当输入为ab*AB%cd#CD$时,运行结果为:ABCDCD
13.
#include <stdio.h>
main()
{ int x, y =0;
for(x=1;x<=10;x++)
{ if(y>=10)
break;
y=y+x;
}
printf(‚%d %d‛,y,x);
}
运行结果为:104
14.
#include<stdio.h>
main( )
{ char ch;
ch=getchar( );
switch(ch)
{ case ‘A’ : printf(‚%c‛,’A’);
case ‘B’ : printf(‚%c‛,’B’); break;
default: printf(‚%s\n‛,‛other‛);
} }
当从键盘输入字母A时,运行结果为:66
15.
#include <stdio.h>
main( )
{ int a=1,b=0;
scanf(‚%d‛,&a);
switch(a)
{ case 1: b=1;break;
case 2: b=2;break;
default : b=10;}
printf("%d ", b);
}
若键盘输入5,运行结果为: 10
16.
#include <stdio.h>
main()_
{ char grade=’C’;
switch(grade)
{
case ‘A’: printf(‚90-100\n‛);
case ‘B’: printf(‚80-90\n‛);
case ‘C’: printf(‚70-80\n‛);
case ‘D’: printf(‚60-70\n‛); break;
case ‘E’: printf(‚<60\n‛);
default : printf(‚error!\n‛);
}
}
运行结果为:60-70
17.
#include <stdio.h>
main()
{ int y=9;
for(;y>0;y- -)
if(y%3==0)
{ printf(%d‛,- -y);
}
}
运行结果为:852
18.
#include <stdio.h>
main()
{ int i,sum=0; i=1;
do{ sum=sum+i; i++; }while(i<=10); printf(‚%d‛,sum);
}
运行结果为: 55
19.
#include <stdio.h>
#define N 4
main()
{ int i;
int x1=1,x2=2;
printf("\n");
for(i=1;i<=N;i++)
{ printf("%4d%4d",x1,x2);
if(i%2==0)
printf("\n");
x1=x1+x2;
x2=x2+x1;
}
}
运行结果为:
1 2 3 5
8 13 21 34
20
#include <stdio.h>
main( )
{ int x, y;
for(x=30, y=0; x>=10, y<10; x--, y++) x/=2, y+=2;
printf(‚x=%d,y=%d\n‛,x,y);
}
运行结果为:x=0,y=12
21.
#include <stdio.h>
#define N 4
main( )
{ int i,j;
for(i=1;i<=N;i++)
{ for(j=1;j<i;j++)
printf("");
printf("*");
printf("\n");
}}
运行结果为:
*
*
*
*。