(完整版)C语言上机练习题及答案

合集下载

计算机二级C语言上机试题库和答案解析(100套)

计算机二级C语言上机试题库和答案解析(100套)

完美WORD格式计算机二级 c 语言上机题库及答案内部资料,切勿外传!.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include<stdio.h>longfun(int n){if ( 1 )return (n*fun( 2));return 3;}main(){printf("10!=%ld\n", fun(10));}第 1 处填空:n>1 或 1<n第 2 处填空:n-1第 3 处填空:1 或 11 或 1L改错题下列给定程序的功能是:读入一个整数 K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数 2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(intn);{int i,m;m =1;/********found********/for (i=2; i<n;i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %dis(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第 1 处:Isprime(int n);应改为Isprime(int n)第 2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

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语言练习题(带详解答案)

C语言练习题(带详解答案)一单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。

C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的-,选项B中[与]不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的-不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%某B)a+bC)a123D)123选项A中的%,选项B中+不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的\\,$,选项D中>,#,.,-不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

《C语言》上机实验题及参考答案

《C语言》上机实验题及参考答案

《C语言》上机实验题及参考答案作者名:不详来源:网友提供05年7月21日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语言上机题库及答案(100套)

计算机二级C语言上机题库及答案(100套)

~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

C语言上机实验完整答案

C语言上机实验完整答案

实验 2
程序代码 #include<stdio.h> void main () {char a;int i;
for (i=1;;i++) {
a=getchar(); if(a=='\n') break; switch(a) {case '0':printf(" zero ");break;
case '1':printf(" one ");break; case '2':printf(" two ");break; case '3':printf(" three ");break; case '4':printf(" four ");break; case '5':printf(" five ");break; case '6':printf(" six ");break; case '7':printf(" seven ");break; case '8':printf(" eight ");break; case '9':printf(" nine ");break; }
printf("input a number\n"); scanf("%d",&n); h=n-7*i;
while(h>7) {i=i+1; h=n-7*i;} switch(h) { case 1: printf("星期一\n"); break ; case 2: printf("星期二\n"); break ; case 3: printf("星期三\n"); break ; case 4: printf("星期四\n"); break ; case 5: printf("星期五\n"); break ; case 6: printf("星期六\n"); break ; case 7: printf("星期日\n"); break ; } } 运行结果

C语言上机练习汇总及答案

C语言上机练习汇总及答案

1)10002 显示Hello World! ........................................................................... 错误!未定义书签。

2)10003 显示What is a computer? .............................................................. 错误!未定义书签。

3)10004 显示图形(字符图案输出)......................................................... 错误!未定义书签。

4)10005 显示Welcome to You!(调试示例error01_1) ........................... 错误!未定义书签。

5)10006 显示"Programming in C is fun!" .................................................. 错误!未定义书签。

6)10007 显示图案(字符图案输出)....................................................... 错误!未定义书签。

7)20011 求华氏温度100°F对应的摄氏温度。

........................................... 错误!未定义书签。

8)20012 求华氏温度150°F 对应的摄氏温度。

......................................... 错误!未定义书签。

9)20013 求摄氏温度26°C对应的华氏温度。

............................................ 错误!未定义书签。

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

(完整版)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);}输入一个摄氏温度,要求输出华氏温度。

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

# includevoid main(){float C,F;scanf("%f",&F);C=5.0/9*(F-32);printf("%8.2f",C);}4。

比较两个数大小的题#includevoid main(){ int a,b;scanf("%d,%d",&a,&b);if(a>b) printf("%d\n",a);else printf("%d\n",b);}第二题:此题作废(千万不要用)#includevoidmain(){ char a,b,c;scanf("%c,%c,%c",&a,&b,&c);while((a<97||a>122)||(b<97||b>122)||(c<97||c>122));{printf("您输入非三个小写字母,请重新输入:\n"); scanf("%c,%c,%c",&a,&b,&c);}printf("%c,%c,%c\n",a-32,b-32,c-32);}5输入任意10个数,求他们的平均值。

