文档库 最新最全的文档下载
当前位置:文档库 › c语言上机题库 (1)

c语言上机题库 (1)

c语言上机题库 (1)
c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。

2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n!

当1/n!<0.000001时e=2.718282。

3、求一批数中最大值和最小值的积。

4、某一正数的值保留2位小数,对第三位进行四舍 五入。

5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4)

z=z=4/(x*(x+1))(x>-10)

z=|x|+20(其他)

6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为:

1 2 3 4 15 6

12 18 9

10 11 2

求出的最大数为18,行坐标为2,列坐标为1。

7、求一个n 位自然数的各位数字的积。(n 是小于10的

自然数)

8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。

9、求一批数中小于平均值的数的个数。

10、编写函数判断一个整数m 的各位数字之和能否被7整除,

可以被7整除则返回1,否则返回0。调用该函数找出

100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]),

tt指向一个M行N列的二维数组,求出二维数组每列

中最大元素,并依次放入pp所指一维数组中。二维

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

12、编写函数fun用比较法对主程序中用户输入的具有10

个数据的数组a按由大到小排序,并在主程序中输出

排序结果。

13、编写main程序调用函数fact求解从m个元素选n 个元

素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。

要求:m不能小于n,否则应有容错处理。

说明:函数fact(x)的功能是求x!。

14、找出一批正整数中的最大的偶数。

15、实现两个整数的交换。

例如:给a和b分别输入:60和65,输入为:

a=65 b=60

16、将字符串中的小写字母转换为对应的大写字母,

其它字符不变。

17、求一个四位数的各位数字的立方和。

18、求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。

19、对任意输入的x,用下式计算并输出y 的值。

5 x<10

y= 0 x=10

-5

x>10

20、求给定正整数m以内的素数之和。

例如:当m=20时,函数值为77。

21、判断整数x是否是同构数。若是同构数,函数返回1;

否则返回0。x的值由主函数从键盘读入,要求不大

于100

22、用函数求N个[10,60]上的整数中能被5整除的最大

的数,存在则返回这个最大值,如果不存在则返回0

23、编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),

其中d为1-9

的数字。

24、编写函数fun将一个数组中的值按逆序存放,并在

main()函数中输出。

例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8

25、对长度为8个字符的字符串,将8个字符按降序排列。

例如:原来的字符串为CEAedcab,排序后输出

edcbaECA

26、根据整型参数n

,计算如图公式的值。

27、键盘上输入一个3行3列矩阵的各个元素的值(为整数)

然后输出主对角线元素的积,并在fun()

函数中输出。28、编写函数fun(str,i,n),从字符串str中删除第i个

字符开始的连续n个字符(注意:str[0]代表字符串

的第一个字符)

29、统计出若干个学生的平均成绩,最高分以及得最高

分的人数。

例如:输入10名学生的成绩分别为92,87,68,56,92,

84,67,75,92,66,则输出平均成绩为77.9,

最高分为92,得最高分的人数为3

人。

30、编写程序,实现矩阵(3行3列)的转置(即行列互换)

31、用函数实现字符串的复制, 不允许用strcpy()

函数。

32、从键盘为一维整型数组输入10个整数,调用fun

函数找出其中最小的数,并在main函数中输出。

请编写fun

函数。

33、用do-while语句求1~100的累计和

34、编写函数求1~100中奇数的平方和。结果为

166650

35、计算并输出给定整数的所有因子之积(包括自身)。

规定这个整数的值不大于50。

36、求1到100之间的偶数之积

37、编写函数求表达式的和(n的值由主函数输入)。

1-1/2+1/3-1/4+......+1/m

38、产生20个[30,120]上的随机整数放入二维数组

a[5][4]中, 求其中的最小值。

39、能计算从1开始到n的自然数的和,n由键盘输入,

并在main()函数中输出。

40、用函数求N个[10,60]上的整数中能被5整除的最大

