C语言上机考试编程题以及答案

合集下载

C语言二级考试上机答案全解

C语言二级考试上机答案全解

C语言二级考试上机答案全解1. 题目:以下哪个选项是C语言中的关键字?A. intB. INTC. IntegerD. int32_t答案:A解析:在C语言中,关键字是预定义的,用于表示特定的语言结构,如数据类型、控制语句等。

'int'是C语言中的基本数据类型关键字,用于声明整型变量。

'INT'和'Integer'不是C语言的关键字,而'int32_t'是C99标准中定义的类型,用于表示32位整型,但不是C 语言的关键字。

2. 题目:以下哪个函数用于计算两个整数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. pow(a, b)答案:C解析:在C语言的标准库中,并没有名为'sum'的函数。

然而,根据题目的语境,我们可以推断出'sum(a, b)'是用来计算两个整数a和b的和的函数。

'max(a, b)'和'min(a, b)'分别用于计算两个数中的最大值和最小值,而'pow(a, b)'用于计算a的b次方。

3. 题目:以下哪个选项是正确的C语言变量声明?A. int a = 5;B. int a = '5';C. int a = "5";D. int a = 5.0;答案:A解析:在C语言中,变量声明需要指定数据类型和变量名,并且可以初始化。

选项A中,'int a = 5;'是正确的声明,其中'int'是数据类型,'a'是变量名,'5'是整数值。

选项B中使用了单引号,这是用于字符常量的,而不是整数。

选项C使用了双引号,这是用于字符串常量的,不能用于整数变量的声明。

选项D中使用了浮点数,这与声明的整型变量类型不匹配。

4. 题目:以下哪个选项是C语言中正确的数组声明?A. int a[];B. int a[5];C. int a[5] = {1, 2, 3, 4, 5};D. All of the above答案:D解析:在C语言中,数组可以以多种方式声明。

c语言编程 题目及答案

c语言编程 题目及答案

**********************************考试形式:上机考试(60分钟)考试题型说明:10个单选题+2个编程题下面是编程题目的复习题型,期末考试的编程题型及难易程度与此相近,请大家认真复习,强化练习,打下坚实基础,顺利通过考试。

**********************************1、编写一计算阶乘的函数fac,在主函数中从键盘输入一个正整数,调用阶乘函数fac计算阶乘并输出计算结果。

2、编写一个求x的y次幂的函数pw,在main函数中从键盘输入a、b的值,然后调用pw函数求a的b次幂,并输出结果。

3、写一函数max,计算三个数中最大数。

在主函数中输入三个数,调用该函数求出其中最大数并输出。

(要求:三个数为实数)4、写一个函数计算两个正整数的最大公约数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印函数返回值(即这两个正整数的最大公约数)。

5、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中调用该函数,输出200以内所有的素数。

6、请编一个自定义函数,功能:将给定的字符串中的所有字母改为小写字母。

字符串在主函数中从键盘任意输入(容许包含空格)7、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”,否则输出“no”8、将1--1000中所有21的倍数存到一个一维数组中,再按每行5个数据输出到屏幕上。

9、在屏幕上打印以下图案:(要求打印N行,N用符号常量定义为7)****************************10、输出所有在正整数200和300之间能被6整除、但不能被4整除的数,并统计这样的数有多少个。

11、求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。

12、编程计算1到20的平方和,并输出结果。