# includevoid main(){Printf( "请输入10个整数:" );int a[10], k = 0, sum = 0;for (int i = 0; i < 10; ++i) ;{i>a[i];if 10>=a[i] >0 ++k;sum = sum+a[i];}float ave=sum / 10 .0printf( "平均值为:%f\n",ave);}6实现从键盘输入两个整数,按从小到大次序输出这两个数。

# includevoid main(){int a, b, tem;printf("input two numbers:\n");scanf("%d,%d",&a,&b );if(a>b){tem=a;a=b;b=tem;}printf ("%d,%d",a,b);7从键盘输入三个整数,输出最大的那个数。

#includevoid main(){int a,b,c,max;printf("请输入三个整数:\n");scanf("%d%d%d",&a,&b,&c);max=a>b?a:b;max=max>c?max:c;printf(“max=%d\n”,max);}}8输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321)。

# includevoid main(){int x,y,z,n;printf("please input an integer less than 1000\n");scanf("%d",&n);x=n/100; n=n-100*x; y=n/10;z=n-10*y;if (x>0)printf("%d%d%d\n",z,y,x);else if(y>0) printf("%d%d\n",z,y);else printf("%d\n",z);}9输入三角形的边长,求三角形面积。

(面积=sqrt( s ( s-a ) (s-b) (s-c) ),s=(a+b+c)/2 )。

# includevoid main(){float a,b,c,s,area;int ok=0;printf("input a,b,c:");scanf ("%f,%f,%f",&a,&b,&c);{a+b>c? ok++:0;a+c>b? ok++:0;b+c>a? ok++:0;ok==3(s=1/2*(a+c+b);area=sqrt (s*(s-a)*(s-b)*(s-c) );printf ("s=%f\n,area=%f\n",s,area);}10输入2个数,比较其大小,将较大的数输出。

#includevoid main(){int a,b,c,max,min;printf(“Input a=”);scanf(“%d”,&a);printf(“Input b=”);scanf(“%d”,&b);If(a>b)printf(“较大的数是%d\n”,a);elseprintf(“较大的数是%d\n”,b);}11输入任意三个整数,求它们的和及平均值。

#include“stdio.h"void main(){ int a,b,c,sum; float ave;scanf("%d %d %d",&a,&b,&c);sum=a+b+c; ave=(a+b+c)/3.0;printf("三个数的和为:%d\n",sum);printf("三个数的平均值为:%f\n",ave);}12求解方程ax2+bx+c=0的实数根。

a,b,c由键盘输入,a≠0且b2-4ac>0。

#include#includevoid main() {float a, b, c, x1, x2;printf("请输入a, b, c的值:");scanf("%f%f%f", &a, &b, &c);if (b*b - 4*a*c <= 0)printf("输入的系数不对,b2-4ac不大于0!程序退出!\n");else { x1 = (-b + sqrt(b*b - 4*a*c))/2*a;x2 = (-b - sqrt(b*b - 4*a*c))/2*a;printf("x1 = %.2f\n", x1);printf("x2 = %.2f\n", x2); }}13写一个程序,输入一个班学生的成绩,求全班的平均成绩。

#include usingnamespace std; void failnum(int score[], int num) { int n = 0; for(int i = 0; i < num; i++) { if(score[i] < 60) n++; } cout<<"不及格人数:"<<n<<="" average_num(int="" float="" for(i="0;" for(int="" i="" i++)="" if(score[i]="" int="" n="(sum" num)="" num;="" number="0;" score[],="" score[i];="" sum="sum" void="" {="" }="">= n) number++; } cout<<"平均分为:"<<n<<="89)" cout<<"成绩在全班平均分及平均分之上的学生人数:"<<number<= 90) n5++; } cout<<"分数在60以下占:"<<( (n1* 1.0) / num)*100<<"%"<<<"分数在60-69占:"<<<"分数在70-79占:"<<<"分数在80-89占:"<<<"分数在90以上占:"<<<"输入全班总人数:";="" int="" main()="" num)*100<<"%"<>num; cout<<"输入内容(每个数不超出0-100),用空格分开:"<<="" cin="" for(int="" i="" i++)="" num;="">>score[i]; failnum(score, num); average_num(score, num); stastics(score, num); return 0; }</n<</n<14编写程序输出如下图形:(没有的)** ** * ** * * *从键盘输入一个整数判断是否为素数。

相关文档
最新文档