C语言题库编程河南工业大学河工大c语言期末

合集下载

c语言期末考试题库及详解答案编程题

c语言期末考试题库及详解答案编程题

c语言期末考试题库及详解答案编程题在C语言的期末考试中,编程题是检验学生对C语言编程能力的重要部分。

以下是一套精心准备的C语言期末考试题库及详解答案,帮助学生复习和准备考试。

1. 编写一个程序,计算并输出100以内所有素数的和。

素数是指只能被1和它本身整除的大于1的自然数。

我们可以通过遍历2到99的每个数,检查它是否为素数,如果是,则累加到总和中。

最后输出总和。

```c#include <stdio.h>#include <stdbool.h>bool isPrime(int num) {if (num <= 1) return false;for (int i = 2; i * i <= num; i++) {if (num % i == 0) return false;}return true;}int main() {int sum = 0;for (int i = 2; i <= 100; i++) {if (isPrime(i)) {sum += i;}}printf("The sum of all prime numbers less than 100is: %d\n", sum);return 0;}```2. 编写一个程序,实现字符串的反转。

字符串反转是一个常见的编程问题,可以通过遍历字符串,将字符从后向前存入新的字符串中,然后输出。

```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = len - 1; i >= 0; i--) {printf("%c", str[i]);}}int main() {char str[] = "Hello, World!";printf("Original string: %s\n", str);printf("Reversed string: ");reverseString(str);printf("\n");return 0;}```3. 编写一个程序,计算数组中所有元素的平均值。

大学期末c语言考试题库及答案

大学期末c语言考试题库及答案

大学期末c语言考试题库及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 下列哪个选项是C语言中的关键字?A. includeB. intC. mainD. sum答案:B3. 在C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A4. C语言中,以下哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. average()答案:C5. 下列哪个选项是C语言中正确的字符串定义方式?A. char str[10] = "Hello";B. char str[10] = 'Hello';C. char str = "Hello";D. char str[10] = "Hello", "World";答案:A6. C语言中,以下哪个是正确的二维数组定义?A. int array[3, 4];B. int array[3][4];C. int array[][] = {1, 2, 3, 4};D. int array[3][4] = {1, 2, 3};答案:B7. C语言中,以下哪个是正确的函数定义?A. void myFunction();B. int myFunction() {}C. void myFunction() {}D. int myFunction() {}答案:C8. 在C语言中,以下哪个选项用于输入一个整数?A. scanf("%d", &number);B. printf("%d", &number);C. gets(&number);D. puts(&number);答案:A9. C语言中,以下哪个选项用于输出一个浮点数?A. printf("%f", number);B. scanf("%f", number);C. gets(number);D. puts(number);答案:A10. 在C语言中,以下哪个选项是正确的循环结构?A. for (int i = 0; i < 10; i--)B. for (int i = 0; i <= 10; i++)C. for (int i = 0; i < 10; i++)D. for (int i = 10; i--; i < 0)答案:C二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是 ________ 。

大学c语言期末考试题库试题及答案

大学c语言期末考试题库试题及答案

大学c语言期末考试题库试题及答案在即将到来的大学C语言期末考试中,同学们可能会遇到各种类型的题目。

以下是一些典型的试题及其答案,供同学们复习参考。

1. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A. int2. 若有定义:int a = 10; 则表达式 a++ 的值是多少?A. 9B. 10C. 11D. 无法确定答案:B. 103. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. str_length()D. string_length()答案:A. strlen()4. 若有以下代码片段:```cint x = 5;printf("%d", x++);```执行后输出的结果是?A. 4B. 5C. 6D. 无法确定答案:B. 55. 在C语言中,以下哪个选项表示“逻辑与”操作?A. &&B. ||C. !D. &答案:A. &&6. 若有以下代码:```cint a = 3, b = 4, c;c = a + b;```则变量 c 的值是多少?A. 7B. 3C. 4D. 无法确定答案:A. 77. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2,3];B. int array[2][3];C. int array[2][3][4];D. int array[][];答案:B. int array[2][3];8. 若有以下函数定义:```cint add(int x, int y) {return x + y;}```则调用 add(5, 3) 时,返回的值是多少?A. 2B. 5C. 8D. 无法确定答案:C. 89. 在C语言中,以下哪个选项表示“不等于”的比较运算符?A. ==B. !=C. =D. <=答案:B. !=10. 若有以下代码:```cchar str[] = "Hello";str[0] = 'h';```执行后,str 数组的内容是什么?A. "hello"B. "Hello"C. "helloworld"D. "hEllo"答案:A. "hello"这些题目覆盖了C语言的基础知识点,包括关键字、变量、函数、数组以及基本的控制结构。

