C语言上机测试题
计算机二级考试C语言上机试题(100题)

1.程序填空题在主函数中从键盘输入若干个数放入数组a中,用0结束输入但不计入数组。
下列给定程序中,函数fun的功能是:输出数组元素中小于平均值的元素。
例如,数组中元素的值依次为34、54、675、456、453、121,则程序的运行结果为34、54、121。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!#include <conio.h>#include <stdio.h>void fun(___1___,int n){double count=0.0;double average=0.0;int i=0;for(i=0;i<n;i++)___2___;average=___3___;for(i=0;i<n;i++)if(a[i]<average){if(i%5==0)printf("\n");printf("%d,",a[i]);}}main(){int a[1000];int i=0;printf("\nPlease enter datas(end with 0):");do{scanf("%d",&a[i]);}while(a[i++]!=0);fun(a,i-1);}【答案】(1) int a[] (2)count+=a[i]或count=count+a[i] (3)count/n2.程序修改题给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值:y=1+1/(2*2)+1/(3*3)+1/(4*4)+…+1/(m*m)例如:若m中的值为5,则应输出1.463611。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include <stdio.h>double fun(int m){double y=1.0;int I;/**********found**********/for(i=2;i<m;i++)/**********found**********/y+=1/(i*i);return(y);}main(){int n=5;printf("\nThe result is %lf\n", fun(n));}【答案】(1)将for(i=2;i<m;i++) 改为:for(i=2;i<=m;i++)(2)将y+=1/(i*i); 改为:y +=1.0/(i*i);3.程序设计题函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。
c语言上机实验题解析

1. 下列程序中,要求main函数实现如下功能:从键盘上输入三个正整数,求出它们中的最大值。
请完善程序,并在程序最后用注释的方式给出你的测试数据及在这组测试数据下的运行结果。
#in elude <stdio.h>void mai n(){ int a,b,c,max;prin tf("E nter three in tegers:");scan f("%d%d%d", &a, &b,&c);if(a>b)max=a;elsemax=bif(c>max)max=c;printf("max of the three nu mbers is %d",max);} /*1,2,5 max of the three nu mbers is 5*/2. 请编程序,对从键盘上输入的x值,根据以下函数关系计算出相应的y值(设x,y均为整型量)。
#in clude<stdio.h>main (){int x,y;scan f("%d",& x);if(x<0)y=0;elseif(x>=0&& x<=10)y=x;elseif(x>=10&& x<=20) y=10;elsey=-5*x+20; prin tf("%d",y);}1)1 23 4/53. 写程序计算下列各表达式的值:[ 2 22)13-(2.24-0.24 ) 耳3683) 2恵:;13 e2#in clude<stdio.h>#in clude<math.h>main () {float a,b,c;a=2.0/(4.0/5+3)+1;b=sqrt((13-pow(2.24-pow(0.24,2),2))/3.68);c=2*3.14159*sqrt(13+ exp(2));prin tf("%f\n%f\n%f',a,b,c);}4. 写程序计算5X2+2X+6的两个实根。
c语言上机考试训练题库及答案

