C语言上机练习训练题

合集下载

C语言上机100题

C语言上机100题

1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。

答案:int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i=0;i<m;i++)aver+=score[i];aver/=m;for(i=0;i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2:第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

答案:void fun(int *a,int *n){int i,j=0;for(i=2;i<1000;i++)if ((i%7==0 ||i%11==0)&& i%77!=0)a[j++]=i;*n=j;}3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回. 答案:void fun(int x, int pp[],int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=I;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中”a"到”z"26各字母各自出现的次数,并依次放在pp所指的数组中。

答案:void fun(char *tt, int pp[]){int i;for (i=0;i<26;i++)pp[i]=0;while (*tt){switch (*tt){case ‘a':pp[0]++;break;case ‘b':pp[1]++;break;case ‘c’: pp[2]++;break;case ‘d’: pp[3]++;break;case ‘e’:pp[4]++;break;case ‘f’:pp[5]++;break;case ‘g’: pp[6]++;break;case ‘h’: pp[7]++;break;case ‘i’:pp[8]++;break;case ‘j': pp[9]++;break;case ‘k’: pp[10]++;break;case ‘l': pp[11]++;break;case ‘m’: pp[12]++;break;case ‘n': pp[12]++;break;case ‘o’:pp[14]++;break;case ‘p’: pp[15]++;break;case ‘q’:pp[16]++;break;case ‘r’:pp[17]++;break;case ‘s’:pp[18]++;break;case ‘t':pp[19]++;break;case ‘u’:pp[20]++;break;case ‘v’:pp[21]++;break;case ‘w’: pp[22]++;break;case ‘x':pp[23]++;break;case ‘y’: pp[24]++;break;case ‘z’: pp[25]++;break;}tt++;}}5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中.答案:void fun(int m, int k,int xx[]){int g=0,I,j,flag=1;for(i=m+1;i<m*m;i++){for(j=0;j<I;j++){if(i%j!=0)flag=1;else{flag=0;break;}}if (flag==1 &&j〉=i){if (k>=0){xx[g++]=i;k——;}elsebreak;}}}6:第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符.其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。

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

c语言上机考试训练题库及答案
2000≤s<3000 10%折扣
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语言上机(20道)

C语言上机(20道)

1、从键盘输入三个数,输出这三个数中最大的数main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);if(a>b) max=a;else max=b;if(c>max) max=c;printf("max=%d\n",max);}3、给一个分段函数,设计一个程序,要求从键盘输入x,输出ymain(){ float x,y;scanf("%f",&x);if(x>0) y=3*x+5;if(x==0) y=7;if(x<0) y=5*x;printf("%f\n",y);}4、求1+2+…+n,n由键盘输入main(){ int i,s,n;scanf("%d",&n);for(s=0,i=1;i<=n;i++)s=s+i;printf("%d\n",s);}5、求1*2*…*n(即n!),n由键盘输入main(){int i, n; long s;scanf( "%d",&n);for(i=1,s=1; i<=n; i++)s=s*i;printf("%ld\n",s);}6、求1!+2!…+n!,n由键盘输入main(){int i,n; long s,f;scanf("%d",&n);s=0;f=1;for(i=1; i<=n; i++){ f=f*i; s=s+f; }printf("%ld\n",s); }7:输出100以内(不含100)能被3整除且个位数为6的所有整数(P97)main(){int i,j;for(i=0;i<10;i++){j=i*10+6;if(j%3!=0)continue;printf("%4d",j);}}8、求两个正整数的最大公因子和最小公倍数(P82)main(){ int m,n,r,p;scanf("%d%d",&m,&n);p=m*n; r=m%n;while(r){m=n; n=r;r=m%n; }printf("%d,%d\n",n,p/n);}9、将一个整数的各位数字颠倒后输出(P84)main(){ int i,r;scanf("%d",&i);do{r=i%10;printf("%d",r);i=i/10; }while(i!=0);printf("\n");}10、求Fabonacci数列的前20项,每5个数一换行。

c语言上机练习题及答案

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套含答案

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语言上机测试题目(完整版)

1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include<stdio.h>void main(){int i,j,k;for(i=1;i<=4;i++)for(j=1;j<=4;j++)for(k=1;k<=4;k++)if(i!=j&&i!=k&&j!=k)printf("%d%d%d ",i,j,k);printf("\n");}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,求应发放奖金总数?#include <stdio.h>main(){ long i;float bonus, bon1, bon2, bon4, bon6, bon10;int c;bon1=100000*0.1;bon2=bon1+100000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf("请输入利润i:");scanf("%ld",&i);c=i/100000;if(c>10) c=10;switch(c){ case 0: bonus=1*0.1;break;case 1: bonus=bon1+(i-100000)*0.075;break;case 2 :case 3: bonus=bon2+(i-200000)*0.05; break;case 4:case 5: bonus=bon4+(i-400000)*0.03;break;case 6:case 7:case 8:case 9: bonus=bon6+(i-600000)*0.015;break;case 10: bonus=bon10+(i-1000000)*0.01;}printf("奖金是%10.2f",bonus);}3.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#include<stdio.h>#include<math.h>void main(){int a,b,c;for(a=0;;a++){ b=sqrt(a+100);c=sqrt(a+268);if(b*b==a+100 && c*c==a+268){printf("%d\n",a);break;}}}4.输入某年某月某日,判断这一天是这一年的第几天?main(){int day,month,year,sum,leap;printf("\nplease input year,month,day\n");scanf("%d,%d,%d",&year,&month,&day);switch(month)/*先计算某月以前月份的总天数*/case 1:sum=0;break;case 2:sum=31;break;case 3:sum=59;break;case 4:sum=90;break;case 5:sum=120;break;case 6:sum=151;break;case 7:sum=181;break;case 8:sum=212;break;case 9:sum=243;break;case 10:sum=273;break;case 11:sum=304;break;case 12:sum=334;break;default:printf("data error");break;}sum=sum+day; /*再加上某天的天数*/if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ leap=1;elseleap=0;if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ sum++;printf("It is the %dth day.",sum);}5.输入三个整数x,y,z,请把这三个数由小到大输出。

c语言上机练习共35篇

c语言上机练习共35篇

c语言上机练习共35篇C 语言程序上机实训题上机练习一一、程序改错题:程序功能:求 100 以内的偶数之和. #include "stdio.h" main() { int i,sum=1; sum+=i; printf("Sum=%d \n";sum); getch(); } 二、程序填空题:程序功能:输入数组最大的与最后一个元素交换,最小的与第一个元素交换,输出数组。

main() { int number[10]; input(number); max_min(number); output(number);} input(int number[10]) { int i; for(i=0;【?】;i++) scanf("%d,",&number[i]); scanf("%d",&number[9]);} max_min(int array[10]) { int max,min,k=0,l=0,t,p,; max=min=array[0]; for(p= 1;pmax) {max= array[p];k=p;} else if(array[0] /**********End **********/} main() { int m; printf("Enter m: "); scanf("%d", &m); printf("\nThe result is %ld\n", fun(m)); }1C 语言程序上机实训题上机练习二一、程序改错题:功能:求 1 到 10 的阶乘的和。

main() { int i; float t,s=0; float fac(int n); for(i=1;i #include 【?】 main() { float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f%f%f",&a,&b,&c); printf("the equation"); if(【?】/********** }End **********/2C 语言程序上机实训题上机练习三一、程序改错题:功能:将一个正整数分解质因数。

C语言上机100题

C语言上机100题

一、填空题考试做题要求:1、在__1__处填写正确的答案,并将下划线和数字删除。

2、将题目做完之后一定要保存。

3、不能删除/**********found**********/,也不能多行或少行。

1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。

当调用正确时, 程序输出:x1=5.000000, x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!#include <stdio.h>double f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。

#include <stdio.h>#include <string.h>struct student {long sno;char name[10];float score[3];};void fun(struct student a[], int n){ /**********found**********/__1__ t;int i, j;/**********found**********/for (i=0; i<__2__; i++)for (j=i+1; j<n; j++)/**********found**********/if (strcmp(__3__) > 0){ t = a[i]; a[i] = a[j];a[j] = t; }}main(){ struct student s[4]={ {10001,"ZhangSan", 95, 80, 88}, {10002,"LiSi", 85, 70, 78}, {10003,"CaoKai", 75, 60, 88},{10004,"FangFang", 90, 82, 87}};int i, j;printf("\n\nThe original data :\n\n");for (j=0; j<4; j++){printf("\nNo:%ldName:%-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}fun(s, 4);printf("\n\nThe data after sorting:\n\n");for (j=0; j<4; j++){ printf("\nNo: %ld Name: %-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}}3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。

C语言上机练习

C语言上机练习

第1次上机练习:根据课堂所讲的三个例题,完成如下功能:0.将三个例题录入编程环境,编译并运行。

1.修改例题2,从键盘读入三个整数,计算三个整数的和与积,并输出。

2.修改例题3,用子函数计算两个整数中的小值,主函数输出结果。

3.修改例题3,用子函数计算两个整数的差的绝对值(提示:先求解,后根据大小取相反数。

或者先比较大小,再相减)。

4.编写一个程序,从键盘读入一个字符,并输出。

("%c" 选作)5.编写一个程序,从键盘读入两个double类型数,计算并输入二者之和。

("%lf"选作)第2次上机练习:1.编写程序完成:从键盘读入10个整数,输出大于20的整数的个数。

2.编写程序完成:使用循环,计算1至5的和与积,并输出。

3.从键盘读入两个正整数x和y,计算x与y之间的整数和(含x和y),并不知道x,y中哪个大。

4.编写程序完成:从键盘读入20个整数,它们都是0-9之间的个位数,输出0-9元素的个数(例如0:1个,1:2个...9:1个)。

5.完成教材141页,11题。

(参考答案:第10次落地经过299.609375米,第10次弹起距离0.097656米,选作)。

6.思考教材141页,12题。

(参考答案:total=1534)第3次上机练习:1.从键盘读入10个整数(包括正数、负数和0),输出其中的最大值和最小值。

2.从键盘读入一个正整数,输出各个位数字之和。

(用%取余数,用x/10获取下次循环的数值)3.从键盘读入n,求解1!+2!+3!+...+n!。

(n不要太大否则可能溢出)4.从键盘读入整数,当读入0时结束循环,输出正数和负数各有多少个。

5.输入一行字符,分别统计其中字母、数字和空格的个数。

(用while((ch1=getchar())!='\n')来判断是否结束输入,用&&表示并且,例如if(ch1>='a'&&ch1<='z')。

C语言上机试题1-20套

C语言上机试题1-20套

C 语言上机考试题(第一套)1.编写函数fun ,它的功能是:计算并输出下列级数和:)1(1321211+⨯++⨯+⨯=n n S例如,当n = 10时,函数值为:0.909091注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。

试题程序:#include <conio.h>#include <stdio.h>double fun( int n ){float…………}main() /*主函数 */{ clrscr();printf(″%f\n ″, fun(10));}解答:#include <conio.h> #include <stdio.h> double fun( int n ) { double s=0; int i; for(i=1;i<n+1;i++) s+=1.0/(i*(i+1)); return s; } main() /*主函数 */ { system("cls"); printf("%f\n",fun(10)); }说明:主函数中的clrscr()函数为TC 下使用的清屏函数,在VC 中不能使用,在本题中可以直接删除或改为system("cls")2.在[10000, 20000]范围内考察个位数字是7的素数, 问:(1) 这样的素数有多少个?(2) 其中最大的一个等于几?解答:#include <stdio.h>int main(void){int max,num=0;int i,j;for(i=10000;i<20001;i++){for(j=2;j<i;j++)if( i%j==0 )break;if( j==i && i%10==7){num++;max=i;}}printf("num=%d,max=%d\n",num,max);return 0;}3. 编写程序,从键盘输入一年份,判断该年份是否为闰年。

C语言上机150道题

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语言上机练习

c语言上机练习
return 0 ;
}
答案:
2行main
4行末尾少分号
3.编写程序在屏幕上显示以下内容:
Programming is fun.
And Programming in C is even more fun!
答案:
#include <stdio.h>
int main( )
{
printf("Programming is fun.\nAnd Programming in C is even more fun!\n") ;
char c1='a',c2='b';
printf("a=%2d b=%2d c=%2d\n",a,b,c);
printf("x=%f,y=%f,z=%f\n",x,y,z);
printf("x+y=%5.2fy+z=%5.2fz+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6u n=%7ld\n",u,n);
return 0 ;
}
4.编写程序输出以下图案:
* * * *
* * *
* *
*
答案:
#include <stdio.h>
void main( )
{
printf("* * * *\n");
printf(" * * *\n");
printf(" * *\n");
printf(" *\n");
}
5.编写程序,计算并在屏幕上显示10~20的平方值。

C语言正式上机题

C语言正式上机题

C语言上机实验题目1 打印图形1.输入n值,打印下列图形:**************** 当n = 4时2.输入n值,打印下列高和上底均为n 的等腰梯形:**************************** 当n = 4时3.输入n值,打印下列高和下底均为n 的等腰梯形:**************************** 当n = 4时4.输入n值,打印下列高和上底均为n的等腰空心梯形:****** ** ** ************** 当n = 5时5.输入n值,打印下列高和下底均为n的等腰空心梯形:************** ** ** ****** 当n=5时6.编写程序打印下列上三角形式的乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————1 2 3 4 5 6 7 8 94 6 8 10 12 14 16 189 12 15 18 21 24 2716 20 24 28 32 3625 30 35 40 4536 42 48 5449 56 6364 72817.编写程序打印下列乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————8164 7249 56 6336 42 48 5425 30 35 40 4516 20 24 28 32 369 12 15 18 21 24 274 6 8 10 12 14 16 181 2 3 4 5 6 7 8 98.编程打印数字金字塔:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 9.编程打印数字金字塔:1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 1110.输入n值,打印边长为n的空心正六边形:******* ** ** ** ** ** ** ** ** ******* 当n = 6时11.编写程序输出下面的图形,要求输入顶行字符和图形的高。

c语言上机考试题及答案

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上机考试试题

c上机考试试题

c上机考试试题# C上机考试试题一、单项选择题(每题2分,共20分)1. 下列关于C语言基本数据类型的说法中,错误的是()。

- A. `int` 类型通常用于表示整数- B. `float` 类型用于表示单精度浮点数- C. `double` 类型用于表示双精度浮点数- D. `char` 类型用于表示一个字符或整数2. 在C语言中,用于定义数组的关键字是()。

- A. `define`- B. `array`- C. `list`- D. `int[]`3. C语言标准输入输出使用的库函数是()。

- A. `<stdio.h>`- B. `<math.h>`- C. `<stdlib.h>`- D. `<iostream>`4. 下列哪个是C语言中的合法标识符?()- A. `class`- B. `case`- C. `2b`- D. `user_name`5. C语言中,用于实现字符串连接的函数是()。

- A. `strcpy()`- B. `strcat()`- C. `strlen()`- D. `strncpy()`6. 在C语言中,`printf` 函数的返回类型是()。

- A. `int`- B. `float`- C. `char`- D. `void`7. 下列关于C语言函数的描述中,错误的是()。

- A. 函数可以返回一个值- B. 函数可以没有返回值- C. 函数必须有返回值- D. 函数可以有多个返回值8. 在C语言中,用于计算两个整数的最大值的宏定义在哪个头文件中?()- A. `<math.h>`- B. `<stdlib.h>`- C. `<limits.h>`- D. `<stdio.h>`9. C语言中,`break` 语句的作用是()。

- A. 跳出整个循环- B. 跳出最近的一个循环- C. 跳出整个程序- D. 继续下一次循环10. 下列关于C语言结构体的描述中,错误的是()。

c语言上机试题库及答案

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. 下面哪个选项是正确的?a) Ab) Bc) Cd) D答案:d) D2. 在计算机科学中,什么是“算法”?a) 一种计算机语言b) 一种软件程序c) 一种解决问题的方法或步骤d) 一种计算机硬件答案:c) 一种解决问题的方法或步骤3. 下面哪个选项是关于二进制的描述?a) 使用0和1进行计算的系统b) 使用10个数字进行计算的系统c) 使用英文字母进行计算的系统d) 使用负数进行计算的系统答案:a) 使用0和1进行计算的系统第二部分:填空题1. 在C语言中,用于在屏幕上输出文本的函数是______。