的数,如存在则返回这个最大值,如果不存在则

返回0。

41、计算出k以内最大的10个能被13或17整除的自然数之

和。(k〈3000)

42、判断一个整数w的各位数字平方之和能否被5整除,

可以被5整除则返回1,否则返回0。

43、从低位开始取出长整型变量s奇数位上的数,依次

构成一个新数放在t中。

例如:当s中的数为:7654321时,t中的数为:7531。

44、求大于lim(lim小于100的整数)并且小于100的所

有素数并放在aa数组中,该函数返回所求出素数的

个数。

45、求一批数中最大值和最小值的差

46、求出菲波那契数列的前一项与后一项之比的极限的

近似值。

例如:当误差为0.0001时,函数值为0.618056。

47、将两个两位数的正整数a、b合并形成一个整数放在c

中。合并的方式是:将a数的十位和个位数依次放在c 数

的个位和百位上, b数的十位和个位数依次放在c数的十位

和千位上。例如:当a=45,b=12,调用该函数后,c=2514。

48、编写函数判断一个整数m的各位数字之和能否被7整除,

可以被7整除则返回1,否则返回0。调用该函数找出

100~200之间满足条件的所有数。

49、判断m是否为素数

50、给定n个数据, 求最小值出现的位置(如果最小值

出现多次,求出第一次出现的位置即可)。

51、求出二维数组周边元素之和,作为函数值返回。二

维数组的值在主函数中赋予。

52、编写函数实现两个数据的交换,在主函数中输入任

意三个数据,调用函数对这三个数据从大到小排序。

53、编写函数判断一个整数能否同时被3和5整除,若能

则返回值为1,否则为0。调用该函数求出15~300之

间能同时被3和5整除的数的个数。

54、编写函数fun,求任一整数m的n次方

55、从键盘输入一个大于3的整数,调用函数fun判断

其是否素数,然后在main函数中输出相应的结论

信息。例如:7是素数,8不是素数。请编写fun

函数。素数是仅能被1和自身整除的数

56、用辗转相除法求两个整数的最大公约数

57、求一批数中小于平均值的数的个数

58、编写函数用选择排序法对数组中的数据进行从小到

大的排序。

59、从键盘为一维整型数组输入10个整数,调用fun函数

找出其中最小的数,并在main函数中输出。

60、将从键盘上输入的每个单词的第一个字母转换为大写

字母,输入时各单词必须用空格隔开,用’.’结束输入

61、编写函数fun求1!+2!+3!+ ……+n!的和,在main 函

数中由键盘输入n值,并输出运算结果。请编写fun函数。

例如:若n值为5,则结果为

153

62、根据整型形参m,计算如下公式的值:y=sin(m)*10。例如:若m=9,则应输出:

4.121185

63、求一个大于10的n位整数的后n-1位的数,并作为函

数值返回。

64、求给定正整数m以内的素数之和。例如:当m=20时,函数值为77。

65、求给定正整数n以内的素数之积。(n<28)

66、求一个给定字符串中的字母的个数。

67、求一个给定字符串中的字母的个数。

68、编写程序, 求矩阵(3行3列)与2的乘积

例如:输入下面的矩阵:

100 200 300

400 500 600

700 800 900

程序输出:

200 400 600

800 1000 1200

1400 1600 1800

69、编写函数fun用比较法对主程序中用户输入的具有10

个数据的数组a按由大到小排序,并在主程序中输出

排序结果。

70、编写函数fun计算下列分段函数的值:

x^2+x+6 x<0且x≠-3

f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3

x^2-x-1 其它

71、用函数将第2个串连接到第1个串之后,不允许使用

strcat函数。

72、求一组数中大于平均值的数的个数。

例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。

73、编写函数用冒泡排序法对数组中的数据进行从小到

大的排序。

74、将两个两位数的正整数a、b合并形成一个整数放在c