河南工业大学C语言考试题

河南工业大学C语言考试题
【HNCE网上考试系统 v9.6】本套软件使用权属于:河南工业大学
考试课程:程序设计基础考试时间:120分钟考场:未定义考试日期:2015.06.16
考号:姓名:
剩余时间:
27:00
保存交卷退出帮助
窗体顶端
本卷共有1道大题:
窗体底端
一、编程题(7道小题,共100分)
1、该程序完成功能:用户输入性别和年龄,用来判读是否退休,若退休则输出“yes”,没有退休则输出“No”,要求:男用'M'字符,女用'F'字符,男的大于60岁退休,女性大于55岁退休。
(15分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序
5、程序功能:用户输入一个字符串,求出该字符串中"Z"字符的个数。
(15分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序
(10分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序
窗体底端
考号:201416030111姓名:尚佳杰
剩余时间:
27:00
保存交卷退出帮助
强烈建议您使用IE5.0以上,屏幕分辨率800X600以上,真彩,小字体浏览
请将你解答本题所写的源程序粘贴到下面或者上载源程序
3、从键盘输入6个整数存到数组中,输出其最小值和它所对应的的下标。
(15分)
必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!
请将你解答本题所写的源程序粘贴到下面或者上载源程序

(完整版)C语言题库(编程)河南工业大学河工大c语言期末考考试库

(完整版)C语言题库(编程)河南工业大学河工大c语言期末考考试库

(完整版)C语言题库(编程)河南工业大学河工大c语言期末考考试库C语言题库(编程)河南工业大学河工大c语言期末考试题库二、编程题1.有一函数:当x0时,y=-1;当x=0时,y=0;当x0时,y=1。

编一程序,输入x的值,输出y的值。

#include<stdio.h></stdio.h>void main(){int x,y;printf(“请输入x:");scanf("%d",if(x0)y=-1;else if(x=0)y=0;elsey=1;printf("y=%d",y);}2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。

#include<stdio.h></stdio.h>void main(){int a,b,c,temp=0;printf("please input a,b,c: ");scanf("%d %d %d",a,b,if(a<b) {temp="a;a=b;b=temp;}</p"></b)>if(a<c){temp=a;a=c;c=temp;}></c){temp=a;a=c;c=temp;}>if(b<c){temp=b;b=c;c=temp;}></c){temp=b;b=c;c=temp;}>printf("从大到小为:%d,%d,%d\n",a,b,c);}3.有三个整数a,b,c,由键盘输入,输出其中最大者。

void main(){int a,b,c,max;printf("输入三个数字:\n");scanf("%d%d%d",a,b,if(abac)max=a;if(babc)max=b;if(cacb)max=c;printf("最大值是: %d\n",max);}4.编程求圆面积、圆周长。

大学c语言期末考试题库及答案

大学c语言期末考试题库及答案

大学c语言期末考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 以下哪个选项是正确的C语言变量声明?A. int a = b = 2;B. int a = 2, b;C. int a = 2.0;D. int a = 2, b = 3.0;答案:B3. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A4. 以下哪个选项是C语言中的合法数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案:B5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. pow()C. sqrt()D. sum()答案:D6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = "hello";D. int *ptr = 5;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B9. C语言中,以下哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. do-whileD. switch答案:C10. 在C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. free()答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

(完整版)河南工业大学编程考题(完整).doc

(完整版)河南工业大学编程考题(完整).doc

1.有一函数:当x<0 时 ,y=-1 ;当 x=0 时 ,y=0;当 x>0 时 ,y=1.编一程序 ,输入 x 地值 ,输出 y 地值 .#include<stdio.h>void main(){int x,y;printf(" 请输入 x:");scanf("%d",&x);if(x<0)y=-1;else if(x=0)y=0;elsey=1;printf("y=%d",y);}2.输入三个实数,将这三个数按由大到小地顺序排列,并输出这三个数.#include<stdio.h>void main(){int a,b,c,temp=0;printf("please input a,b,c:");scanf("%d %d %d",&a,&b,&c);if(a<b) {temp=a;a=b;b=temp;}if(a<c){temp=a;a=c;c=temp;}if(b<c){temp=b;b=c;c=temp;}printf(" 从大到小为:%d,%d,%d\n",a,b,c);}3.有三个整数a,b,c,由键盘输入 ,输出其中最大者.#include<stdio.h>void main(){int a,b,c,max;printf(" 输入三个数字:\n");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c)max=a;if(b>a&&b>c)max=b;if(c>a&&c>b)max=c;printf(" 最大值是 : %d\n",max);}4.编程求圆面积、圆周长.要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字.#include<stdio.h>#define pi 3.1416main(){float r,l,s;printf(" 请输入半径:\n");scanf("%f",&r);l=2*pi*r;s=pi*r*r;printf("l=%7.2f\ns=%7.2f\n",l,s);}5.有分段函数 :当 x<-10 时 ,y=|x|+5; 当-10≤ x≤ 10 时,y=4x-8; 当 x>10 时 ,y=sqrt(x).编一程序 ,输入 x 地值 ,输出 y 地值 .#include <stdio.h>int main(){ int x,y;printf(" 输入 x:");scanf("%d",&x);if(x<-10){ y=|x|+5;printf("x=%3d,y=|x|+5=%d\n" ,x,y);}else if(x<=10){ y=4*x-8;printf("x=%d,y=4*x-8=%d\n",x,y);}else{ y=sqrt(x);printf("x=%d,y=sqrt(x)=%d\n",x,y);}return 0;}6.编写程序 ,判断某一年是否是闰年.(闰年地条件是:能被 4 整除 ,但是不能被100 整除 ,或者可以被 400 整除 .)#include <stdio.h>int 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");return 0;}7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字.公式为c=5/9(f-32)#include<stdio.h>int main(){float f,c;printf(" 输入华氏温度:\n");scanf("%f",&f);c=(f-32)/1.8;printf(" 对应地摄氏温度是:%5.2f\n",c);}8.有一函数:当x<1 时 ,y=|x|;当 1<=x<10 时,y=2x-1 ;当 x>=10 时 ,y=3x+11.编一程序 ,输入 x 地值 ,输出 y 地值 .#include <stdio.h>void main(){int x,y;printf(" 输入 x:");scanf("%d",&x);if(x<1){ y=|x|;printf("x=%3d, y=|x|=%d\n",x,y);当x<1时,y=|x|;当1<=x<10时,y=2x-1;当x>=10时,y=3x+11 }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);}}9.输入三个实数,将这三个数按由小到大地顺序排列,并输出这三个数.#include<stdio.h>void main(){int a,b,c,temp=0;printf("please input a,b,c:");scanf("%d %d %d",&a,&b,&c);if(a>b) {temp=a;a=b;b=temp;}if(a>c){temp=a;a=c;c=temp;}if(b>c){temp=b;b=c;c=temp;}printf(" 从小到大为:%d,%d,%d\n",a,b,c);}10.输入一个字符,判断它是否是小写字母,如果是 ,将它转换成大写字母;如果不是,不转换 .然后输出最后得到地字符.#include<stdio.h>#include<string.h>void main(){char a;scanf("%c",&a);if(islower(a))a=a-32;printf("%c\n",a);}11.编程求圆柱体积,圆柱表面积 .要求圆半径 ,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字.#include <stdlib.h>int main(int argc, char *argv[]){float r,h,l,s,sq,vq,vz;float pi=3.1415926;printf(" 请输入圆地半径r,圆柱高 h: ");scanf("%f,%f",&r,&h);l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=4.0/3.0*pi*r*r;vz=pi*r*r*h;printf(" 圆周长为: l=%6.2f\n",l);printf(" 圆面积为: s=%6.2f\n",s);printf(" 圆球表面积为:sq=%6.2f\n",sq);printf(" 圆球体积为:vq=%6.2f\n",vq);printf(" 圆柱体积为:vz=%6.2f\n",vz);system("PAUSE");return 0;}12.有分段函数:当x<-5 时 ,y=x+10;当-5≤x≤5时,y=x^2;当x>5时,y=2x-10.编一程序 ,输入 x 地值 ,输出 y 地值 .#include <stdio.h>void main(){int x,y;printf(" 输入 x:");scanf("%d",&x);if(x<-5){ y=x+10;printf("x=%3d, y=x+10=%d\n",x,y);}else if (x<5){ y=x^2;printf("x=%3d, y=x^2=%d\n",x,y);}else{ y=2*x-10;printf("x=%3d, y=2*x-10=%d\n",x,y);}}13.有三个整数a,b,c,由键盘输入 ,输出其中最小者.#include <stdio.h>int main(){int a,b,c,temp,min;printf(" 请输入三个整数:");scanf("%d,%d,%d",&a,&b,&c);temp=(a<b)? a:b;min=(temp<c)? temp:c;printf(" 三个数中最小数是%d\n",min);return 0;}14.输入一个字符,判断它是否是大写字母,如果是 ,将它转换成小写字母;如果不是,不转换 .然后输出最后得到地字符.#include <stdio.h>void main(){char c;printf("input ch:");c=getchar();if( c>='A'&&c<='Z'){c=c+32;printf("%c",c);}else printf("%c",c);}15.输入三角形地三边长 ,求三角形面积 .求三角形面积地公式为area=sqrt(s(s-a)(s-b)(s-c)),其中 s=(a+b+c)/2 #include<stdio.h>#include<math.h>void main(){float a,b,c,s,area;printf(" 依次输入a,b,c: ");scanf("%f%f%f,",&a,&b,&c);s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c));printf(" 面积为: %7.2f",area);}16.编程求 2!+4!+6!+8!+10! 地值 ,并输出结果 .#include<stdio.h>int main(){int n=1,sum=0,j,m=1,i;for(i=1;i<=5;i++){m=1;for(j=1;j<=2*i;j++)m=m*j;sum=sum+m;}printf("sum=%d\n",sum);return 0;}17.猴子吃桃问题.猴子第一天摘下若干个桃子,当即吃了一半 ,还不过瘾 ,又多吃了一个. 第二天早上又将剩下地桃子吃掉一半,又多吃一个 .以后每天早上都吃了前一天剩下地一半零一个 .到第 10 天早上想吃时就剩一个桃子了.求第一天共摘了多少个桃子.#include<stdio.h>void main(){int day; static x1=1;day=10;while(day>0){x1=(x1+1)*2;day--;}printf(" 桃子总数 =%d\n",x1);}18.输出所有地“水仙花数”,所谓“水仙花数”是指一个 3 位数 ,其各位数字立方和等于该数本身 .#include<stdio.h>int main(){int i,j,k,n;printf(" 水仙花数是 ");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d ",n);}printf("\n");return 0;}19.编程求 1~100 之间地所有素数,并输出结果 .#include <stdio.h>int main(void){int a[100],i,j;for (i = 0; i<100; i++) a[i]=i+1;for (i=1; i<100; i++)for (j=i+1; j<100; j++)if (a[i]&&a[j]%a[i]==0)a[j]=0;for (i = 1; i<100; i++)if (a[i]) printf("%d\t",a[i]);return 0;}20.编程求 1!+3!+5!+7!+9!地值,并输出结果.#include<stdio.h>int main(){int n=1,sum=0,j,m=1,i;for(i=1;i<=5;i++){m=1;for(j=1;j<=2*i-1;j++)m=m*j;sum=sum+m;}printf("sum=%d\n",sum);return 0;}21.用 pi/4 ≈ 1-1/3+1/5-1/7+... 公式求 pi 地近似值 ,直到某一项地绝对值小于 10 地-6 次方为止 .#include<stdio.h>#include<math.h>int main(){int sign=1;double pi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-6){pi=pi+term;n=n+2;sign=-sign;term=sign/n;}pi=pi*4;printf("pi=%10.8f\n",pi);return 0;}22.一个球从100m 高度自由落下,每次落地后又反跳回原高度地一半,再落下 ,再反弹 .求它在第 10 次落地时共经过多少米?#include "stdio.h"#include "stdio.h"main(){float sn=100.0,hn=sn/2;int n;for(n=2;n<=10;n++){sn=sn+2*hn;/* 第 n 次落地时共经过地米数*/hn=hn/2; /* 第 n 次反跳高度 */}printf("the total of road is %f\n",sn);getch();}23.入两个正整数m 和 n,求其最大公数和最小公倍数.#include <stdio.h>int main(){int p,r,n,m,temp;printf(" 入两个正整数n,m:");scanf("%d%d,",&n,&m);if (n<m){temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf(" 它地最大公数 :%d\n",n); printf("它地最小公数 :%d\n",p/n); return 0;}24.利用循 ,程求 1!+2!+3!+ ⋯+10! 地 ,并出果 .main(){int i,j,n,sum=0;for(i=1;i<=10;i++){n=1;for(j=1;j<=i;j++)n*=j;sum+=n;}printf("%d\n",sum);}20 之和 .25.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......, 求出个数列前#include<stdio.h>main(){ int i,x,y,a;float sum=0;x=2;y=1;for(i=1;i<20;i++){sum+=(float)(x)/y;//printf("%d/%d\n",x,y);a=x;x=x+y;y=a;}printf("%7.5f\n",sum);}26.求 Fibonacci 数列前 40 个数 .这个数列有以下特点:第1和第2个数为1,从第3个数开始, 该数是其前面两个数之和.#include<stdio.h>#define N 4long fibonacci(int n){if (0==n||1==n) return 1;elsereturn fibonacci(n-1)+fibonacci(n-2);}int main(void){int i;printf("Fibonacci数列地前40 项 \n");for (i=0; i<40;){printf("%-10ld",fibonacci(i++));if(i%N==0) printf("\n");}printf("\n");return 0;}27.一个数如果恰好等于它地因子之和,这个数就称为完数.例如 ,6 地因子为 1、2、3,而 6=1+2+3, 因此 6 是完数 .编程求 1000 以内所有完数 .#include<stdio.h>void main(){int i,j;int sum;for(i=2;i<1000;i++){sum=0;for(j=1;j<i;j++)if(i%j==0)sum=sum+j;if(sum==i)printf("%d 是完数 \n",sum);}}28. 求S=a+aa+aaa+...+aa...a(n 个 a) 之值 .其中 a 是一个数字,n 代表 a 地位数.例如:2+22+222+2222+22222 (此时 n 为 5) ,n 由键盘输入 .#include <stdio.h>int main(){int a,n,i=1,sn=0,tn=0;printf("a,n=:");scanf("%d,%d",&a,&n);while(i<=n){tn=tn+a;sn=sn+tn;a=a*10;++i;}printf("a+aa+aaa+...=%d\n",sn);return 0;}29.编程求 100~200 之间地所有素数,并输出结果 .#include<stdio.h>#include<math.h>int main(){int n,k,i,m=0;for(n=101;n<=200;n=n+2){k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1){printf("%d",n);m=m+1;}if(m%10==0)printf("\n");}printf("\n");return 0;}30.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符地个数.#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);}31.将一个数组中地值按逆序重新存放.例如 ,原来顺序为8,6,4,3,2,0.要求改为 0,2,3,4,6,8. #include<stdio.h>#define N 5int main(){int a[N],i,temp;printf("enter array a:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);printf("array a:\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;}printf("\nNOW,array a:\n");for(i=0;i<N;i++)printf("%4d",a[i]);printf("\n");return 0;}32.编写一个函数,求数列 1+1/2+1/3+1/4+1/5+...1/n, 利用主函数调用这个函数并输出结果. #include <stdio.h>main(){float i=1,sum=0,n;printf("input a number n:");scanf("%f",&n);while(i<=n){sum+=1.0/i;i=i+1;}printf("%f\n",sum);}33.将一个二维数组int a[3][4] 地行和列地元素互换,存到另外一个二维数组中. #include <stdio.h>int main(){int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};int b[4][3],i,j;printf("arrary a:\n");for(i=0;i<=2;i++){for(j=0;j<=3;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("array b:\n");for(i=0;i<=3;i++){for(j=0;j<=2;j++)printf("%5d",b[i][j]);printf("\n");}return 0;}34.利用循环输出以下图形***************#include <stdio.h>int main(){inti,j,m;for(i=1;i<=5;i++){m=i;for(m=1;m<i;m++)printf(" ");for(j=0;j<=5-i;j++)printf("*");printf("\n");}return 0;}35.用冒泡排序法对输入地10 个数进行降序排序,并存入数组中.#include <stdio.h>int main(){int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]<a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:\n");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");return 0;}36.有一个 3 乘 4 地矩阵 ,要求编程序求出其中值最大地那个元素地值,以及其所在地行号和列号.#include <stdio.h>int main(){int i,j,row=0,colum=0,max;int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){max=a[i][j];row=i;colum=j;}printf("max=%d,row=%d,colum=%d\n",max,row,colum);return 0;}37.用冒泡排序法对输入地10 个数进行升序排序,并存入数组中.#include <stdio.h>int main(){int a[10];int i,j,t;printf("input 10 numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("the sorted numbers:\n");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");return 0;}38.利用循环 ,输出以下图形*************************#include <stdio.h>int main(){char a[5]={'*','*','*','*','*'};int i,j,k;char space=' ';for (i=0;i<5;i++){printf("\n");printf("");for(j=1;j<=i;j++)printf("%c",space);for (k=0;k<5;k++)printf("%c",a[k]);}printf("\n");return 0;}39.输出以下杨辉三角形(要求输出10 行) . 11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1...#include<stdio.h>#define N 10int main(){int i,j,a[N][N]; for(i=0;i<N;i++){ a[i][i]=1;a[i][0]=1;}for (i=2;i<N;i++)for(j=1;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<N;i++){for(j=0;j<=i;j++)printf("%6d",a[i][j]);printf("\n");}printf("\n");return 0;}40.利用循环输出以下图形****************#include <stdio.h>int main(){int i,j,m;for (i=1;i<=4;i++){m=i;for (m=1;m<=4-i;m++) printf(" ");for (j=0;j<2*i-1;j++)printf("*");printf("\n");}return 0;}41.利用循环 ,输出以下图形****************#include<stdio.h>int main(){int n,i,j;scanf("%d",&n);for(i=0;i<n;i++){for(j=n-1-i;j>0;j--)printf(" ");for(j=0;j<2*i+1;j++){int k=j;if(k>25)k%=26;printf("%c",'*'+k);}printf("\n");}return 0;}42.求一个 3× 3 地整型矩阵对角线元素之和.#include<stdio.h>main(){int a[3][3],i,j,sum=0;printf(" 请输入数组元素:( 3*3) \n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);printf("\n");printf(" 数组为: \n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%4d",a[i][j]);printf("\n");}printf("\n");printf(" 对角线地和:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j||2-i==j)sum+=a[i][j];printf("%d\n",sum);}43.编写程序 ,将两个字符串连接起来,不要使用strcat 函数 .int main(){char *a="qwet",*b="woei";char c[20];int i,j;for( i=0,j=0;*(a+i);i++ ,j++)c[j]=*(a+i);for(i=0; *(b+i);i++,j++ )c[j]=*(b+i);c[j]='\0';for( i=0; c[i] ;i++)printf("%c ",c[i]);}44.写一个函数 ,求两个整数中地较大者 ,用主函数调用这个函数 ,并输出结果 ,两个整数由键盘输入 .#include<stdio.h>int maxNum(int a,int b){return(a>b?a:b);}void main(){int a,b,max;printf("Enter two numbers!\n");scanf("%d%d",&a,&b);max=maxNum(a,b);printf("Max:%d\n",max);}45.编写两个函数分别求两个整数地最大公约数和最小公倍数 ,在主函数中调用这两个函数 , 并输出结果 ,两个整数由键盘输入 .#include<stdio.h>int hcf(int,int);int lcd(int,int,int);void main(){int u,v,h,l;scanf("%d,%d",&u,&v);h=hcf(u,v);printf("H.C.F=%d\n",h);l=lcd(u,v,h);printf("L.C.D=%d",l);}int hcf(int u,int v){int t,r;if(v>u){t=u;u=v;v=t;while((r=u%v)!=0) {u=v;v=r;}return (v);}int lcd(int u,int v, int h) {return (u*v/h);}。

河南工业大学C语言题库

河南工业大学C语言题库
~~~1
2下列isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。
int isprime(int a)
{int i;
for(i=2;i<=a/2;i++)
if(a%i==0)[<return(0)>];
[<return(1)>];
}
~~~1
3设有定义:float x=123.4567;,则执行下列语句后的输出结果是[<123.460000>]
printf("%d",a[i]);
printf("\n");
}
~~~7
6设有定义语句:int a[][3]={{0},{1},{3}},则数组元素a[1][2]是[<0>]
~~~7
7下列程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行4个输出,请填空。
~C
~~~1
下列叙述正确的是()。
C程序中的注释只能出现在程序的开始位置
C程序书写格式严格,要求一行只能写一个语句
C程序书写格式自由,一行可以写多条语句
用C语言编写的程序只能放在一个程序文件中
~C
~~~1
下列不合法的数值常量是()。
011
1e1
8.0e0.5
0xabc
~C
~~~1
可在C程序中用作用户标识符的一组是()。
*printf("%d,%d,%d\n",x,y,z);
*}
*程序运行的结果是()。
2,3,3
2,3,2
2,3,1
2,2,1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言题库(编程)河南工业大学河工大c语言期末考试题库二、编程题1.有一函数:当x&lt;0时,y=-1;当x=0时,y=0;当x&gt;0时,y=1。

编一程序,输入x的值,输出y的值。

#include&lt;stdio.h&gt;void main(){int x,y;printf(&quot;请输入x:&quot;);scanf(&quot;%d&quot;,&amp;x);if(x&lt;0)y=-1;else if(x=0)y=0;elsey=1;printf(&quot;y=%d&quot;,y);}2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。

#include&lt;stdio.h&gt;void main(){int a,b,c,temp=0;printf(&quot;please input a,b,c: &quot;);scanf(&quot;%d %d %d&quot;,&amp;a,&amp;b,&amp;c);if(a&lt;b) {temp=a;a=b;b=temp;}if(a&lt;c){temp=a;a=c;c=temp;}if(b&lt;c){temp=b;b=c;c=temp;}printf(&quot;从大到小为:%d,%d,%d\n&quot;,a,b,c);}3.有三个整数a,b,c,由键盘输入,输出其中最大者。

void main(){int a,b,c,max;printf(&quot;输入三个数字:\n&quot;);scanf(&quot;%d%d%d&quot;,&amp;a,&amp;b,&amp;c);if(a&gt;b&amp;&amp;a&gt;c)max=a;if(b&gt;a&amp;&amp;b&gt;c)max=b;if(c&gt;a&amp;&amp;c&gt;b)max=c;printf(&quot;最大值是: %d\n&quot;,max);}4.编程求圆面积、圆周长。

要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。

#include&lt;stdio.h&gt;#define pi 3.1416main(){float r,l,s;printf(&quot;请输入半径:\n&quot;);scanf(&quot;%f&quot;,&amp;r);l=2*pi*r;s=pi*r*r;printf(&quot;l=%7.2f\ns=%7.2f\n&quot;,l,s);}5. 【有点难】有分段函数:当x&lt;-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x&gt;10时,y=sqrt(x)。

编一程序,输入x的值,输出y的值。

6.编写程序,判断某一年是否是闰年。

(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。

)#include &lt;stdio.h&gt;int main(){int year,leap;scanf(&quot;%d&quot;,&amp;year);if (year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if (leap)printf(&quot;%d is &quot;,year);elseprintf(&quot;%d is not &quot;,year);printf(&quot;a leap year.\n&quot;);return 0;}7.输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。

公式为c=5/9(f-32)#include&lt;stdio.h&gt;int main(){float f,c;printf(&quot;输入华氏温度:\n&quot;);scanf(&quot;%f&quot;,&amp;f);c=(f-32)/1.8;printf(&quot;对应的摄氏温度是:%5.2f\n&quot;,c);}8.有一函数:当x&lt;1时,y=|x|;当1&lt;=x&lt;10时,y=2x-1;当x&gt;=10时,y=3x+11。

编一程序,输入x的值,输出y的值。

9.输入三个实数,将这三个数按由小到大的顺序排列,并输出这三个数。

#include&lt;stdio.h&gt;void main(){int a,b,c,temp=0;printf(&quot;please input a,b,c: &quot;);scanf(&quot;%d %d %d&quot;,&amp;a,&amp;b,&amp;c);if(a&gt;b) {temp=a;a=b;b=temp;}if(a&gt;c){temp=a;a=c;c=temp;}if(b&amp;gt;c){temp=b;b=c;c=temp;}printf(&quot;从小到大为:%d,%d,%d\n&quot;,a,b,c);}10.输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。

然后输出最后得到的字符。

#include&lt;stdio.h&gt;#include&lt;string.h&gt;void main(){char a;scanf(&quot;%c&quot;,&amp;a);if(islower(a))a=a-32;printf(&quot;%c\n&quot;,a);}11.编程求圆柱体积,圆柱表面积。

要求圆半径,圆柱高由键盘输入,输出时要求有文字说明,取小数点后两位数字。

#include &lt;stdlib.h&gt;int main(int argc, char *argv[]){float r,h,l,s,sq,vq,vz;float pi=3.1415926;printf(&quot;请输入圆的半径r,圆柱高h:&quot;);scanf(&quot;%f,%f&quot;,&amp;r,&amp;h);l=2*pi*r;s=pi*r*r;sq=4*pi*r*r;vq=4.0/3.0*pi*r*r;vz=pi*r*r*h;printf(&quot;圆周长为:l=%6.2f\n&quot;,l);printf(&quot;圆面积为:s=%6.2f\n&quot;,s);printf(&quot;圆球表面积为:sq=%6.2f\n&quot;,sq);printf(&quot;圆球体积为:vq=%6.2f\n&quot;,vq);printf(&quot;圆柱体积为:vz=%6.2f\n&quot;,vz);system(&quot;PAUSE&quot;);return 0;}12.有分段函数:当x&lt;-5时,y=x+10; 当-5≤x≤5时,y=x^2;当x&gt;5时,y=2x-10.编一程序,输入x的值,输出y的值。

13.有三个整数a,b,c,由键盘输入,输出其中最小者。

#include &lt;stdio.h&gt;int main(){int a,b,c,temp,min;printf(&quot;请输入三个整数:&quot;);scanf(&quot;%d,%d,%d&quot;,&amp;a,&amp;b,&amp;c);temp=(a&lt;b)? a:b;min=(temp&lt;c)? temp:c;printf(&quot;三个数中最小数是%d\n&quot;,min);return 0;}14.输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。

然后输出最后得到的字符。

#include &lt;stdio.h&gt;void main(){char c;printf(&quot;input ch:&quot;);c=getchar();if( c&gt;=&#39;A&#39;&amp;&amp;c&lt;=&#39;Z&#39;){c=c+32;printf(&quot;%c&quot;,c);}else printf(&quot;%c&quot;,c);}15.输入三角形的三边长,求三角形面积。

求三角形面积的公式为area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2#include&lt;stdio.h&gt;#include&lt;math.h&gt;void main(){float a,b,c,s,area;printf(&quot;依次输入a,b,c:&quot;);scanf(&quot;%f%f%f,&quot;,&amp;a,&amp;b,&amp;c); s=(float)0.5*(a+b+c);area = (float)sqrt(s*(s-a)*(s-b)*(s-c));printf(&quot;面积为:%7.2f&quot;,area);}16.编程求2!+4!+6!+8!+10!的值,并输出结果。

相关文档
最新文档