答案:printf2. 在计算机领域中,RAM代表______。

答案:Random Access Memory(随机存取存储器)3. 当一个程序在运行时遇到错误并突然停止时,我们称之为______。

答案:运行时错误(Runtime Error)第三部分:编程题编写一个C程序,计算并输出1到100之间所有奇数的和。

```c#include <stdio.h>int main(void) {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("1到100之间所有奇数的和为:%d\n", sum);return 0;}```答案:1到100之间所有奇数的和为:2500第四部分:简答题1. 请简要解释什么是“数据类型”,并举例说明。

答:数据类型是一种用于定义变量或表达式的特性,包括数据的范围、内存大小和操作。

例如,在C语言中,int是一种数据类型,用于定义整数类型的变量,如:```cint age = 25;```2. 请简要介绍一下C语言的特点。

答:C语言是一种通用、高级的编程语言,具有以下特点:- 结构简洁:C语言的语法相对简单,易于学习和理解。

- 高效性:C语言可以生成高效的机器代码,执行速度快。

C语言程序设计上机练习题

C语言程序设计上机练习题

10、表示关系x≥y≥z的c语言表达式是( ) A) (x>=y)&&(y>=z) B) (x>=y)&d(y>=z) C) x>=y>=z D) (x>=y)||(y>=z) 11、已知int x=0, y=0, z=0; 则执行x&&y++&&++z;后,表达式y+z的值为( A)1 B) 2 C) 3 D) 0 12、以下程序段的输出结果是( ) char c=‘a’; if (‘a’<c<=‘z’) printf(“LOW”); else printf(“UP”); A)LOW B) UP C) LOWUP )
)
16、下列描述正确的是( ) A) 在switch 中必须使用break 语句。 B) break语句只能用于switch 中。 C) 在switch 中可根据需要使用或不使用break 语句。 D)break语句是switch 的一部分。
17、以下程序段的输出结果是( ) int x=1, a=0, b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++; b++; } printf(“a=%d, b=%d\n”, a, b); A)a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 18、下列对while和do-while循环的描述正确的是( ) A) do-while的循环体不能是复合语句 B) do-while的循环体至少要执行一次 C) while的循环体至少要执行一次 D) while循环不能使用 break;来结束循环 19、设有如下程序,则程序的输出结果是( ) int k=1, s=0; while(s<10) { s=s+k*k; k++; } printf(“%d”, k); A) 3 B) 4 C) 5 D) 6 20、下面关于for循环的描述错误的是( ) A) for循环经常用于循环次数已经确定的情况 B) for循环的循环体可以是一个复合语句 C) 在for循环中不能用break语句跳出循环体 D) for循环的循环体可以是一个空语句

