c语言上机报告

更新时间:2024-03-21 20:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三

姓名 杨兰 班级 机电0908 学号 09222021 一. 实验题目:输入两个运算量和一个运算符,完成加、减、乘、除运算,输出运算结果。 1.源程序: #include void main(){ float x,y,z; char t;

printf(\scanf(\

printf(\scanf(\

printf(\scanf(\switch (t) {

case '+': z=x+y; printf(\case '-': z=x-y; printf(\case '*': z=x*y; printf(\case '/': if(y!=0) {z=x/y; printf(\

else printf(\You can/'t put 0 under the \\\break;

default:printf(\} }

2.实验结果:

二. 实验题目:输入三角形三边长,输出该三角形的类型和面积。 1. 源程序: #include #include void main() {

float a,b,c,d,t; double k,l,s;

printf(\scanf(\

printf(\scanf(\

printf(\scanf(\

if (a>b) {t=b;b=a;a=t;} if (b>c) {t=b;b=c;c=t;}

if (a+b<=c) printf(\错误提醒:两边之和小于第三边\\n\else {

k=(a*a+b*b-c*c)/(2.0*a*b); l=(a+b+c)/2.0;

s=sqrt(l*(l-a)*(l-b)*(l-c)); if (k<0) k=-1; else if(k==0) k=0; else k=1; switch ((int)k) {

case -1:printf(\钝角三角形,面积s=%f\\n\case 0:printf(\直角三角形,面积s=%f\\n\case 1:printf(\锐角三角形,面积s=%f\\n\} } }

2. 实验结果:

三. 实验题目:编写程序,输入工资money,计算出应缴税款和实际收入。

收入 税率 money<500 0.00 500 <= money <1000 0.05 1000<= money <1000 0.08 2000<= money <1000 0.10 5000<= money 0.15

要求:

1. 用switch语句编程; 2. 输出结果形式如下: 工资= 税率= 应缴税款= 实际收入= 1. 源程序 #include void main() {

float money,d,dm,sm; int t;

printf(\scanf(\t=money/500;

switch (t) {

case 0: d=0; case 1: d=0.05; case 2:

case 3: d=0.08;break; case 4:

case 5: d=0.10;break; default: d=0.15;break; }

dm=money*d; sm=money*(1-d);

printf(\工资=/\\n\printf(\税率=/\\n\printf(\应缴税款=/\\n\printf(\实际收入=/\\n\}

2. 实验结果:

四.实验题目:输入一行字符,分别统计出英文字母、空格、数字和其它字符的个数。 1.源程序:

#include

main() { char a; int b,c,d,e; b=0;c=0;d=0;e=0;

/* b是字母 c是数字 d是符号 e是空格*/

printf(\请输入包含字母、数字、符号、空格的一串字符:\while ((a=getchar())!='\\n') {

if(a>='a'&&a<='z'||a>='A'&&a<='Z') b++;

else if(a>='0'&&a<='9') c++;

else if(a==' ') e++; else d++; }

printf(\字母%d个\\n\printf(\数字%d个\\n\printf(\空格%d个\\n\

printf(\符号%d个\\n\}

3. 实验结果:

五.实验题目:打印出100~999之间的所有水仙花数 1.源程序:

#include

void main() {

int i,j,k,n=100;

printf(\~999之间的所有水仙花数为:\\n\

while(n<1000) { i=n/100; j=n/10-i*10; k=n;

if(n==i*i*i+j*j*j+k*k*k) printf(\n++; } }

3. 实验结果:

六.实验题目:求1+1/2+1/3+…+1/n的值,其中n由键盘输入; 1.源程序:

#include void main() { int n,N; float s=0;

printf(\请输入一个正整数n:\scanf(\

N=n; while (n>0) {

s=s+1.0/n; n--; }

printf(\n1+1/2+1/3…+1/%d=%.3f\\n\}

2.实验结果:

七. 实验过程中遇到的问题及解决方法:

1. 明白了Scanf(“”)并是仅仅是用于给用户输入字符的,还是计算机自己一个一个读取字符的语句。

2. 新学到了getchar()的用法,读取字符时相当于scanf。

八.通过实验,还有哪些问题需要解决?

希望老师还能介绍一些类似flag、getchar等常用编程语句的用法。

本文来源:https://www.bwwdw.com/article/jab8.html

Top