3000≤s 15%折扣
设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为:f=p*w*s*(1-d),请按照上述标准利用switch语句编写程序计算运费,并画出程序NS图。
#include <stdio.h>
int main()
{
if(i%2==0&&i%3==0&&i%7==0)
printf("%d\n",i);
}
}
26.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include<stdio.h>
main()
{
char ch;
int z=0,k=0,s=0,q=0;
while((ch=getchar())!='\n')
#include<stdio.h>
void main()
{int i,sum=0;
for(i=100;i<=996;i+=4)
if(i/10%10!=4)
sum+=i;
printf("和为:%d",sum);
}
15.输入一个字符串,统计该字符串的长度以及字母a出现的次数。
#include <stdio.h>
void main()
{int i,j=0;
char ch[ ]=" ";
printf("please input some characters\n");
gets(ch);
for (i=0;ch[i];i++)
C语言上机作业试题5套含答案

第一次上机作业(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语言编程及上机题

C语言编程及上机题,1321,813,58,35,23,12C 语言编程及上机题1. 一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,问第10次落地时,共经过多少米?第10次反弹多高?请编程实现。
2. 试编程序,找出1至99之间的全部同构数。
同构数是这样一组数:它出现在平方数的右边。
例如:5是25右边的数,25是625右边的数,5和25都是同构数。
3. 有一分数序列:编写求这个数列前20项之和的程序。
4. 编写满足条件1+2+3+…+n ≥500的最小n 及和s 的程序。
5. 已知正弦值近似的多项式计算公式为:输入x 和ε,编写按上述公式计算sin(x)近似值且误差小于ε的程序。
设:x=1.57 ε=0.0000016. 有一高楼,有阶梯若干级,每步跨2级,最后余1级;每步跨3级,最后余2级;每步跨5级,最后余4级;每步跨6级,最后余5级;每步跨7级,正好到楼顶。
计算该楼至少多少级。
7. 从键盘输入若干个整数(数据个数少于50个),其值在0至4的范围内,用-1作为输入结束标志。
统计每个整数的个数。
试编程。
8. 求出1至599中能被3整除,且至少有一位数字为5的所有整数。
如15,51,513等均是满足条件的整数。
要求每行输出六个数。
9. 用以下的递归公式求数列a 0,a 1,……,a 19,递归公式为:a 0=0; a 1=1; a 2=1; a i = a i -3 +2a i -2 +a i -1(当i 大于2时)。
10. 求满足条件abcd=(ab)2+(cd)2有所有四位数。
11. 生成一个数列的前100项。
该数列的第一、第二项分别为2、3,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项之差(前项减后项)。
12. 计算自然数e 和π的值,e 的值精确到小数点后6位。
求e 的近似值的计算公式:求π/2的近似值的计算公式为:取n=1000时的π值。
13. 使用弦截法解下列方程的根:x 3-5x 2+16x -30=0。
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语言在线测试题目及答案SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-第一章、第二章、第三章第一题、单项选择题(每题1分,5道题共5分)1、在以下关于C语言的叙述中,正确的说法是: BA、C语言比汇编语言快B、C语言比BASIC语言快C、C语言比BASIC语言和汇编语言都快D、C语言比BASIC语言慢2、在C语言中,不正确的常量是: BA、0xf6B、0876C、.5e-6D、 3e 23、属于低级语言的计算机语言是( )。
BA、机器语言B、汇编语言C、Java语言D、Pascal语言4、对于链接,正确的说法为()。
DA、链接是将源程序和库函数链接到一起,生成可执行程序。
B、链接是将源程序、目标程序和其他源程序链接到一起,生成可执行程序。
C、链接是将源程序、库函数和其他源程序链接到一起,生成可执行程序。
D、链接是将目标程序、库函数和其他目标程序链接到一起,生成可执行程序。
5、下列不能表示常量大写英文字母A的是()。
BA、常量:‘A’B、常量:“A”C、常量:‘\x41’D、常量:‘\101’第二题、多项选择题(每题2分,5道题共10分)1、对于16位系统中,C语言中整数 -8在内存中的错误存储形式是: BCDA、1111 1111 1111 1000B、1000 0000 0000 0000C、1000 0000 0000 1000D、1111 1111 1111 01112、下列关于C语言用户标识符的叙述中,不正确的叙述是: ACDA、用户标识符中可以出现下划线和中划线(减号)B、用户标识符中不可以出现中划线,但可以出现下划线C、用户标识符中可以出现下划线,但不可以放在用户标识符的开头D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头3、关于C语言程序的语句,正确的说法是( )。
BDA、一条语句只能占一行B、一行可以书写多条语句C、语句的结束标识符是句号D、建议每条语句占一行4、与汇编程序相比,C语言程序的优点包括( )。
西北农林科技大学C语言上机题答案

}
else
printf("这3个数无法组成三角形!");
}
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,p,s;
scanf("%f%f%f",&a,&b,&c);
{
float a,b,h,c,j,s;
scanf("%f%f",&a,&b);
h=a+b;
c=a-b;
j=a*b;
s=a/b;
printf("和=%f,差=%f,积=%f,商=%f\n",h,c,j,s);
}
printf("%d\n",x);
}
3.一天一只猴子摘下一堆桃子,吃了一半觉得不过瘾,有多吃了一个,第二天接着吃了前一天剩
下的一半,再多吃了一个,以后每天如此,知道滴n天,只剩下一个桃子,问猴子一共摘了多少桃子?
#include<stdio.h>
void main()
{
int n,x=1,i;
与输入输出有关的语句。
#include <stdio.h>
void main()
{
float mark;
scanf("%f",&mark);
if(mark<60)
printf("Fail\n");
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
01.编写程序,从键盘输入一个正数,判断它是否既是5又是7的倍数。
若是,则输出yes,否则输出no。
02.编写程序,从键盘输入一个五分制成绩,将其转换成百分制成绩输出。
03.编程实现以下功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可为'+','-','*','/'(用switch语句实现)。
04.从键盘输入一行字符,统计并输出其中的单词个数,单词间用空格间隔。
如输入: I am a student 结果显示:word=4。
05.从键盘输入3个字符串,要求找出最大的字符串并输出。
06.某班有多个同学,请编程实现输出该班高数课程的最高分、高低分和全班平均分。
07.输入两个正整数,求其最大公约数和最小公倍数。
08.从键盘输入10个实型数据,用查找数组中是否存在某一数据,存在则输出"Find",否则输出"NO Find"。
09.从键盘输入若干个字符(以回车结束输入),若为大写字母则转换为小写,并将结果显示输出。
10.将一个数组中的值按逆序重新存放。
例如:原来顺序为8,6,5,4,1。
要求改为1,4,5,6,8。
11.编写函数prime,判断一个整数是否是素数。
在主函数输入一个数,调用prime函数判断这个数是否是素数,然后在主函数中输出是否为素数的信息。
12.编写一个fun函数:long fun(char s[]),将一个数字字符串转换为一个整数(不得调用标准库函数)。
例如,若输入字符串"9876",则函数把它转换为整数值9876。
13.编写一个fun函数:void fun(long num, char s[]),将一个长整型数据转换为数字串。
14.编写一个求字符串长度的函数,在主函数中输入字符串,并输出其长度(不得调用标准库函数)。
15.编写程序,输出100~200之间的全部素数。
16.编写程序,按每行5个,输出100以内的全部素数。
17.编写程序,在屏幕上显示九九乘法表。
18.编写一个fun函数:void fun(char s[]),将一个字符串中的小写字母转换为大写(不得调用标准库函)。
19.从键盘输入10个整数,按降序排列后输出(要求用自义函数排序)。
20.输入一个3行3列的9个数据,再输出最大元素及所在的行号、列号。
21.试编写一个C程序:输入10个同学的单科成绩,要求按由大到小的顺序输出。
22.从键盘输入一个字符串(<80个字符),删除其中的数字字符。
23.给出一个百分制成绩,要求输出成绩等级
A,B,C,D,E。
90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
24.从键盘输入一个不多于5位的正整数,要求:①分别打印出每一位数字;②按逆序打印出各位数字,例如原数是987,应输出789。
25.比较两个字符串S1和S2,如果S1>S2,输出1;如果S1=S2,输出0;如果S1<S2,输出-1。
26.试编写一个C程序:将两个字符串S1和S2连接起来,结果保存在S1字符串中;
27.编写一个fun函数void fun(char s1[],char
s2[]),将两个字符串s1和s2连接起来存放在s1中。
28.编写一个函数,输入一个4位数字,要求输出这4个数字字符,但每个字符间空一个格。
29.输入若干个整数,请输出其最大值、最小值和平均值。
要求用函数实现,其中:①最大值函数max();
②最小值函数min();③平均值函数aver()。
30.输入一个百分制的学生成绩,然后把它转换成相应的'A'、'B'、'C'、'D'、'E'五个等级输出。
其中90分以上为'A'、80~89分为'B'、70~79分为'C'、60~69分为'D'、60分以下的为'E'。
31.从键盘上输入10个字符,将其中的小写英文字母转换成大写字母,并将结果显示出来(包括转换和未转换的字符)。
32.编写一个程序,计算一个从键盘输入的整数的各位之和。
33.输入任意多个学生的单科成绩,输出最高分、最低分及平均分(输入负数时结束输入)。
34.从键盘上输入若干个字符,统计其中英文字符、空格字符、数字字符及其他字符的个数,并将统计结果输出。
35.从键盘输入两个字符串str1和str2,并将字符串str2连接到str1的后面,并将结果显示出来。
要求:用数组编程实现;不能使用字符串库函数。
36.编写一个从指定的字符串中删除给定字符的函数delchar。
要求:该函数由main调用。
字符串和需删除的字符从键盘输入,并且在main函数中输出结果。
37.编写一个从指定的字符串中删除全部数字字符的函数deldig。
要求:该函数由main调用,字符串从键盘输入,并且在main函数中输出结果。
38.编写一个fun函数:long fun(char s[]),将一个数字字符串转换为一个整数(不得调用标准库函数,转换仅限于正整数)。
例如,若输入字符串"1234",则
函数把它转换为整数值1234。
39.利用函数和指针编写程序,从键盘输入一个字符串,然后按照下面要求输出一个新字符串。
新串是在原串中,每两个字符之间插入一个空格,如原串为abcd,则新串为a□b□c□d(□为空格)。
40.在主函数中输入整数m,调用函数fun,将所有大于1小于整数m的素数输出。
41.由键盘输入一个文件名,然后输入一串字符(用#结束输入)存入到此文件中,形成文本文件,并将字符的个数写到文件的尾部。
42.从键盘输入若干个整数(输入负数结束),以二进制的方式写到一个名为bi.dat的新文件中。
43.编写程序,从键盘输入一文本文件名,统计并显示文件中元音字母(a,e,i,o,u)出现的次数。
44.编写程序,在屏幕上显示九九乘法表,并将九九乘法表存储在指定文件中,文件名从键盘输入。
45.设计程序求100到200之间的所有素数,并将求得的素数输出到文本文件"E:\test.txt"中。
46.有50个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号,姓名,三门课成绩),计算出平均成绩,将平均成绩不及格的学生数据保存到A盘根目录下的文件"stud.dat"中。
47.编写一个程序,实现以下功能:由键盘输入一个文件名,然后把从键盘输入的字符依次存放到该文件中,用回车健作为结束输入的标志。
48.编写一个程序,将磁盘中的一个文件复制另一个文件中,文件名从键盘中输入。
49.已知在D盘根目录有一文本文件test.txt,该文件中有七行字符串,编写程序将该文件中的七行字符串显示输出到在屏幕上。
50.编写程序,实现将命令行给定的第一个参数文
本文件连接到命令行给定的第二个参数文本文件(文
本文件中每行字符串的长度不超过80个字符)。
51.从键盘输入一个文本文件名,编程将该文件中的所有小写字母修改为大写字母。
52.从键盘输入若干个正整数(输入负数结束),按降序排列后,将结果保存到D盘根目录中的sort.dat 中。
53.设计程序统计一个文本文件中字母的个数,并将统计结果显示在屏幕上。
54.设计程序统计一个文本文件中字母、数字字符、空格的个数,并将统计结果显示在屏幕上。
55.设计程序,统计文本文件"d:\lx.txt"中字符的个数,并输出个数。
56.建立一个有5个结点的单向链表,每个结点包含姓名、年龄和工资。
编写两个函数,一个用于建立链表,另一个用来输出链表。
57.建立一个有5个结点的单向链表,每个结点包含姓名、年龄。
编写两个函数,一个用于建立链表,另一个用来计算并输出平均年龄。
58.设计程序,输入5名学生的数据,每个学生的数据包括学号、姓名、成绩及名次,要求按成绩降序输出全部学生的数据。
59.设计程序,输入5名职工的数据,每个职工的数据包括姓名、年龄、工资,计算平均工资,并将全部学生的数据保存到文件"d:\student.dat"中。
60.有五个学生,每个学生有三门课的成绩,从键盘上输入学生的学号,姓名,三门课成绩,把它们存放到磁盘文件中,并从该文件中读出显示。