(要求用for循环)13、编写一个程序从键盘任意个整数,求均值及低于均值的个数,输出到屏幕。

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语言上机考试训练题库及答案
6、把一张一百元的人民币换成5元、2元的零钱,有多少种换法?请编写程序,自动给出所有组合的换法。
7、编写程序,输入12个数,按照从后向前的顺序依次找出并输出其中能被7
整除的所有整数以及这些整数的和,在屏幕上输出
8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
编写程序提示用户从键盘输入一个double类型的数使该数保留小数点后两位对第三位小数进行四舍五入处理然后在显示器上输出此数以便验证处理是否正确
上机考试习题集
1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。
#include "stdio.h"
void main ()
{
int i,s,min,max,t,sum;
min=999; sum=0; max=0;
i=100;
while (i<=999)
{ s=i%100/10;
if ((i%4==0)&&s!=4)
{
if (i<min) min=i;
if (i>max) max=i;
sum+=i;
{
if(ch[i]>='A'&&ch[i]<='Z'||ch[i]>='a'&&ch[i]<='z')l++;
else
{
if(ch[i]>='0'&&ch[i]<='9') s++;

c语言上机实验题及参考答案

c语言上机实验题及参考答案
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}

c语言编程 题目及答案

c语言编程 题目及答案

**********************************考试形式:上机考试(60分钟)考试题型说明:10个单选题+2个编程题下面是编程题目的复习题型,期末考试的编程题型及难易程度与此相近,请大家认真复习,强化练习,打下坚实基础,顺利通过考试。

**********************************1、编写一计算阶乘的函数fac,在主函数中从键盘输入一个正整数,调用阶乘函数fac计算阶乘并输出计算结果。

2、编写一个求x的y次幂的函数pw,在main函数中从键盘输入a、b的值,然后调用pw函数求a的b次幂,并输出结果。

3、写一函数max,计算三个数中最大数。

在主函数中输入三个数,调用该函数求出其中最大数并输出。

(要求:三个数为实数)4、写一个函数计算两个正整数的最大公约数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印函数返回值(即这两个正整数的最大公约数)。

5、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中调用该函数,输出200以内所有的素数。

6、请编一个自定义函数,功能:将给定的字符串中的所有字母改为小写字母。

字符串在主函数中从键盘任意输入(容许包含空格)7、编写一个函数,该函数的功能是判断一个整数是不是素数,在main函数中输入一个整数,调用该函数,判断该数是不是素数,若是则输出“yes”,否则输出“no”8、将1--1000中所有21的倍数存到一个一维数组中,再按每行5个数据输出到屏幕上。

9、在屏幕上打印以下图案:(要求打印N行,N用符号常量定义为7)****************************10、输出所有在正整数200和300之间能被6整除、但不能被4整除的数,并统计这样的数有多少个。

11、求S=1/1+1/2+1/3+……+1/100(精确到小数点后三位)。

12、编程计算1到20的平方和,并输出结果。

(要求用for循环)13、编写一个程序从键盘任意个整数,求均值及低于均值的个数,输出到屏幕。

C语言编程题带答案

C语言编程题带答案

C语言编程题带答案题目 1:求两个整数的最大值```cinclude <stdioh>int max(int num1, int num2) {if (num1 > num2) {return num1;} else {return num2;}}int main(){int num1 = 10, num2 = 20;int maxValue = max(num1, num2);printf("最大值为: %d\n", maxValue);return 0;}```分析:在这个程序中,我们定义了一个名为`max` 的函数,它接受两个整数参数`num1` 和`num2` 。

通过使用条件判断语句`if` 来比较这两个数的大小,如果`num1` 大于`num2` ,则返回`num1` ,否则返回`num2` 。

在`main` 函数中,我们给定了两个整数`num1` 和`num2` 的值,并调用`max` 函数来获取它们中的最大值,最后使用`printf` 函数将最大值输出到控制台。

题目 2:计算一个整数数组的平均值```cinclude <stdioh>float average(int arr, int size) {int sum = 0;for (int i = 0; i < size; i++){sum += arri;}return (float)sum / size;}int main(){int arr ={10, 20, 30, 40, 50};int size = sizeof(arr) / sizeof(arr0);float avg = average(arr, size);printf("平均值为: %2f\n", avg);return 0;}```分析:在这个程序中,首先在`average` 函数里,我们初始化一个变量`sum` 为 0 ,用于存储数组元素的总和。

C语言上机练习题及答案

C语言上机练习题及答案

C语言上机练习题及答案1输入三个整数x,y,z,把这三个数由小到大输出。

#includevoidmain(){intx,y,z,a;scanf(\if(x>y){a=x;x=y;y=a;}如果(x>z){a=x;x=z;z=a;}if(y>z){a=y;y=z;z=a;}printf(\}2输入圆的半径,输出圆的周长和面积。

#包括#定义3。

1415926#defines==pi*r*r#definev(4.0/3)*pi*r*r*rvoidmain() {双打;printf(\scanf(\printf(\printf(\}输入正方形的边长,输出正方形的周长和面积。

#includevoidmain(){floatc,zc,mj;Printf(\enter your square\scanf(\ZC=4*C;MJ=C*C);printf(\周长%f,面积%f,边长%f\}3.使用格式输入功能输入3个字符,使用输出功能输出3个字符及其ASCII码码。

#includeintmain(){char-ch1,ch2,ch3;printf(\scanf(\printf(\printf(\printf(\}输入摄氏温度,输出华氏温度。

公式为f=9/5*C+32。

#includevoidmain(){floatc,f;}scanf(\c=5.0/9*(f-32);printf(\4.比较两个数字的大小#includevoidmain(){inta,b;scanf(\if(a>b)printf(\elseprintf(\}第二题:此题作废(千万不要用)#includevoidmain(){chara,b,c;scanf(\而((a<97 | | a>122)| |(b<97 | | b>122)| |(c<97 | | c>122)){printf(\您输入非三个小写字母,请重新输入:\\n\scanf(\}printf(\}5输入任意10个数,求他们的平均值。

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

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输入两个数,交换他们的值并输出。

(元素交换) 答案#include<stdio.h>int main (){int m,n,temp;scanf("%d%d",&m,&n);if (m<n){temp=m;m=n;n=temp;}printf("%d",m);return 0;}7.输出9*9乘法表。

(双层循环)答案#include <stdio.h>void main()int i=1;for(i; i<=9; i++){int j=1;for(j;j<=i;j++){printf("%d*%d=%d ", i, j, i*j);}printf("\n");}}8.输入一行字符,将所有的小写字母转换成大写字母,大写字母转换成小写字母,其余字符不变。

输出转变后的这行字符。

答案#include "stdio.h"void main(){char a[n];int i;scanf("%s",a);printf("大写为:");for(i=0;i<=n;i++){if(a<='z'&&a>='a')a=a-32;printf("%c",a);}printf("\n小写为:");for(i=0;i<=3;i++)a=a+32;printf("%c",a);}}9、编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。

输出运算式及运算结果。

(switch)6.2#include"stdio.h"main(){char c;int i=0,j=0,k=0,l=0;while((c=getchar())!=’\n’){if(c>=65&&c<=90||c>=97&&c<=122) i++;else if(c>=48&&c<=57) j++;else if(c==32) k++;else l++;}printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);}6.6#include"math.h"main(){int x=100,a,b,c;while(x>=100&&x<1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b;if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf("%5d",x);x++;} }6.7main(){int m,i,j,s;for(m=6;m<10000;m++){s=1;for(i=2;i<m;i++)if(m%i==0) s=s+i;if(m-s==0){printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0)printf("%d ",j);printf("\n");}}}或main(){int m,i,j,s;for(m=6;m<1000;m++){s=m-1;for(i=2;i<m;i++)if(m%i==0) s=s-i;if(s==0){printf("%5d its fastors are 1 ",m);for(j=2;j<m;j++) if(m%j==0)printf("%d ",j);printf("\n");}}}6.8main(){int i=1,n;double t,x=1,y=2,s,sum=0;scanf("%ld",&n);while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}printf("%f\n",sum);}11,P128 例6.10(译码)#include<stdio.h>void main(){char c;while((c=getchar())!='\n'){c=c+4;if(c>'Z'+4||c>'z')c=c-26;}printf("%c",c);}printf("\n");}12,P111 5.5 5.6(switch)5.5#include <stdio.h>main(){int x,y;printf("输入x:");scanf("%d",&x);if(x<1){ y=x;printf("x=%3d, y=x=%d\n",x,y);}else if (x<10){ y=2*x-1;printf("x=%3d, y=2*x-1=%d\n",x,y); }else{ y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x,y);}}5.6#include <stdio.h>main(){ float score;char grade;case 2:printf("请输入学生成绩:");scanf("%f",&score);while(score>100||(score<0){ printf("\n输入有误,请重新输入:");scanf("%f",&score);}switch((int)(score/10)){ case 10:case 9: grade=’A’;break;case 8: grade=’B’;break;case 7: grade=’C’;break;case 6: grade=’D’;break;case 5:case 4:case 3:case 1:case 0: grade=’E’;}printf("成绩是%5.1f,相应的等级是%c。

\n",score,grade); }13,P108 例5.5(一元二次方程求根) 例5.6(求闰年)5.5#include<stdio.h>void main(){int year,leap;scanf("%d",&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%d is",year);elseprintf("%d is not",year);printf("a leap year.\n")}5.614,P31 例2.17 例2.182.17输出50个学生中成绩高于80分者的学号和成绩2.18输出2000——2500年每一年是否闰年#include<stdio.h>void main(){int year;year=2000;go: if(((year%4 == 0)&&(year%100 != 0)) || (year%400 == 0)) printf("%d is run nian",year);if(year<=2500)year=year++;if(year>2500)goto end;goto go;end: getch();}。

相关文档
最新文档