C语言实验题目(上)
C语言实验题目()

求两个数之和。
在两种情况下完成:①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。
②数据通过scanf( )函数输入。
静态输入:#include <stdio.h>void main(){int a=1,b=2,s;s=a+b;printf("这两个数的和是%d\n",s);}动态输入:#include <stdio.h>void main(){int a,b,s;printf("请您输入两个数:");scanf("%d,%d",&a,&b);s=a+b;printf("这两个数的和是%d\n",s);}设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。
要求用scanf 输入数据,输出计算结果。
#include <stdio.h>void main(){float r,h,l,s,sq,vz;float pi=3.1415926;printf("请输入圆的半径r,圆柱高h:");scanf("%f,%f",&r,&h);l=2*pi*r;s=r*r*pi;sq=4*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("圆柱的体积为vz=%6.2f\n",vz);}输入a、b、c三个整数,求出其中最大者,并连同三个源数据一起输出。
#include <stdio.h>int max(int x,int y,int z){int max;if(x>y){if(x>z)max=x;elsemax=z;}else{if(y>z)max=y;elsemax=z;}return(max);}void main(){int max(int x,int y,int z);int a,b,c,w;printf("请您输入三个整数:");scanf("%d,%d,%d",&a,&b,&c);printf("您输入的三个数是:%d,%d,%d\n",a,b,c);w=max(a,b,c);printf("这三个数中最大的是:%d\n",w);}给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
c语言实验题目

实验3 顺序结构编程 (2)实验4 if分支结构编程 (3)实验5 if分支结构和switch分支结构编程 (5)实验6 分支结构嵌套和for循环编程练习 (10)实验7和while和do-while练习 (13)实验8 for循环嵌套练习 (16)实验9 函数设计编程练习 (19)实验10函数设计编程练习 (21)实验11 数组编程练习 (24)实验3 顺序结构编程实验题目1 输入两个整型数x,y,求x,y之和、差、积、x/y的商和余数提示: (1)定义整形变量变量int x,y;(2)和、差、积、商和求余数的运算符分别是+、-、*、/、%(3)输入两个整型数可以调用scanf()函数scanf("%d %d", &x,&y);实验题目2 按下列要求编写程序,对变量a,b,c进行unsigned int型说明,将65赋给a,66赋给b,67赋给c,对变量a,b,c用%c格式输出显示提示: (1)定义变量unsigned int a ,b,c;(2)字符型数据输出的格式控制符是%c(3)C语言中的赋值符号是=“65赋给a”表示为a = 65;实验题目3 输入三角形的三条边的边长,求三角形的面积从键盘输入三个整数,判断能否构成三角形的三边,如果能就计算输出三角形面积,按照下图给出的公式计算三角形的面积:s=(a+b+c)/2a,b,c代表三角形的三条边提示1、开根号的数学库函数是sqrt,例如y=sqrt(x),表示求变量x开根号,并把结果赋值给变量y。
2、调用数学库函数必须用如下命令#include <math.h>要求:(1)存储三角形三边的变量用double型(2)打印三角形面积时小数保留两位%.2lf实验题目4 已知半径r=3.4cm,编程求圆的周长和面积:提示: (1)定义浮点型变量使用关键字float;(2)浮点型数据输出的格式控制符是%f(3)C语言中没有∏这个符号,编写程序时直接使用3.14159。
C语言课后实验设计题目及答案