C语言正式上机题

C语言正式上机题

C语⾔正式上机题C语⾔上机实验题⽬1 打印图形1.输⼊n值,打印下列图形:**************** 当n = 4时2.输⼊n值,打印下列⾼和上底均为n 的等腰梯形:**************************** 当n = 4时3.输⼊n值,打印下列⾼和下底均为n 的等腰梯形:**************************** 当n = 4时4.输⼊n值,打印下列⾼和上底均为n的等腰空⼼梯形:****** ** ** ************** 当n = 5时5.输⼊n值,打印下列⾼和下底均为n的等腰空⼼梯形:************** ** ** ****** 当n=5时6.编写程序打印下列上三⾓形式的乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————1 2 3 4 5 6 7 8 94 6 8 10 12 14 16 1825 30 35 40 4536 42 48 5449 56 6364 72817.编写程序打印下列乘法九九表:1 2 3 4 5 6 7 8 9 ——————————————————8164 7249 56 6336 42 48 5425 30 35 40 4516 20 24 28 32 369 12 15 18 21 24 274 6 8 10 12 14 16 181 2 3 4 5 6 7 8 98.编程打印数字⾦字塔:11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 9.编程打印数字⾦字塔:1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 11 2 3 4 5 6 7 8 7 6 5 4 3 2 11 2 3 4 5 6 7 6 5 4 3 2 11 2 3 4 5 6 5 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 110.输⼊n值,打印边长为n的空⼼正六边形:******* ** ** ** ** ** ** ** ** ******* 当n = 6时11.编写程序输出下⾯的图形,要求输⼊顶⾏字符和图形的⾼。

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