中。合并的方式是:将a数的十位和个位数依次放在

c数的千位和十位上,b数的十位和个位数依次放在

c数的个位和百位上。

例如:当a=45,b=12。调用该函数后,c=4251。

75、对某一正数的值保留2位小数,并对第三位进行四舍

五入。

76、求出菲波那契数列的前一项与后一项之比的极限的近似值。

例如:当误差为0.0001时,函数值为0.618056。

79、找出一个大于给定整数且紧随这个整数的素数,并

作为函数值返回。

80、用函数求fibonacci数列前n项的和。

说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项和。例如:当n=28时,运行结果:

832039

81、删除所有值为y的元素。数组元素中的值和y的值由主函数通过键盘输入

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

C语言上机练习题

上机练习题 完成 1.输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。 完成 2.计算1+2+3…+n的值,n是从键盘输入的自然数。 完成 3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。完成 4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中 各元素的值。 完成 5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面 值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。 完成 6.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。 例如若n为1000时,函数值应为:s=153.909064。 完成 7.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下 车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。 完成 8.输入1~10之间的一个数字,输出它对应的英文单词。 完成 9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些? 完成 10.用自然语言描述程序逻辑如下,试写程序。 ①设置环境; ②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0; ③i=1; ④如果i≤100,则转⑤,否则转⑧; ⑤令s=0,求前i个自然数之和,并放于变量s之中; ⑥sum=sum+s; ⑦i增加1,转④; ⑧输出和sum,结束。 完成 11.用自然语言描述的程序逻辑为: ①设置环境; ②定义变量i、flag和password,并令flag=0,i=0; ③用户回答口令,将其赋于password变量; ④口令正确?如果是,则flag=1,转⑥。否则转⑤; ⑤回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥; ⑥根据flag之值输出相应信息。 12.用自然语言描述的程序逻辑如下: ①设置环境;

C语言上机题库百科园第2章!南信大!

第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4

C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是()

