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中。

  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门课的总成绩*/
相关文档
最新文档