一、数据类型、运算符与表达式
1.整数数据的溢出,要求从键盘输入一个整数(如32768),看结果。

2.从键盘输入一个大写字母,要求小写输出,使用scanf函数和getchar函数完成。

3.有一个直角三角形,键盘输入长,高,计算三角形的面积。

二、顺序程序设计
1.输入一个华氏温度,要求输出摄氏温度,公式c=5/9(F-32),输出要有文字说明。

2.求ax2+bx+c=0方程的根。

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

输出方程的根,取小数点后两位。

3.要将“China ”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。

例如,”A”后面第四个字母“E“,用”E”代替”A”。

“China”应译成“Glmre”。

编一程序,设五变量的初值为’C’,’h’,’i’,’n’,’a’。

使其变为’G’,’l’,’m’,’r’,
‘e’,并输出,要求使用putchar和printf函数。

三、选择结构程序设计
1. 输入三个整数,并按大小顺序输出.
2. 从键盘输入一行字符,分别统计出其中英文字母数字和其他字符的个数.
3.统计一个班的成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’.90分以上为’A’,80~89分为’B’, 70~79分为’C’,60~69分为’D’,60分以下为’E’.并计算出优秀率和合格率,用if语句和case语句完成.
四、循环控制
1.把100~200之间所有能被三整除的数输出.
2.有一个分数序列2/1,3/2,5/3,8/5,13/8,…………求出这个数列的前20项之和.
3.输入两个字符串,当遇到’.’时结束,比较两个字符串的长度,输出较长的字符串,若相
同则输出第一个字符串.
五、数组
1.在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列。