C语言上机题库

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { int a,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { int num; int a,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a #include int main(void) { char c1,c2;

C语言上机练习题

上机练习题 1.输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。 2.计算1+2+3…+n的值,n是从键盘输入的自然数。 3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。 4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中 各元素的值。 5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面 值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。 6.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。 例如若n为1000时,函数值应为:s=153.909064。 7.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下 车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。 8.输入1~10之间的一个数字,输出它对应的英文单词。 9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些? 10.用自然语言描述程序逻辑如下,试写程序。 ①设置环境; ②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0; ③i=1; ④如果i≤100,则转⑤,否则转⑧; ⑤令s=0,求前i个自然数之和,并放于变量s之中; ⑥sum=sum+s; ⑦i增加1,转④; ⑧输出和sum,结束。 11.用自然语言描述的程序逻辑为: ①设置环境; ②定义变量i、flag和password,并令flag=0,i=0; ③用户回答口令,将其赋于password变量; ④口令正确?如果是,则flag=1,转⑥。否则转⑤; ⑤回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥; ⑥根据flag之值输出相应信息。 12.用自然语言描述的程序逻辑如下: ①设置环境; ②定义变量digit、x、y分别表示原始数、原始数的个位数和逆数; ③输入原始正整数x; ④从x中分解出个位数字digit; ⑤合并个位digit至逆数y中; ⑥原始数x缩小10倍:x=x/10; ⑦如果x非零,则转④; ⑧输出逆数y,结束 13.输入某三角形的三个边的长度,判断出这是个什么三角形(等腰、等边、任意,或不能构 成)。 14.输入10个数,分别统计其中正数、负数、零的个数。 15.先随机产生N个三位自然数输出,然后再输出其中同时是3、5、7倍数的数。(设N为100)

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

计算机c语言简单的练习题及答案

1.从矩形的长,宽,输出面积(长为6.5,宽为4.5) #include main() { float length,width,area; scanf("%f%f",&length,&width); area=length*width; printf("area=%f\n",area); } 2.定义符号常量,从键盘输入圆的半径 3.5,求圆的周长和面积#define PI 3.14 #include main() { float r,c,area; scanf("%f",&r); c=2*PI*r; area=PI*r*r; printf("c=%f,area=%f\n",c,area); } 3.练习上机手册P10 3,4,5题,看看输出结果,并思考为什么 4.从键盘输入一个整数,输出其绝对值(采用两个if语句实现)#include main()

{ int i; scanf("%d",&i); if(i>=0) printf("i=%d\n",i); if(i<0) printf("i=%d\n",-i); } 5.从键盘输入一个整数,输出其绝对值(采用if——else语句实现) #include main() { int i; scanf("%d",&i); if(i>=0) printf("i=%d\n",i); else printf("i=%d\n",-i); } 6.从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点) #include main() {

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

C语言上机练习题

C语言上机练习题 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

1.阅读以下程序,说出其功能和运算结果。 #include<> intmain() { intn; intfactorial(intn); scanf("%d",&n); printf("%d\n",factorial(n)); return0; } intfactorial(intn) { inti,fact=1; for(i=1;i<=n;i++) fact=fact*i; returnfact; } 若输入5↙ 2.改正下列程序中的错误,在屏幕上显示“WelcometoYou!”。 #include<> intmian() { printf("WelcometoYou!\n") return0; } 3.若输入4,程序运行结果为【1】,若输入-4,运行结果为【2】,若输入10,运行结果为【3】。 #include<> main() { intx,y; scanf("%d",&x); if(x<1) {y=x;

printf("x=%d,y=x=%d\n",x,y); } elseif(x<10) {y=2*x-1; printf("x=%d,y=2*x-1=%d\n",x,y); } else {y=3*x-11; printf("x=%d,y=3*x-11=%d\n",x,y); } } 4.当输入19,2,21时下列程序运行的结果是()。 #include<> main() {inta,b,c,max; printf("pleasescanthreenumbera,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); max=a; if(max

C语言上机练习题_828701982

C语言上机考试练习题(1) 说明:我们已经学习完成了基本数据类型、基本控制语句,以及数组、函数这些知识了,请同学们看看附件中的这些题目是否能够快速编写出来?可能有个别题目与过去的练习有些重复,请尽量不要去参考过去的答案。如果现在编写起来困难还很多,那你就要加倍努力了。 1、编写一个程序,判定一个字符串是否是另一个字符串的子串,若是,返回子串在主串中的位置。要求: (1)在主函数中输入两个字符串,调用子函数cmpsubstr()判断,并在主函数输出结果。 (2)子函数的返回值为-1表示未找到,否则返回子串的位置(起始下标)。#include #include void main() { int cmpsubstr(char *s1,char *s2); char str1[20],str2[50]; char *s1=str1,*s2=str2; gets(str1); gets(str2); printf("%d",cmpsubstr(s1,s2)); } int cmpsubstr(char *s1,char *s2) { int i,d,a=0,situation=0; d=strlen(s1); for(i=0;*(s2+i)!='\0';i++) {

if(*(s1+a)==*(s2+i)) { a++; if(a==d) { situation=1; break; } } else { a=0; } } if(situation==0)return(-1); else return(i-d+2); } 2、输入一个字符串,有数字和非数字字符,如:a123x456 17960?302tab5876,将其中连续的数字作为一个整数,依次存放到数组a中。例如,123放在a[0]中,456放在a[1]中等等,统计共有多少个整数,并输出这些整数。要求:(1)在主函数中输入字符串,并输出结果。调用子程序处理字符串。 (2)子函数的返回值为整数的个数。 #include #include void main() { int search(char *str,int *sum); char str[100]; int d,sum[20],i;

2020年全国计算机等级考试二级c语言上机精选题库(共80套)

