C语言常见、经典的上机实验题目

合集下载

C语言上机练习题及答案

C语言上机练习题及答案

1输入三个整数*,y,z,把这三个数由小到大输出。

# include <stdio.h>void main(){int *,y,z,a;scanf ("%d,%d,%d",&*,&y,&z);if(*>y) {a=*; *=y;y=a;}if(*>z) { a=*; *=z; z=a;}if(y>z) {a=y; y=z; z=a;}printf("%d,%d,%d\n",*,y,z);}2输入圆的半径,输出圆的周长和面积。

# include<stdio.h># 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);}输入正方形的边长,输出正方形的周长和面积。

# include<stdio.h>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<stdio.h>int 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);}输入一个摄氏温度,要求输出华氏温度。

c语言实操题

c语言实操题

c语言实操题下面为C语言上机考试中可能出现的代码问题(基础):(喜欢的话记得分享给身边的小伙伴哦!点点赞,谢谢啦!)1、求300-800之间,能被3整除或者能被5整除的数的总个数。

# include<stdio.h>intmain(){int i, s=0;for(i=300;i<=800;i++){if(i%3==0||i%5==0)s++;}printf("%d\n", s);return0;}2、输入一个十进制数,分别输出该数对应的八进制与十六进制数。

(输出三行第一行为八进制数,第二行为十六进制数,十六进制字母取小写字符,最后一行为空)# include<stdio.h>intmain(){inti;scanf("%d",&i);printf("%o\n%x\n", i, i);return0;}3、输入两个正整数m和n,求其最大公约数和最小公倍数。

(输入正整数以空格隔开,输出两行,第一行为最大公约数,第二行为最小公倍数)# include<stdio.h>intmain(){int m, n, x, y,z;scanf("%d %d",&x,&y);m = x;n = y;while(y!=0){z = x%y;x = y;y = z;}printf("%d\n%d\n", x, m*n/x);return0;}4、输入一个整数n(1<=n<=10),然后输入n个整数,并保存到数组中,再输入一个整数m,输出m在数组中的下标,如果不存在则输出"Not present!"。

例:输入:545 12 75 36 9812输出:1# include<stdio.h>intmain(){int i, n, m, k,a[10];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]) ;scanf("%d",&m);for(i=0;i<n;i++){k = i;if(m==a[i]){printf("%d\n",i);break;}}if(k==n-1&&a[n-1]!=m)printf("Notpresent!\n");return0;}5、用循环语句实现以下图形。

C语言上机题参考答案

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语言上机实验题及参考答案

