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

编程题1.请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。
例如,若有5门课程的成绩是90.5、72、80、61.5、55,则函数的值为:71.80。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <stdio.h>float fun(float *a,int n){}main(){float score[30]={90.5,72,80,61.5,55},aver;aver=fun(score,5);printf("Average score is:%5.2f\n",aver);}【答案与解析】(1)本题主要考查求累加和的运算。
仔细阅读题目和程序以及所给函数头floatfun(float *a,int n),得知是对a数组中的n个数求平均值,首先要计算其和值再除n,即可。
(2)按上述分析写出的函数是:float fun(float *a,int n){float s=0.0;int i;for(i=0; i<n; i++)s+=a[i];return s/n;}2.请编写函数fun,它的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,二维数组中的数据为:W W W WS S S SH H H H则字符串中的内容应是:WSHWSHWSH。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include <stdio.h>#define M 3#define N 4voidfun(char(*s)[N], char *b){}main(){char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};int i,j;printf("The matrix:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%3c",w[i][j]);printf("\n");}fun(w,a);printf("The A string:\n");puts(a);printf("\n\n");}【答案与解析】(1)本题主要考查数组和指针的概念。
计算机二级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语言上机题参考答案

20、设有1<=n<=500个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进
行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的
报数,如此进行下去直到所有的人都出圈为止。
要求按出圈次序输出编号。
输入格式如下:
n s m
示例:
输入:
6 1 3
输出:
3 6 4 2 5 1
scanf("%d",&n);
for(i=1;i<=n;i++)
{for(j=1;j<=i;j++)
printf("*");
printf("\n");
}
}
8、编程输出n行图形(n值通过键盘输入),
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
if(x>1) y=6*x+5;
printf("%d",y);
}
三、循环图形
7、编程输出n行图形(n值通过键盘输入)
假设n=5,则图形如下:
*
**
***
****
*****
假设n=6,则图形如下:
*
**
***
****
*****
******
#include<stdio.h>
void main()
{int i,j,n;
printf("%.2f\n",(a+b+c)/3.0);
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语言上机150道题

C语言上机150道题及参考答案1.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。
2.从键盘输入两个正整数,输出这两个整数的商,要求商的小数点后保留5位。
例如输入355和113,输出3.14159。
3.用while循环结构编写程序打印ASCII码为33-127的字符。
4.用do-while,for循环结构编写程序打印ASCII码为33-127的字符。
5.用for循环结构编写程序打印ASCII码为33-127字符。
6.在1-500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。
7.输入一个整数将其倒着输出,如54321——12345。
8.计算s=1+1/3+1/5+…+1/n,截止到1/n<10-4。
9.从键盘输入一整数n,计算1*1+2*2+...+n*n的值。
10.用while 循环计算1+2+……+100的和。
11.用do while循环计算1+2+……+100的和。
12.用for 循环计算1+2+……+100的和。
13.输入一个小于等于10的整数n ,计算n!。
14.输入两个正整数m和n,计算m!+n!,m和n的值均小于10。
15.用循环语句,计算1~100之间的所有3的倍数之和。
16.用循环语句,计算100-200之间的所有7的倍数之和。
17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。
18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
19.输入一个整数,统计它有几位数。
如输入367,则该数有3位数。
20.编写程序,输出1到50中间所有能被3整除的正整数。
21.把100~200之间不能被3整除的输出。
22.编程Y=1+3+5+7+...111。
23.编程y=1*1/2*1/3*1/4*1/5*1/6*...前十项之积。
24.编程输出九九乘法表。
25.求1到100奇数和。
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语言上机练习题及答案

c语言上机练习题及答案1.从矩形的长,宽,输出面积(长为6.5,宽为4.5)#includemain(){float length,width,area;scanf("%f%f",&length,&width);area=length*width;printf("area=%f\n",area);}2.定义符号常量,从键盘输入圆的半径3.5,求圆的周长和面积#define PI 3.14#includemain(){float r,c,area;scanf("%f",&r);c=2*PI*r;area=PI*r*r;printf("c=%f,area=%f\n",c,area);}3.从键盘输入一个整数,输出其绝对值(采用两个if语句实现)#includemain(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);if(i<0)printf("i=%d\n",-i);}4.从键盘输入一个整数,输出其绝对值(采用if——else语句实现)#includemain(){int i;scanf("%d",&i);if(i>=0)printf("i=%d\n",i);elseprintf("i=%d\n",-i);}5.从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点) #includemain(){int year;scanf("%d",&year);if((year%4==0&&year%100!=0)||year%400==0)printf("%d是闰年",year);elseprintf("%d不是闰年",year);}6.输入学生的高考成绩,成绩>=560,输出读一本,如果>=520,输出读二本,如果>=480输出读三本,否则输出读专科#includemain()int score;scanf("%d",&score);if(i>=560)printf("考得很好,你可以读一本学校了\n");else if(i>=520)printf("考得还不错,你可以读二本学校\n");else if(i>=480)printf("你只能读三本学校\n");elseprintf("可以读专科学校,继续努力哦!\n");}7.从键盘输入一个数,判断是否是素数(上机考试重点,必须掌握)#includemain(){int n,i,flag=1;scanf("%d",&n);for(i=2;i<n;i++)< p="">{if(n%i==0){flag=0;break;}}if(flag==1)printf("%d是素数\n",n);elseprintf("%d不是素数\n",n);8.求1+1/3+1/5+…+1/99的和(上机考试重点,必须掌握)#includemain(){float s=0;int i=1;while(i<=99){s=s+1.0/i;i=i+2;}printf("s=%f",s);}9.求100—200之间所有能被3整除,但不能被7整除的数,并输出这些数#includemain(){int i;for(i=100;i<=200;i++){if(i%3==0&&i%7!=0)printf("%d,",i);}}#includelong fun(int n){long s=1; int i;for(i=1;i<=n;i++)s=s*i;}void main(){ int num;scanf("%d",&num);if(num>0)printf("%d!=%ld \n",num, fun(num));elseprintf("input data error! \n");}main ( ){ int a, b;a=5; b=10;printf (“Before swap, a=%d, b=%d\n", a, b); swap (a, b); printf (“After swap, a=%d, b=%d\n", a, b); }swap (int x, int y){ int temp;temp=x; x=y; y=temp;printf (“In swap, x=%d, y=%d\n", x, y);}int multBy5(int b){b = b * 5;return b;}int main(void){int a = 34, b = 1;a = multBy5(b);printf("a = %d, b = %d\n", a, b);}#includeint a=3,b=5;void main ( ){ int a=8;printf(“%d”,max(a,b)); }max(int a, int b){ int c;c=a>b?a∶b;return (c);}int a=3,b=5;max(int a,int b) {int c;c=a>b?a:b;return c;}main(){int a=8;printf("%d\n",max(a,b)); }int a;fun(int i){a+=2*i;return a;}main(){int a=10;printf("%d,%d\n",fun(a),a);}void main( ){ int fac(int n);int i;for (i=1; i<=5; i++)printf(“%d!=%d\n”, i, fac(i));}int fac(int n){ static int f=1;f=f*n;return(f);}#includevoid main(){int n[ 5 ] = { 1, 2, 3, 4, 5 };int i;for(i=0;i<4;i++)printf(“%d %d\n”,n[i]);}1、执行下面的程序段后,变量k中的值为__________。
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语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。
答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。
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语言考试试题及答案一、选择题(每题2分,共20分)1. C语言的标识符可以由哪些字符组成?A. 数字、字母和下划线B. 数字和字母C. 数字、字母和特殊字符D. 字母和下划线2. 在C语言中,哪个关键字用于声明整型变量?A. floatB. intC. doubleD. char3. 下面哪个选项是C语言的逻辑运算符?A. &&B. ||C. >>D. ++4. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putcharD. puts5. 以下哪个选项是C语言的循环控制语句?A. ifB. switchC. whileD. break二、填空题(每题2分,共20分)6. 在C语言中,声明一个整型变量的关键字是______。
7. 以下程序段的输出结果是______。
```cint a = 5;printf("%d\n", a++ + ++a);```8. 在C语言中,用于定义数组的标识符是______。
9. 下面程序的输出结果是______。
```cint a = 3, b = 4;printf("%d\n", a > b ? a : b);```10. 在C语言中,用于表示整型常量的关键字是______。
三、判断题(每题2分,共20分)11. C语言中的变量在使用前必须先声明。
()12. 在C语言中,数组的下标从0开始。
()13. C语言的switch语句中,case后面必须跟一个break语句。
()14. 在C语言中,逗号运算符的优先级最高。
()15. C语言的函数可以没有返回值。
()四、编程题(每题20分,共40分)16. 编写一个C程序,实现以下功能:输入10个整数,计算并输出它们的平均值。
17. 编写一个C程序,实现以下功能:输入一个字符串,将其中的小写字母转换为大写字母,大写字母转换为小写字母,并输出结果。
c语言编程试题及答案2021

c语言编程试题及答案20211. 写出以下C语言程序的输出结果。
```c#include <stdio.h>int main() {int a = 10;int b = 20;int c = a + b;printf("%d", c);return 0;}```答案:302. 以下C语言代码段中,变量x的值是多少?```cint x = 10;x += 5;printf("%d", x);```答案:153. 判断以下代码段中的错误。
```cint main() {int num = 0;while (num < 3) {num++;}printf("%d", num);return 0;}```答案:代码中缺少循环体,导致while循环不执行任何操作。
4. 以下C语言代码段中,函数swap的目的是交换两个变量的值。
请找出代码中的错误并修正。
```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int main() {int x = 5, y = 10;swap(&x, &y);printf("x = %d, y = %d", x, y);return 0;}```答案:代码正确,没有错误。
5. 写出以下C语言程序的输出结果。
```c#include <stdio.h>int main() {int i;for (i = 0; i < 5; i++) {if (i == 2) continue;printf("%d ", i);}return 0;}```答案:0 1 3 46. 以下C语言代码段中,变量x的值是多少?```cint x = 10;x = x / 2;printf("%d", x);```答案:57. 判断以下代码段中的错误。
C语言上机考试编程题以及答案

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输入两个数,交换他们的值并输出。
c语言上机考试题及答案

c语言上机考试题及答案一、选择题(每题2分,共10分)1. 在C语言中,以下哪个是合法的整型常量?A. 0x12B. 0x12.0C. 0x12LD. 0x12.0L答案:A2. 下列哪个选项是正确的C语言标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:D3. C语言中,以下哪个是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World'D. 'Hello, World'答案:A4. 在C语言中,以下哪个是正确的函数声明?A. int myFunction(int a);B. int myFunction();C. int myFunction(int);D. int myFunction(int a, int b);答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D二、填空题(每题3分,共15分)1. 在C语言中,用于定义整型变量的关键字是________。
答案:int2. 若有定义 int a = 10;,则表达式 a++ 的值为________。
答案:103. C语言中,用于表示逻辑“与”的运算符是________。
答案:&&4. 在C语言中,以下代码段的输出结果是________。
```c#include <stdio.h>int main() {int x = 5;printf("%d", x++);return 0;}```答案:55. 若有定义 float b = 3.14;,则表达式 b * 100 的值为________。
答案:314.0三、编程题(每题20分,共40分)1. 编写一个C程序,计算并输出以下数列的前10项之和:1 + 1/2 + 1/3 + ... + 1/10。
C语言程序设计基础上机考试一题目及参考答案

1.输入一串字符(可能包含空格),计算输入的字符串中整数的个数并输出。
2.输入一个字符串,对字符串相同的字符只保留一个(首次出现的字符)。
3.找出一个大于给定整数m且紧随m的素数。
4.统计老年人各年龄段(每10岁为一个年龄段)的人数并存到b数组中,n个人员的年龄放在a数组中。
5.计算并输出k以内最大的10个能被13或17整除的自然数之和。
6.读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)。
7.求A、B两个整数数组数据的交集,并输出交集的数据。
8.输入若干个整数,且每个数均在1000至9999之间,按照每个数的后三位进行升序排序,若后三位相等,则按照原数据升序排序。
9.将字符串s所有的子串t用“copy”替换,并输出替换后的字符串。
10.判断一个整数是否是回文数。
所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。
例如:1221,121是回文数。
1.输入一串可能包含空格的字符串,计算该字符串中数字(整数)的个数。
2.删除字符串中的数字字符3.计算并输出high以内最大的10个素数之和。
4. A,B是两个整数集合,将A中和B相同的数据删除,并输出删除后的集合。
5.计算字符串s中含有字符串t的数目, 并输出。
6.编程实现:在已排好序的字符串中插入一个新的字符串,使插入后仍然有序,输出插入后的字符串。
7.在三位整数中寻找符合条件的整数,并依次有大到小存入数组,并输出,它既是完全平方数,又是两位数字相同。
8.判断一个整数是否是回文数。
所谓的回文数是指高位到地位与从低位到高位读取该数,得到的数是相同的数据。
例如:1221,121是回文数。
9.找出200以内所有的完数,并输出其因子。
一个数若恰好等于它的各因子之和,称其为完数。
例如:6=1+2+3,其中1、2、3为因子,6是因子和。
10.统计在字符串str中26个小写英文字母各自出现的次数。
c语言上机试题库及答案