2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include #define N 4 fun(int t[][N], int n) { int i, sum; ___1___; for (i=0; i

第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include #include /********found********/ fun(int n) { double A = 1; int i; /********found********/ for(i=2;i #include void fun (int a, int b, long *c) { }

历年全国计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

C语言习题

练习题 2015-2016(2)重修) 判断 1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .BAK 的文件。( ) 2.在 C 程序中, APH 和 aph 代表不同的变量。( ) 3.C语言中数据类型只有整型、实型和字符型。( ) 4.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。() 5.Break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。() 6.函数strlen("ASDFG\n")的值是7。() 7.结构体类型只有一种。() 8.构成数组的各个元素可以有不同的数据类型。( ) 9.C语言中字符串的结束符是'\0'。( ) 10.数组名代表数组的首地址。( ) 11.函数的递归调用不过是一个函数直接或间接地调用它自身。() 12.通过return语句,函数可以带回一个或一个以上的返回值。() 13.Char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。() 14.若有定义:char *p(char a[10]);则p是函数名。() 15.用fopen("file","r+");打开的文件"file"可以进行修改。() C概述,数据类型,运算符,表达式,选择结构 1.以下叙述中正确的是()。 A.程序设计的任务就是编写程序代码并上机调试 B.程序设计的任务就是确定所用数据结构 C.程序设计的任务就是确定所用算法 D.以上三种说法都不完整 2. C语言源程序的基本单位是()。 A.过程 B.函数 C.子程序 D.标识符 3. C语言规定,在一个源程序中main函数的位置()。 A.必须在最开始 B.必须在最后 C.必须在预处理命令的后面 D.可以在其他函数之前或之后 4.以下叙述中正确的是()。 A.C语言系统以函数为单位编译源程序 B.main函数必须放在程序开始 C.用户定义的函数可以被一个或多个函数调用任意多次 D.在一个函数体内可以定义另外一个函数 5. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符() A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母,数字和下划线中任一种字符 6.下面四个选项中,均是合法转义字符的选项是() A.'\'' '\\' '\n' B.'\' '\017' '\"' C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf' 7.下面四个选项中,均是不合法的用户标识符的选项是() A.A P_0 do B.float la0 _A C.b-a goto int D._123 temp INT 8.已知有声明 char c='1';int x=300;float t=35000;double d=3.1234567e10; ,则以下表达式求值 时除( )外其结果都可能是不准确的。 A.x=t/c B.t=d/x C.t=d/le5f D.t=x+c 9.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为()。 A.3 B.3.0 C.3.89 D.4.0 10.已知有声明"int a=3,b=4,c=5;",以下表达式中值为0的是()。

二级C语言上机题库及答案

第一套题 上机填空: #include double fun(double e) { int i, k; double s, t, x; s=0; k=1; i=2; /**********found**********/ x=__1__/4; /**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i; /**********found**********/ x=__3__/(t*t); i++; } return s; } main() { double e=1e-3; printf("\nThe result is: %f\n",fun(e)); 第一处答案:3.0 第二处答案:> 第三处答案:(2*i+1)或者(t+1) 上机改错题: #include /************found************/ void fun ( int n )

{ int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5; printf( "\nThe value of function is: %lf\n", fun ( n ) ); } 第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b; 第二套题 上机填空题 #include double fun(int n) { int i; double s, t; /**********found**********/ s=__1__; /**********found**********/ for(i=1; i<=__2__; i++) { t=2.0*i; /**********found**********/ s=s+(2.0*i-1)*(2.0*i+1)/__3__; } return s; } main() { int n=-1; while(n<0) { printf("Please input(n>0): "); scanf("%d",&n); }

c语言经典程序100题