设 total:桃子的总数
x1 :前一天的桃子数
x2 : 后一天的桃子数
day: 天数
计算公式:x1=(x2+1)*2 第1天的桃子数是第2天桃子数加1后的2倍。
(2)求1-1/2+1/3-1/4+⋯⋯,输入1个正整数n(n<=100),计算并输出1-1/2+1/3-1/4+⋯⋯的前n项和(保留3位小数)。
实验项目四 分支结构程序设计
题目
(1)输入四个整数,输出其中的最小值。
实验报告
1、主程序:
// zx.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
}
2、主程序:
// s.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main(int argc, char* argv[])
{
x=x*x*x*x;return(x);
}
int main(int argc, char* argv[])
{
float x;
printf("请输入X=");
scanf("%f",&x);
double s;
C 语言 实验 + 答案 4题

}while(fabs(x1-x0)>1e-5);
printf("the root of equation is %5.2f\n",x1);
}
第四题:
第一个:
#include<stdio.h>
void main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
(3)用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
在得到正确结果后,请修改程序使所设的x初始值由1.5改变为100、1000、10000,再运行,观察结果,分析不同的x初值对结果有没有影响,为什么?
修改程序,使之能输出对迭代的次数有无影响。
{
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("total=%d\n",x1);
}
第二个:
#include<stdio.h>
void main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{
x1=(x2+2)*2;
x2=x1;
day--;
}
printf("total=%d\n",x1);
if(m%i==0)
printf("%5d",i);
printf("\n");
}
}
}
第三题:
#include<stdio.h>
#include<math.h>
c语言上机实验题及参考答案

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语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
[VIP专享]C程序设计实验题目(上)
![[VIP专享]C程序设计实验题目(上)](https://img.taocdn.com/s3/m/9595db89ce2f0066f53322ec.png)
实验一 简单的C/C++程序练习1.编程序求某位学生的平均分。
要求输入该生4门课的成绩,程序即可输出其平均分。
运行结果示例:练习2.编程序求半径为r 、高为h 的圆柱体的体积。
要求输入r 和h 的值,程序即可输出体积。
要求:将π值定义为符号常量,例如:# define PI 3.14运行结果示例:练习3.编写程序,求函数 的值。
要求输入x ,程序即可输40cos 2)3lg(2⨯++=πx y 出y 的值。
要求:将π值定义为符号常量,例如:# define PI 3.14运行结果示例:练习4.输入一字符,编程序判断输入字符的种类(字母、数字、其它)。
要求:利用if 条件语句编程。
运行结果示例:*练习5.编写程序,输入一个3位整数,依次输出该数的正(负)号和百位、十位、个位数字。
运行结果示例:实验二 顺序与分支程序设计练习1.编写程序,求函数 的值。
要求输入x ,程序即可输出︒⨯++=30sin 53x e x y πy 的值。
要求:将π值定义为符号常量,例如:# define PI 3.14159运行结果示例:练习2.编写程序,实现下列分段函数的求值:| x |x<5y = 3x2-2x+15≤x<20x /5x≥20要求:利用if条件语句(嵌套)编程。
练习3.编写程序,将输入的3个整数按降序输出。
运行结果示例:要求:利用条件表达式进行判别。
练习4.编写程序,输入上网的时间计算上网费用,计算的方法如下:25元<10小时费用= 每小时2.5元10~50小时每小时2元≥50小时同时,为了鼓励多上网,每月收费最多不超过130元。
要求:使用switch语句编程。
*练习5.编写程序,能够计算两个数的+、-、*、/ 的简易计算器。
提示:利用switch条件语句编程。
运行结果示例:实验三循环程序设计一.实验目的1.掌握各种循环语句的程序设计。
三.实验内容练习1.输出50-100之间所有奇数的累加和。
C语言实验题及参考答案

实验一1、计算整数各位数字之和(10 分)输入一个3 位正整数,将其每一位的数字相加,输出和输入格式:输入一个3 位正整数。
变量数据类型为unsigned 。
输出格式:输出整数每一位相加后的整数和。
输入样例:输出样例:【参考答案】#include "" int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。
变量数据类型为double 。
π 为。
输出格式:输出y 的值,精确到小数点后2 位。
输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x); y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数 (10 分)程序每次读入一个正3 位数,然后输出按位逆序的数字。
有结尾的0 时,输出不应带有前导的0。
比如输入700,输入格式:每个测试是一个3 位的正整数。
输出格式:输出按位逆序的数。
输入样例:输出样例:注意:当输入的数字含输出应该是7。
【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值 (10 分)本题要求编写程序,计算4 个整数的和与平均值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ int max; if(x>y) { if(x>z) max=x; else max=z; } else { if(y>z) max=y; else max=z; } return(max); } void main() { int max(int x,int y,int z); int a,b,c,w; printf("请您输入三个整数:"); scanf("%d,%d,%d",&a,&b,&c); printf("您输入的三个数是:%d,%d,%d\n",a,b,c); w=max(a,b,c); printf("这三个数中最大的是:%d\n",w); } 给出一个百分制成绩,要求输出成绩等级 A、B、C、D、E。90 分以上为 A,80-89 分为 B, 70-79 分为 C,60-69 分为 D,60 分以下为 E。要求输入一个成绩并打印出对应的等级制 成绩。要求用 switch 语句完成。 #include <stdio.h> void main() { int grade,c; printf("请您输入一个成绩:"); scanf("%d",&grade); while(grade>100||grade<0) { printf("您输入了一个错误的成绩!请重新输入\n"); scanf("%d",&grade); } c=grade/10;
int n; for(n=1;n<=10;n++) { t=t*n; s=s+t; } printf("1!+2!+3!+...+10!的和是:%ld\n",s); } 1!+2!+3!+...+10!的和是:4037913 设数列为 1,3,5,7,9,11,13,15,17,19,动态输入在数组 array 中,然后顺序打印 输出该数列,再逆序打印输出该数列。 #include <stdio.h> #define N 10 void main() { int array[10]; printf("请您输入 10 个整数:\n"); int i=0; for(i=0;i<N;i++) scanf("%d",&array[i]); printf("您输入的 10 个整数的顺序排列是:\n"); for(i=0;i<N;i++) printf("%-4d",array[i]); printf("\n"); printf("您输入的 10 个整数的逆序排列是:\n"); for(i=N-1;i>=0;i--) printf("%-4d",array[i]); printf("\n"); } 将 3x3 阶二维数组的关于主对角线对称的元素互换。二维数组的第 1 至 3 行元素分别为 1、 2、3、4、5、6、7、8、9。用矩阵形式分别输出互换前、后的数组元素值。 #include <stdio.h> void main() { int i,j,t,array[3][3]={1,2,3,4,5,6,7,8,9}; printf("Before Exchanged:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",array[i][j]); printf("\n");
} n--; printf("当 n 是%d 时,M 的值为%f\n",n,M); } 100 匹马驮 100 担货,大马一匹驮 3 担,中马一匹驮 2 担,小马一匹驮 0.5 担,计算大、中、 小马数目并输出。 #include <stdio.h> void main() { int big,mid,small,sum=0; for(big=0;big<33;big++) for(small=0;small<100;small+=2) for(mid=0;mid<50;mid++) { if(3*big+2*mid+small/2==100&&big+mid+small==100) { printf("big:%d\t,mid:%d\t,small:%d\n",big,mid,small); sum++; } } printf("一共有%d 种组合方式\n",sum); } 求 sum=1!+2!+3!+...+10! ,并输出结果。 #include <stdio.h> void main() { float s=0,t=1; int n; for(n=1;n<=10;n++) { t=t*n; s=s+t; } printf("1!+2!+3!+...+10!的和是:%e\n",s); } 注意该程序的结果为:1!+2!+3!+...+10!的和是:4.037913e+006 是以科学计数法表示的结果,因为 int 的定义范围只能以此表示,如果用 long int 来输出, 则可以得到正常表示的结果 #include <stdio.h> void main() { long s=0,t=1;
switch(c) { case 10: case 9: grade='A';break; case 8: grade='B';break; case 7: grade='C';break; case 6: grade='D';break; default: grade='E'; } printf("您输入的成绩的等级为:%C\n",grade); } 计算当 n 为何值时,不等式 sum=1 + 1/2 + 1/3 +… + 1/n >limit 成立,输出 n 对应的 sum(limit 从键盘输入,要求用 while、或 do... while 语句,limit=10) 。 #include <stdio.h> void main() { float n=0,sum=0,limit=0; printf("请输入一个 limit 的值:"); scanf("%f",&limit); while (sum<=limit) { n++; sum=sum+1/n; } printf("此时 sum 的值是:%f\n",sum); printf("此时 n 的值为%f\n",n); } 计算 M=11+ 22+ 33+…+ NN,直到 N 等于 15 为止,输出 N 和对应的 M。 (要求用 for 语句 做) #include <stdio.h> void main() { int n; float M; M=0.0; for(n=1;n<10;n++) { M=M+(n+10*n); } for(n=10;n<=15;n++) { M=M+;3;i++) for(j=0;j<i;j++) { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } printf("After Exchanged:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",array[i][j]); printf("\n"); } }
求两个数之和。在两种情况下完成: ①数据在程序内部定义变量时赋初值,或者通过赋值语句赋值。 ②数据通过 scanf( )函数输入。 静态输入: #include <stdio.h> void main() { int a=1,b=2,s; s=a+b; printf("这两个数的和是%d\n",s); } 动态输入: #include <stdio.h> void main() { int a,b,s; printf("请您输入两个数:"); scanf("%d,%d",&a,&b); s=a+b; printf("这两个数的和是%d\n",s); } 设圆半径 r=1.5,圆柱高 h=3,求圆周长、圆面积、圆柱表面积、圆柱体积。要求用 scanf 输 入数据,输出计算结果。 #include <stdio.h> void main() { float r,h,l,s,sq,vz; float pi=3.1415926; printf("请输入圆的半径 r,圆柱高 h:"); scanf("%f,%f",&r,&h); l=2*pi*r; s=r*r*pi; sq=4*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("圆柱的体积为 vz=%6.2f\n",vz); } 输入 a、b、c 三个整数,求出其中最大者,并连同三个源数据一起输出。 #include <stdio.h> int max(int x,int y,int z)