2.青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平
均得分(去掉一个最高分和一个最低分)。

3.有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。

4.打印以下图案
*****
*****
*****
*****
*****
六、函数
1.写一函数,用“起泡法”对输入的10个字符按由小到大顺序排序。

2.定义一个函数,功能是计算n个学生的成绩中,高于平均成绩的人数,并作为函数
值。

用主函数来调用它,统计50个学生成绩中,高于平均成绩的有多少人?
3.编写一个程序,包括主函数和如下子函数。

(1) 输入10个无序的整数;(2) 用起泡
方法从大到小排序;(3) 要求输入一个整数,用折半查找法找出该数,若存在,在主函数中输出其所处的位置,否则,插入适当位置。

4.写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

5.写一函数,将一个整型2维数组(3*4)转置,然后输出。

七、指针
1.用指针实现,输入3个数,按从小到大输出。

2.编一个程序,打入月份号,输出该月的英文月名,要求用指针数组处理。

3.编写递归函数,将输入的以“?”结束的字符串按与输入相反的顺序输出。

4.编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计
数返回(不考虑a[0]和a[n-1]),要求以指针变量作函数参数。

5.用指向指针的指针的方法对5个字符串进行排序。

八、结构体与共用体
1.定义一个结构体变量,其成员包括:职工号、职工名、性别、年龄、工龄、工资、地址。

2.对上述定义的变量,从键盘输入所需的具体数据,然后用printf函数打印出来。

3.按上述的结构体类型定义一个结构体数组,从键盘输入每个结构体元素所需的数据,然后逐个输出这些元素的数据(为简化起见,可设数组只有三个元素)。

九、位运算
1.写一个函数,是一个整数i的二进制表示形式中的低4位改为1,将得到的书作为函数值返回。

十、文件
1.把文本文件d1.dat复制到文本文件d
2.dat中,要求仅复制d1.dat中除英文字
符和数字以外的其它内容。

2.求出1至100之间的素数(只能被1和自身整除的数)并顺序写入文件su.dat。

3.磁盘文件a1和a2,各自存放一个已按字母顺序排好的字符串,编程合并二个文
件到a3文件中,合并后仍保持字母顺序。

相关文档
最新文档