c语言上机试题库及答案1. 题目一:字符串翻转要求:编写一个C语言程序,实现字符串的翻转功能。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);char temp;for(int i = 0; i < len / 2; i++) {temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str);return 0;}```2. 题目二:计算数组中的最大值要求:编写一个C语言程序,计算并输出一个整数数组中的最大值。
```c#include <stdio.h>int findMax(int arr[], int size) {int max = arr[0];for(int i = 1; i < size; i++) {if(arr[i] > max) {max = arr[i];}}return max;}int main() {int arr[] = {10, 45, 23, 67, 89, 34};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("The maximum value in the array is: %d\n", max); return 0;}```3. 题目三:实现二分查找要求:编写一个C语言程序,实现一个二分查找算法,查找一个有序数组中是否存在目标值。
C语言试题(答案带解析)

C语言试题(答案带解析)题目:编写一个C语言程序,实现以下功能:1. 输入一个字符串,长度不超过100个字符。
2. 统计并输出字符串中字母、数字、空格和其他字符的数量。
3. 删除字符串中所有的空格,并输出处理后的字符串。
4. 查找字符串中第一次出现字母 'a' 的位置,并输出位置(位置从0开始计算)。
5. 检查字符串是否为回文(忽略大小写和空格),如果是,输出"Yes",否则输出"No"。
试题代码如下:```c#include <stdio.h>#include <string.h>#include <ctype.h>int main() {char str[101];int alpha_count = 0, digit_count = 0,space_count = 0, other_count = 0;int i, a_position = -1;int len, is_palindrome = 1;// 输入字符串printf("Enter a string (up to 100 characters): ");fgets(str, 101, stdin);// 删除换行符len = strlen(str);if (str[len - 1] == '\n') {str[len - 1] = '\0';len--;}// 统计字符数量for (i = 0; i < len; i++) {if (isalpha(str[i])) {alpha_count++;if (str[i] == 'a') {a_position = i;}} else if (isdigit(str[i])) {digit_count++;} else if (isspace(str[i])) {space_count++;} else {other_count++;}}// 输出字符数量printf("Letters: %d\n", alpha_count); printf("Digits: %d\n", digit_count); printf("Spaces: %d\n", space_count); printf("Others: %d\n", other_count); // 删除空格并输出处理后的字符串char new_str[101];int j = 0;for (i = 0; i < len; i++) {if (!isspace(str[i])) {new_str[j++] = str[i];}}new_str[j] = '\0';printf("String without spaces: %s\n", new_str);// 查找字母 'a' 的位置if (a_position != -1) {printf("First occurrence of 'a' is at position: %d\n", a_position);} else {printf("'a' not found in the string.\n");}// 检查字符串是否为回文int start = 0, end = j - 1;while (start < end) {if (tolower(new_str[start]) !=tolower(new_str[end])) {is_palindrome = 0;break;}start++;end--;}if (is_palindrome) {printf("Yes\n");} else {printf("No\n");}return 0;}```解析:1. 程序首先通过 `fgets` 函数读取用户输入的字符串,并检查是否有多余的换行符。
大一C语言上机实验试题及答案