c语言上机实验题及参考答案
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}

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语言上机实验题
c=2154。请直接在函数fun的{}中输入内容.
#include <stdio.h>
void fun(int a,int b, int *c)
{
}
void main(void)
{
int a=45,b=12,c;
fun(a,b,&c);
printf("%d",c);
}
m=50;
fun(a,&n, m);
printf("n=%d\n",n);
for(i=0;i<n;i++)
printf("%5d",a[i]);
}
17.函数void fun(int a,int b, int *c)的功能是:将2个两位正整数ab合为一个整数存放在c中,
#include <stdio.h>
void fun(int x, int pp[], int *n)
{
}
void main()
{
int pp[20];
int i,n;
fun(30,pp,&n);
for(i=0;i<n;i++)
printf("%4d",pp[i]);
#include <stdio.h>
#include <string.h>
void fun(char a[], int k,int n)
{
}
void main(void)
{
char a[100]="hellollo world!";

C语言培训上机实验题目

C语言培训上机实验题目

安装Visual C ++6.0下载请从群里下载Microsoft Visual Studio.rar。

将下载的文件Microsoft Visual Studio.rar解压后即可使用。

请直接运行文件“Microsoft Visual Studio\Common\MSDev98\Bin\MSDEV.EXE”实验一认识C语言【实验目的】1.熟悉C程序设计编程环境Visual C ++,掌握运行一个C程序设计的基本步骤,包括编辑、编译、连接和运行。

编辑:编写源程序文件.c编译:生成目标文件.obj连接:生成可执行文件.exe运行:执行.exe文件。

2.掌握C语言程序设计的基本框架,能够编写简单的C程序。

3.了解程序调试的思想,能找出并改正C程序中的语法错误。

【实验内容】1-1 在磁盘上新建一个文件夹,用于存放C程序,文件夹的名字可以是学号,如D:\3050888。

1-2 编程示例,在屏幕上显示一个短句“Hello World!”。

源程序# include <stdio.h>void main( ){printf("Hello World! \n");}运行结果Hello World!作为第一个实验,在Visual C++编程环境下,以上述C语言源程序为例,介绍运行一个C 程序的基本步骤,请读者按照以下步骤操作。

(1)启动VC++执行“开始”—>“程序”—>“Microsoft Visual Studio 6.0”—> “Microsoft Visual C++ 6.0”,进入VC++编程环境(如图1.1所示)。

图1.1 VC++窗口(2)新建文件执行“文件/File”—>“新建/New”,单击“文件/Files”选项卡(如图 1.2所示),先在“文件/File name”栏中输入test,把C源(程序)文件命名为test.cpp,在“目录/Location”框中选择你已经建立的文件夹,如,D:\3050888,然后选中“C++ Sourse Files”,单击“确定”按钮,在D:\3050888下就新建了文件test.cpp,并显示编辑窗口和信息窗口(如图1.3所示)。

C语言上机编程题,全

C语言上机编程题,全

上机编程题的最大值,并将该数以格式"%.3f"写到1. 对x=1,2,...,10,求函数f(x)=x-10*cos(x)-5*sin(x)考生目录下的新建文件design1.dat中。

#include <stdio.h>#include <math.h>void main(){ FILE *p; float f(float),max,x;p=fopen("design1.dat","w");max=f(1);for(x=2;x<=10;x++)if(f(x)>max) max=f(x);fprintf(p,"%.3f",max);fclose(p);}float f(float x){y=y-10*cos(y)-5*sin(y);return (y);},若x、y取值为区间[1,6]的整数,找出使z取最小值的x1、y1,2. z=f(x,y)=(3.14*x-y)/(x+y)并将x1、y1以格式"%d,%d"写入到考生目录下的新建文件design1.dat中。

#include <stdio.h>void main(){ FILE *p; float f(float x,float y),min;int x,y,x1,y1;p=fopen("design1.dat","w");min=f(1,1);for(x=1;x<=6;x++)for(y=1;y<=6;y++)if(f(x,y)<min){min=f(x,y); x1=x;y1=y;}fprintf(p,"%d,%d",x1,y1);fclose(p);}float f(float u,float v){ return (3.14*u-v)/(u+v); }若x,y取值为区间[0,10]的整数,找出使z取最小值的3. z=f(x,y)=10*cos(x-4)+5*sin(y-2),x1,y1,并将x1、y1以格式"%d,%d"写入到考生目录中Paper子目录下的新建文件design1.dat中。

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所指的数组中。

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所指的数组中。

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语言上机经典题目!(1)

C语言上机经典题目!(1)

C语⾔上机经典题⽬!(1)《C 程序设计2》实验内容实验⼀:循环控制(⼀)1、编程计算 S=1*2+2*3+……+39*40 #include "stdio.h" main(){ int a,b,S=0;for(a=1;a<39;a++) {b=a+a+1;S=S+b;} printf("S=%d\n",S); getch();}2、编程计算 S=∑-71!i i =1!+2!+……+7!#include "stdio.h" main() {float n,s=0,t=1; for(n=1;n<=7;n++) {t*=n; s+=t; }printf("1+2!+3!...+20!=%.0f\n",s); getch(); }3、编写程序,计算如果每年按照年利率I (例如2%),投资S (例如5000),在第Y (例如10)年得到的总钱数M 。

公式:M=S*(1+I)Y#include "stdio.h" main() {float i,s,y,j,m,c=1;printf("please input I,S,Y:\n");scanf("%f,%f,%f",&i,&s,&y);m=s;for(j=1;j<=y;i++){c=1+i;m=m*c;}printf("m=%f\n",m);getch();4、编程输出九九乘法表。

#include "stdio.h"main(){ int i,j;for(i=1;i<10;i++){ for(j=1;j<=i;j++)printf("%d*%d=%-5d",i,j,(i*j));printf("\n");};getch();}实验⼆:循环控制(⼆)1、编写程序,输⼊⼀组字符(以#号结尾),对该组字符做⼀个统计,统计字母、数字和其它字符的个数,输出统计结果。

大一C语言上机实验试题及答案

大一C语言上机实验试题及答案

/*如果长、宽、高相等,则为立方体*/
printf(“该箱子是立方体。”);
else
printf(“该箱子是长方体。”);
}
2、#include <stdio.h>
void main( )
{ int year,month,days;
printf(“Please enter year and month:\n”);
五、实验调试记录:
六、参考答案: 1、#include <stdio.h> #define PI 3.14 void main( ) { float r1,r2; double s1,s2,s; printf(“Please enter r1,r2:\n”); scanf(“%f%f”,&r1,&r2); s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1; printf(“s=%lf\n”,s); } 2、#include <stdio.h> void main( ) { float h,c; printf(“请输入华氏温度:”);
scanf(“%d%d%d%d”,&a,&b,&c,&d); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(a>d) { t=a; a=d; d=t; } if(b>c) { t=b; b=c; c=t; } if(b>d) { t=b; b=d; d=t; } if(c>d) { t=c; c=d; d=t; } printf(“排序结果如下:\n”); printf(“%d,%d,%d,%d\n”,a,b,c,d); }

C语言常见、经典的上机实验题目

C语言常见、经典的上机实验题目

3.3 常见、经典的上机实验题目1、/*功能:数组x有十个元素,编程将其元素首尾颠倒。

(即第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换…)。

*/main(){int a[10]={5,65,654 ,5 ,5 ,56,588,77,58,5},j,x;for(j=0;j<5;j++){x=a[j]; a[j]=a[9-j]; a[9-j]=x;}for(j=0;j<10;j++)printf("%d\t", a[j]);}2、/*功能:统计输入的一串字符(假设以‘\n’结束)中,大写字母A,B,...,Z各出现的次数。

(提示,用一个数组count[26]计数各个字母出现的次数,count[0]表示A出现的次数,count[1]表示B出现的次数,...,count[25]表示字母Z出现的次数。

初始时count的各元素值为0。

以后,每读入一个字符ch ,若它是一个大写字母,就让相应计数单元count[ch-'A']加1。

*/main( ){int count[26] ,i;char ch[80];for(i=0;i<26;i++)count[i]=0;gets(ch);for(i=0;i<strlen(ch);i++)if (ch[i]> ='A'&&ch[i]<='Z') count[ch[i]- 'A']++;for(i=0;i<26;i++)printf("%c %d\t", 'A'+i,count[i]);}3、/*功能:键盘输入若干数,输出它们的平均值,输入值为-1时,结束输入*/main( ){int x,i=1,s;scanf("%d",&x);while(x!=-1){s=s+x;i++;scanf("%d",&x);}printf("%d\n",s/i);}4、/*功能:在字符串str中查找字符ch首次出现的位置,若str字符串中不包含字符ch,则输出0。

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语言上机实验试题及答案一、选择题(每题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语言正式上机题

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语言一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. voidD. function2. 若有定义int a=5;,则以下哪个表达式的值不为5?A. a++B. a--C. ++aD. --a3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$24. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. &5. 以下哪个选项是C语言中的整型数据类型?A. intB. floatC. doubleD. char6. 在C语言中,以下哪个选项用于声明一个指针?A. *B. &C. %D. #7. 若有定义int a[5]={1,2,3,4,5};,则以下哪个表达式的值不为3?A. a[2]B. *(a+2)C. a+2D. *a8. 在C语言中,以下哪个选项表示逻辑“或”操作?A. &&B. ||C. !D. |9. 在C语言中,以下哪个选项用于声明一个字符数组?A. char a[5]B. int a[5]C. float a[5]D. double a[5]10. 若有定义char str[10]="Hello";,则以下哪个表达式的值不为'o'?A. str[4]B. *(str+4)C. str+4D. *(str+5)二、填空题(每题2分,共20分)1. 在C语言中,用于声明一个整型变量的关键字是______。

2. 若有定义int a=10;,则表达式a++的值是______。

3. C语言中,用于声明一个浮点型变量的关键字是______。

4. 在C语言中,用于声明一个字符型变量的关键字是______。

5. 若有定义int a[5]={1,2,3,4,5};,则表达式*(a+2)的值是______。

C语言上机题目汇总

C语言上机题目汇总

C语言上机题目汇总上机题目汇总编程题:1、编写一个C程序,输入a、b、c 3个值,输出其中最大值者。

2、设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,用scanf()输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字。

3、编辑运行程序,判断某一年是否为闰年,编写源程序并分析运行结果。

4、从键盘上输入任意正整数,编程判断该数是否为回文数。

所谓回文数就是从左到右读这个数与从右到左读这个数结果一样。

5、对一维数组中的元素进行逆序排列。

6、从键盘输入一个字符串,判断该字符串是否为回文字符串。

7、编写函数strlen2(char str[])实现库函数strlen的功能(不允许直接调用这个库函数),然后在main函数中进行调用、测试。

8、编写函数strcpy2(char dest[], char src[])实现库函数strcpy 的功能(不允许直接调用这个库函数),然后在main函数中进行调用、测试。

9、编写函数strcmp2(char str1[], char str2[])实现库函数strcmp 的功能(不允许直接调用这个库函数),然后在main函数中进行调用、测试。

10、编写函数strcat2 (char str1[], char str2[])分别实现库函数strcat的功能(不允许直接调用这个库函数),然后在main函数中进行调用、测试。

11、设计一个二维数组存储学生的四门课程成绩,要求从键盘输入学生的学号,输出该学生的所有课程成绩。

12、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。

完善题:1、以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。

请在内填入正确内容。

#include#includevoid main(){float a,b,c;float s,area;scanf(“%f %f %f”,&a,&b,&c);if( ){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“%f”,area);if( )printf(“等边三角形”);else if( )printf(“等腰三角形”);else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))printf(“直角三角形”);else printf(“一般三角形”);}else printf(“不能组成三角形”);} 2、以下程序的功能是计算一元二次方程02=++c bx ax 的根。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
inti=1;/*定义并初始化循环控制变量i*/
for( ;i<=20;i++ )/*1组2个,20组40个数*/
{printf("%15ld%15ld", f1, f2);/*输出当前的2个数*/
if(i%2==0)printf("\n");/*输出2次(4个数),换行*/
f1 += f2; f2 += f1;/*计算下2个数*/
for(j=NUM-1; j>i; j--)/*内循环:进行每趟比较*/
if(data[j]<data[j-1])/*如果data[j]大于data[j-1],交换两者的位置*/
{temp=data[j];
data[j]=data[j-1];
data[j-1]=temp;
};
/*输出排序后的数据*/
inti,j,temp;/*定义循环变量和临时变量*/
clrscr();/*库函数clrscr():清屏*/
printf("Please input 10 numbers:\n");
for(i=0;i<NUM;i++)
scanf("%d", &data[i]);
/*冒泡法排序*/
for(i=0;i<NUM-1;i++)/*外循环:控制比较趟数*/
}
4、
/*功能:在字符串str中查找字符ch首次出现的位置,若str字符串中不包含字符ch,则输出0。(例如:若str为"china",ch为'a',则输出5*/
#include <stdio.h>
main( )
{charstr[20],ch;
inti,m=0;
ch=getchar( );
gets(str);
}
13、
/*功能:计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。*/
#define M 5 /*定义符号常量人数为5*/
#define N 4 /*定义符号常量课程为4*/
#include "stdio.h"
main()
{inti,j;
void aver(floatsco[M+1][N+1]);
for(i=0;str[i]!='\0';i++)
if(str[i]= =ch) {m=1; break;}
if (m= =1)printf("%d \n",i+1);
elseprintf("%d \n",0);
}
5、
/*程序功能:求Fibonacci数列的前40个数。*/
main()
{ longintf1=1,f2=1;/*定义并初始化数列的头2个数*/
}
}
6、
/*程序功能:输出10~100之间的全部素数。*/
main()
{inti=11, j, counter=0;
for( ;i<=100;i+=2)/*外循环:为内循环提供一个整数i*/
{ for(j=2; j<=i-1; j++)/*内循环:判断整数i是否是素数*/
if(i%j==0)/*i不是素数:因为能被2~(i-1)之间的某个数整除*/
3
1、
/*功能:数组x有十个元素,编程将其元素首尾颠倒。(即第一个元素与最后一个元素交换,第二个元素与倒数第二个元素交换…)。*/
main()
{inta[10]={5,65,654 ,5 ,5 ,56,588,773;)
{x=a[j]; a[j]=a[9-j]; a[9-j]=x;}
main( )
{intcount[26],i;
charch[80];
for(i=0;i<26;i++)
count[i]=0;
gets(ch);
for(i=0;i<strlen(ch);i++)
if(ch[i]>='A'&&ch[i]<='Z')count[ch[i]-'A']++;
for(i=0;i<26;i++)
/*最后一行score[M][i]存放学科平均成绩, */
/*最后一个元素score[M][N]存放全班总平均*/
aver(score);/*调用函数,2维数组名作为实参*/
clrscr();
printf("学生编号课程1课程2课程3课程4个人平均\n");
for(i=0;i<M;i++)
{printf("学生%d\t",i+1);
}
for(j=0;j<NUM_course;j++)
score[NUM_std][j] /=NUM_std;/*求第j门课的平均成绩*/
clrscr();
/*输出表头*/
printf("学生编号课程1课程2课程3课程4个人平均\n");
/*输出每个学生的各科成绩和平均成绩*/
for(i=0;i<NUM_std;i++)
#defineNUM_std5/*定义符号常量人数为5*/
#defineNUM_course4/*定义符号常量课程为4*/
#include "stdio.h"
main()
{inti,j;
static float score[NUM_std+1][NUM_course+1]={{78,85,83,65}, {88,91,89,93}, {72,65,54,75},
{86,88,75,60}, {69,60,50,72}};
/*以上定义一个(NUM_std+1)*(NUM_course+1)的2维数组,并初始化,留下最后一列score[i][NUM_course]存放个人平均成绩,最后一行score[NUM_std][i]存放学科平均成绩*/
for(i=0;i<NUM_std;i++)
static float score[M+1][N+1]={{78,85,83,65}, {88,91,89,93}, {72,65,54,75},
{86,88,75,60},{69,60,50,72}};
/*以上定义一个(M+1)*(N+1)的二维数组,并进行初始化,*/
/*留下最后一列score[i][N]存放个人平均成绩, */
if(n>1) f=power(n-1)*n;
else f=1;
return(f);
}
main()
{intn;
long y;
printf("input ainteagernumber:\n");
scanf("%d",&n);
y=power(n);
printf("%d!=%ld\n",n,y);
getch();
else
break; /*输入正确的密码,中止循环*/
getch();
i++;
if(i==3) exit(0); /*输入三次错误的密码,退出程序*/
}
/*其他语句……*/ /*输入正确密码所进入的程序段*/
}
12、
/*功能:通过函数的递归调用计算阶乘*/
long power(intn)
{long f;
/*输出每门课程的平均成绩*/
for(j=0;j<NUM_course;j++)
printf("%6.1f\t",score[NUM_std][j]);
printf("\n");
getch();
}
11、
/*功能:简单密码检测程序*/
#include "stdio.h"
main()
{charpass_str[80]; /*定义字符数组passstr*/
score[4] += score[j] * ratio[j];
}
printf("总评成绩为:%6.1f\n", score[4]);
printf("\n按空格键继续,其它键退出");
con_key=getch();/*getch()函数等待从键盘上输入一个字符*/
}
}
10、
/*功能:计算个人平均成绩与各科平均成绩,并在屏幕上显示出来。*/
{printf("学生%d\t",i+1);
for(j=0;j<NUM_course+1;j++)
printf("%6.1f\t",score[i][j]);
printf("\n");
}
/*输出1条短划线*/
for(j=0;j<8*(NUM_course+2);j++)
printf("-");
printf("\n课程平均");
{for(j=0;j<NUM_course;j++)
{score[i][NUM_course] += score[i][j];/*求第i个人的总成绩*/
score[NUM_std][j] += score[i][j];/*求第j门课的总成绩*/
相关文档
最新文档