【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++) /*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: # include main() { double i; double bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%lf",&i); bonus1=100000*0.1; bonus2=bonus1+100000*0.075; bonus4=bonus2+200000*0.05; bonus6=bonus4+200000*0.03; bonus10=bonus6+400000*0.015;

浙江大学C语言上机考试题库

上机考试练习题 20021程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &x); /*---------*/ if(x!=0) y=1/x; else y=0; printf("f(%.2f) = %.1f\n", x, y); } } 20022程序填空,不要改变与输入输出有关的语句。 输入华氏温度,输出对应的摄氏温度。计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。 输入输出示例:括号内为说明 输入 150 (fahr=150) 输出 celsius = 65 #include int main(void)

int celsius, fahr; /*---------*/ scanf(“%d”,&fahr); celsius=5.0*(fahr-32)/9; printf("celsius = %d\n", celsius); } 20023程序填空,不要改变与输入输出有关的语句。 输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 #include #include int main(void) { int money, year; double interest, rate; /*---------*/ scanf(“%d%d%lf”,&money,&year,&rate); interest=money*pow((1+rate),year)-money; printf("interest = %.2f\n", interest); } 20024程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 -0.5

C语言上机练习题及复习资料

1输入三个整数x,y,z,把这三个数由小到大输出。 # include void 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*r void main() { double r; printf("please input r:"); scanf("%lf",&r); printf("area is %.4lf\n",S); printf("volume is %.4lf\n",V); } 输入正方形的边长,输出正方形的周长和面积。 # include void 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 码。 # include int main() {char-ch1,ch2,ch3;

全国计算机等级考试C语言上机考试题库 套

2017年全国计算机等级考试C语言上机考试题库 学生练习用第41套至第60套 第四十一套 1、程序填空 下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件中。 不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include <> #include <>

#include <> char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i='a')&&(s[i]<='z'))||((s[i]>='A')&&(s[i]<='Z'))) { /**********found**********/ t[j]=__1__; j++;} else { p[k]=s[i]; k++; } } /**********found**********/

C语言上机题库1

一、选择题 1.下列变量说明语句中,正确的是()。 A、char a;b;c; B、char:a b c; C、int x;z; D、int x,z; 2.设以下变量均为int类型,则值不等于7的表达式是()。 A、(x=6,x+1,y=6,x+y) B、(x=y=6,x+y,y+1) C、(y=6,y+1,x=y,x+1) D、(x=y=6,x+y,x+1) 3.x,y,z,t均为整型变量,则执行以下语句后,t的值为:() x=y=z=1; t=++x||++y&&++z; A、0 B、1 C、2 D、不定值 4.如果int a=2,b=3,c=0,下列描述正确的是()。 A、a&&b>c的结果为假 B、!a!=(b!=c)表达式的值为1 C、a||(b=c)执行后b的值为0 D、a>b!=c和a>(b!=c)的执行顺序是一样的 5.从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句()。#include "stdio.h" main() { int min=0,a; do{ scanf("%d",&a); if(min>a) min=a; }while(___A___); printf("%d",min); } A、a=0 B、a==0 C、a>0&&a<0 D、a!=0

6.设有如下程序段: int k=10; while(k==0) k--; 则下述说明中正确的是(). A、循环体一次也不执行 B、循环体执行一次 C、死循环 D、循环体执行10次 7.static char str[10]="China";数组元素个数为()。 A、6 B、9 C、5 D、10 8.函数调用:strcat(strcpy(str1,str2),str3)的功能是()。 A、将串str1复制到串str2中后再连接到串str3之后 B、将串str2连接到串str1之后再将串str1复制到串str3中 C、将串str1连接到串str2之后再复制到串str3之后 D、将串str2复制到串str1中后再将串str3连接到串str1之后 9.C语言程序中必须有的函数是()。 A、#include "stdio.h" B、main C、printf D、scanf 10.程序运行结束后,屏幕上输出值为(). static int x=10; main( ) { int x=3; f( ); x- -; printf("%d",x); } f( ) { x++; } A、10 B、2 C、11 D、3

相关文档
相关文档 最新文档