大一C语言上机实验试题及答案一、选择题(每题2分,共10分)1. C语言中,用来定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D3. 在C语言中,用于定义一个函数的关键字是()。
A. functionB. defC. intD. void答案:A4. 下列哪个选项是正确的C语言数组定义?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[3] = {1, 2};D. int arr = {1, 2, 3};答案:B5. C语言中,用于输出字符串的函数是()。
A. printfB. printC. coutD. printf_s答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是____。
答案:int2. 以下代码段的输出结果是____。
```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 在C语言中,用于声明一个浮点型变量的关键字是____。
答案:float4. 若有以下代码段:```cint x = 5, y = 3;int result = x / y;```则变量result的值是____。
答案:15. 在C语言中,用于声明一个字符型变量的关键字是____。
答案:char三、编程题(每题10分,共20分)1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现输入一个字符串,然后输出其反转后的字符串。
(完整版)C语言上机练习题及答案

(完整版)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);}输入一个摄氏温度,要求输出华氏温度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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[i]>a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t ;}}}for(i=0;i<10;i++)printf("%2d",a[i]);}5、输入十个数字,逆序输出。
(数组实现)答案#include<stdio.h>main(){int a[10],i=0;for(i=0;i<=9;i++)scanf("%f",&a[i]);printf("\n");for(i=9;i>=0;i--)printf("%f",a[i]);}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[i]<='z'&&a[i]>='a')a[i]=a[i]-32;printf("%c",a[i]);}printf("\n小写为:");for(i=0;i<=3;i++){a[i]=a[i]+32;printf("%c",a[i]);}}9、编写一个简单计算器程序,要求能够完成两个数的+,-,*,/四种运算。
输出运算式及运算结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();}。