c语言上机实验程序怎么做,《C语言程序设计》上机实验三参考答案

本文提供了一系列C语言编程练习题目,包括计算三角形面积、计算三位数各位数字的立方和、字符大小写转换等,旨在帮助初学者巩固基础语法知识。

// P19 二、1) 能够对给定的任意的三个数值,视为三角形三个边长,求该三角形的面积。

#include

#include

main()

{

double a,b,c,p,s;

printf("Please input a、b、c:\n\n");

scanf("%lf%lf%lf",&a,&b,&c);

if( a+b>c

&& a+c>b

&& b+c>a )

{

p=(a+b+c)/2.0;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("Area is %.3f

\n\n",s);

}

else

{

printf("a,b,c cannot construct

a triangle! \n\n");

exit(0);

}

}

// P19 二、2) 给定一个三位整数(100~999),求它的每一位数的立方和。

#include

#include

main()

{

int a,n100,n10,n1,s3;

do

{

printf("Please input

a(100~999):\n\n");

scanf("%d",&a);

}while(a<100||a>999);

n100=a/100;

n10=a/10%10;

n1=a%10;

s3=pow(n100,3)+pow(n10,3)+pow(n1,3);

printf("The sum of every digit of a is %d

\n\n",s3); }

// P19 二、3) 给定一个小写字母,转换成大写字母。

#include

main()

{

char c1,c2;

do

{

printf("Please input a lower

letter (a~z): \n");

c1=getchar();

}while(c1'z');

c2=c1-32;

putchar(c2);

printf("The correspongding upper letter (A~Z)

is: \n");

putchar('\n');

putchar('\n'); }

// P19 二、4)

给定三个整数m、a、b,请写出判断m是否在a和b之间的逻辑表达式,并且编写程序打印出这个逻辑表达式的值。

#include

main()

{

int m,a,b;

int lv;

printf("Please input a,b,m:\n\n");

scanf("%d%d%d",&a,&b,&m);

// lv=(a-m)*(b-m);

lv=(m>=a&&m<=b);

// if(lv<=0)

if(lv==1)

printf("lv=lv=(a-m)*(b-m)=%d,

which indicates that m is between a and b. \n\n",lv);

else

printf("lv=lv=(a-m)*(b-m)=%d,

which indicates that m is not between a and b. \n\n",lv);

}

// P19 二、5) 计算表达式a+=a-=a*a的值,并打印出来。假设程序运行时,输入的a的值是3.

#include

main()

{

int a,lv;

printf("Please input a:\n\n");

scanf("%d",&a);

lv=(a+=a-=a*a);

printf("lv=(a+=a-=a*a)=%d. \n\n",lv);

}

// P19 二、6)

编写一个C语言程序,i=8输出下列个表达式:i,i++,++i,--i,i--,-i++,-i--的值。

#include

main()

{

int i;

printf("please input i:\n\n");

scanf("%d",&i);

printf("i=%d \n",i);

printf("i++=%d \n",i++);

printf("++i=%d \n",++i);

printf("--i=%d \n",--i);

printf("i--=%d \n",i--);

printf("-i++=%d \n",-i++);

printf("-i--=%d \n",-i--);

}

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

a4c26d1e5885305701be709a3d33442f.png

C语言程序设计实验报告 "实验名称 "控制语句 " "学 院 "材料与冶金学院 "专业班级 "材料成型及控制工程044班 " "姓 名 "胡冬梅 "学 号 "20041432 " "任课教师 "高克宁 "实验时间 "2006年12 月5 日 " 实验目的 1.熟练掌握if、if...else、if...else if语句,掌握if语句中的嵌套关系和匹配原则,利用if语句实现分支选择结构。 2.熟练掌握for语句格式及使用方法 3.掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧.进一步学习调 试程序,掌握语法错误和逻辑的检查方法。 4.掌握C函数的定义方法,函数的调用方法,参数说明以及返回值,掌握实参与形参 的对应关系以及参数之间的"值传递"的方式。 5.在编程的过程中加深函数调用的设计思想。 实验内容 输入一个数值,计算并输出该数值以内最大的10个素数以及它们的和. 要求: (1) 在程序内部加必要的注释. (2)要对小于该数以内不够10个素数的情况进行处理. (3)输出的形式为:素数1+素数2+...+素数10=总和值. 算法描述流程图 主函数流程图: 判断素数函数流程图: 源程序 int a(int n) /*设计一个求素数的函数*/ { int i; for(i=2;i<=n/2;i++) if(n%i==0) return 0; /*不是素数则返回0*/ return 1; /*是素数则返回1*/ } main() {int i=1,n,sum=0,k; printf("Input a number:"); scanf("%d",&k); /*输入一个整数*/ for(n=k;n>1;n-=1) { if(a(n)) /*调用a(int n)函数,判断是否为素数*/ { if(i==1) printf("%d",n); else printf("+%d",n); /*是素数以和的形式输出*/ sum+=n; /*是素数则求和*/ i++; } if(i==11) break; /*当i>10时就退出循环*/ } printf("=%d\n",sum); if(i<=10) printf("not shuchu.\n"); /*当i〈10时,程序结束*/ } 测试数据 测试数据为10,100,1000. 运行结果 当测试数据为10时: 当测试数据为100时: 当测试数据为1000时: 出现问题及解决方法 1)在本实验中,需按要求的格式输出"素数1+素数2+...+素数10=总和值.",因采用 循环 for(n=k;n>1;n-=1) { if(a(n)) { if(i==1) printf("%d",n); else printf("+%d",n); sum+=n; i++; } if(i==11) break; } printf("=%d\n",sum); 从而使输出结果符合题目要求; 2)要对不足10个的素数进行处理,因而要加入"if(i<=10) printf("not shuchu.\n");" 实验心得 通过该实验,我对分支(if,if``else,if```else if```)和循环结构(for,while,do```while)的几种用法更加熟练,并掌握了函数的定 义与调用,参数说明以及返回值使用。并对C程序设计有了总体的认识。 ----------------------- c语言上机实验报告报告全文共5页,当前为第1页。 c语言上机实验报告报告全文共5页,当前为第2页。 c语言上机实验报告报告全文共5页,当前为第3页。 c语言上机实验报告报告全文共5页,当前为第4页。 c语言上机实验报告报告全文共5页,当前为第5页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值