文档库 最新最全的文档下载
当前位置:文档库 › C语言实验整理试题

C语言实验整理试题

C语言实验整理试题
C语言实验整理试题

哈工大C语言实验题

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w /(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18 时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n"

当25≤t<27 时,输出:"Higher weight!\n" 当t≥27 时,输出:"Too fat!\n" #include #include main() { float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standard weight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n");

c语言第二版第七章答案

7.1 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。 参考程序如下: #include int aa(int m,int n) //求最大公约数 { int k; if(m int aa(int n) { int i; int flag; // flag标志 for(i=2;i<=sqrt(n);i++) { if(n%i==0) break; } if(i>sqrt(n)) flag=1; else flag=0;

return(flag); } main() { int n,flag; // flag标志 printf("\nInput n:"); scanf("%d",&n); flag=aa(n); if(flag==1) printf("%d is a prime number.\n",n); else printf("%d is not a prime number.\n",n); } 7.4 写一个函数,使给定的一个3*3的二维整型数组转置,即行列互换。 参考程序如下: #include main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3][3],i,j; printf("array a:\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",a[i][j]); printf("\n"); } printf("After switch:\n"); aa(a,b); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%5d",b[i][j]); printf("\n"); } } void aa(int a[3][3],int b[3][3]) { int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) b[j][i]=a[i][j]; } 说明:当数组名作函数参数时,形参也必须是同类型的数组名,形参数组名的实质是一个指针变量,存放的第0行第0列的元素的地址;这样,子函数中a[i][j]就是主函数中的a[i][j]; 7.11写一个函数,用“起泡法”对输入的10个字符按由小到大的顺序排列 参考程序如下: main()

C语言实验题

实验四选择结构程序设计 1、编写程序输入三个数,按由小到大的顺序输出。 #include main() ( int a,b,c,t; printf("请输入三个整数:”); scanf("%d%d%d”,&a,&b,&c); if(a>=b) ( t=a; a=b; b=t; } if(a>=c) ( t=a; a=c; c=t; } if(b>=c) ( t=b; b=c; c=t; } printf("%d,%d,%d\n”,a,b,c); } 2、为优待顾客,商店对购物额为1000元以上(含1000元,下同)者,八折优惠;500元以上,1000元以下者,九折优惠; 200元以上,500元以下者,九五折优惠; 200元以下者,九七折优惠;100元以下者不优惠。 由键盘输入一个购货款额,计算应收的款额。 (1) if语句: #include main() ( float m,pay; printf("请输入金额:\n"); scanf("%f",&m); if(m>=1000) pay=m*0、8; else if(m>=500) pay=m*0、9;

else if(m>=200) pay=m*0、95; else if(m>=100) pay=m*0、97; else pay=m; printf("%f\n",pay); } (2) swicth 语句: #include main() { float m,pay; printf("请输入金额:\n"); scanf("%f",&m); switch ((int)m/100) { case 0: pay=m;break; case 1: pay=m*0、97;break; case 2: case 3: case 4: pay=m*0、95;break; case 5: case 6: case 7: case 8: case 9: pay=m*0、9;break; default:pay=m*0、8; } printf("%f",pay); } 实验五循环结构程序设计 1、求1+2+3+、、、、、、+n的与,其中n的值有键盘输入。要求分别使用for,while,与do while 语句实现。 (1)for 语句: #include main() { int i,n,sum; printf("请输入n的值:"); scanf("%d",&n); i=0; for(sum=0;i<=n;i++) (

C语言第七章习题答案

7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。 hcf(u,v) int u,v; { int a,b,t,r; if(u>v) { t=u;u=v;v=t; } a=u;b=v; while((r=b%a)!=0) { b=a;a=r; } return(a); } lcd(u,v,h) int u,v,h; { int u,v,h,l; scanf("%d,%d",&u,&v); h=hcf(u,v); printf("H.C.F=%dn",h); l=lcd(u,v,h); printf("L.C.d=%dn",l); return(u*v/h); } #include

void main() { int u,v,h,l; scanf("%d,%d",&u,&v); h=hcf(u,v); printf("H.C.F=%dn",h); l=lcd(u,v,h); printf("L.C.D=%dn",l); } 7.2 求方程根 float x1,x2,disc,p,q; greater_than_zero(a,b) float a,b; { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); } equal_to_zero(a,b) float a,b; { x1=x2=(-b)/(2*a);} smaller_than_zero(a,b) float a,b; { p=-b/(2*a);

q=sqrt(disc)/(2*a); } main() { float a,b,c; printf("n输入方程的系数a,b,c:n"); scanf("%f,%f,%f",&a,&b,&c); printf("n 方程是:% 5.2f*x*x+%5.2f*x+%5.2f=0n",a,b,c); disc=b*b-4*a*c; printf("方程的解是:n"); if(disc>0) { great_than_zero(a,b); printf("X1=%5.2ftX2=%5.2fnn",x1,x2); } else if(disc==0) { zero(a,b); printf("X1=%5.2ftX2=%5.2fnn",x1,x2); } else { small_than_zero(a,b,c); printf("X1=%5.2f+%5.2fitX2=%5.2f-%2.2fin",p,q,p,q);

c语言实验习题

1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 → 3.142,10.123456 →10.123) b.输入一个4位整数,求其得各位数字的平方和;(1234 →1+4+9+16=30).

c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值 3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观 察输出结果; g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32),输出结果取两位小数。

2.分支结构 a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边 三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形) b.输入一个年份值,判断是否为闰年; c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小 值; d.输入任意实数,求出其所对应的函数值(调用数学函数库)。 z=e的x次幂(x>10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用 if语句和switch语句; f.判断一个字符是否为字母或者数字; g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对 值。 h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正 确输出提示信息

C语言程序设计第四版第七章答案 谭浩强

第七章函数 7.1写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 maxyueshu(m,n) int m,n; { int i=1,t; for(;i<=m&&i<=n;i++) {if(m%i==0&&n%i==0) t=i; } return(t); } minbeishu(m,n) int m,n; {int j; if(m>=n) j=m; else j=n; for(;!(j%m==0&&j%n==0);j++); return j; } main() {int a,b,max,min; printf("enter two number is: "); scanf("%d,%d",&a,&b); max=maxyueshu(a,b); min=minbeishu(a,b); printf("max=%d,min=%d\n",max,min); } 7.2求方程的根,用三个函数分别求当b2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。 #include"math.h" float yishigen(m,n,k) float m,n,k; {float x1,x2; x1=(-n+sqrt(k))/(2*m); x2=(-n-sqrt(k))/(2*m); printf("two shigen is x1=%.3f and x2=%.3f\n",x1,x2); } float denggen(m,n) float m,n; {float x; x=-n/(2*m); printf("denggen is x=%.3f\n",x); }

C语言第七章复习题(不含答案)

1.下列对C语言字符数组的描述中错误的是( )。 (A)字符数组可以存放字符串 (B)字符数组中的字符串可以整体输入、输出 (C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 (D)不可以用关系运算符对字符数组中的字符串进行比较 2.不能把字符串:Hello!赋给数组b的语句是( )。 (A)char b[10]={'H','e','l','l','o','!'}; (B)char b[10];b="Hello!"; (C)char b[10];strcpy(b,"Hello!"); (D)char b[10]="Hello!"; 3.若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是( )。 (A)a[g-c] (B)a[4] (C)a['d'-'c'] (D)a['d'-c] 4.以下程序的输出结果是( ) (A) 20 (B) 21 (C) 22 (D)23 main() { int i, k, a[10], p[3]; k=5; for (i=0;i<10;i++) a[i ]=i; for (i=0;i<3;i++) p[i ]=a[i *(i+1)]; for (i=0;i<3;i++) k+=p[i] *2; printf("%d\n",k); 5.以下程序的输出结果是( )。 (A) 1,5,9 (B) 1,4,7 (C) 3,5,7 (D)3,6,9 main() { int i, x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf("%d,",x[i][2-i]); 6.下面程序运行的结果是( )。 (A) 2ba56 (B) 6521 (C) 6 (D) 62 main() { char ch[7]={“65ab21“}; int i,s=0 for(i=0;ch[i]>='0' && ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d\n",s); } 7.合法的数组定义是( )。 (A)int a[]="string"; (B)int a[5]={0,1,2,3,4,5}; (C)char s[6]="string"; (D)char a[]={0,1,2,3,4,5}; 8.函数调用:strcat(strcpy(str1,str2),str3)的功能是( )。 (A)将串str1复制到串str2中后再连接到串str3之后 (B)将串str1连接到串str2之后再复制到串str3之后 (C)将串str2复制到串str1中后再将串str3连接到串str1之后

C语言课后实验设计题目及答案

C语言实验题目及答案 1、实验项目一 C程序的编辑、编译、连接和运行 题目:编写程序,要求屏幕上显示如下信息: *********************** This is a C program . *********************** 程序: #include void main() { printf(“***********************\n”); printf(“This is a C programn .\n”); printf(“***********************\n”); } 实验项目二数据类型、运算符、表达式 题目 (1)程序填空:输入1 个实数x,计算并输出其平方根(保留1 位小数)。 填空 1.double x,root; 2.root=sqrt(x); (2)输入一个大写英文字母,输出相应的小写字母。 填空 1.ch=ch+32; 1、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { printf("This is a Cprogram\n"); return 0;

} 2、#include "stdafx.h" #include "stdio.h" #include "math.h" int main(int argc, char* argv[]) { double x; printf("x="); scanf("%lf",&x); printf("%lf\n",sqrt(x)); return 0; }

C语言课后习题

习题 第三章 #include #include int main() { int d,p; double r,a,m; scanf("%d %d %lf",&d,&p,&r); a=(p/(p-d*r)); m=log(a)/log(1+r); if(p>0&&d>0) { if(d<=m*p) printf("%.1f",m); else printf("God"); } else printf("0.0"); return 0; } 勾股数 #include int main() { int a,b,c,n; scanf("%d",&n); for(a=1;a<=n;a++) { for(b=1;b<=n;b++) { for(c=1;c<=n;c++) { if(c*c==a*a+b*b) { if(a<=b) { printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 第四章 计算分段函数值 #include int main() { float x,y; scanf("%f",&x); if(x<1) y=x; else if(x>=1&&x<10) y=2*x-1; else if(x>=10) y=3*x-11; printf("%.2f",y); return 0; } 找出三个数中最大的数 #include int main() { int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a>b?a:b; if(c>max) max=c; printf("%d",max); return 0; } 10844成绩等级评分 #include int main() { int x; scanf("%d",&x); if(x>=0&&x<=100) { switch(x/10) { case 10:

C语言-数组-实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

C语言实验课题目

目录 实验1 输入输出 (2) 实验2 选择语句 (4) 实验3 循环语句 (5) 实验4 函数 (6) 实验5 指针 (8) 实验6 数组 (9) 实验7 结构体 (10)

实验1 输入输出 要求掌握: 1、VC++平台的使用; 2、C源程序的建立、保存、编译和运行; 3、变量的定义、赋值和运算; 4、printf函数的使用; 5、scanf函数的使用; 6、int、long、float、double、unsigned的含义; 7、关键字、预定义标识符和用户标识符的区别; 8、自加自减运算符的使用。 完成下列题目: 1. 键盘输入与屏幕输出练习 问题1 要使下面程序的输出语句在屏幕上显示1, 2, 34,则从键盘输入的数据格式应为以下备选答案中的。 #include main() { char a,b; int c; scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); } A)1 2 34 B)1, 2, 34 C)’1’,’2’,34D)12 34 问题2 在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示12 34,则应修改程序中的哪条语句?怎样修改? 问题 3 要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改? 问题4 要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1', '2',34,则应修改程序中的哪条语句?怎样修改? [提示:利用转义字符输出字符单引号字符。]

C语言程序设计(何钦铭)课后习题作业

第一章习题 1、对C语言来说,下列标示符中哪些是合法的,哪些是不合法的 Total, _debug, Large&Tall, Counter1, begin_ 答:合法的:_debug、Counter1、begin_。 不合法的:Total、Large&Tall。 2、改写节中的流程图,求1—100中能被6整除的所有整数的和。 3、改写节中的程序,求1—100中能被6整除的所有整数的和,并在编程环境中验证该程序

的运行结果。 答:程序为: #include<> int main(void) { int i,sum=0; for(i=1;i<=100;i++) if(i%6==0)sum=sum+i; printf("sum=%d\n",sum); return 0; } 4、对于给定的整数n(n>1),请设计一个流程图判别n是否为一个素数(只能被1和自己整除的整数),并分析该流程图中哪些是顺序结构、哪些是分支结构和循环结构。

第二章作业 1.编写程序,输入两个整数num和num2,计算并输出她们的和、差、积、商。 答:程序: #include<> void main() { int num1,num2,y1,y2,y3,y5; double y4; printf("请输入两个数:num1,num2\n"); scanf("%d%d",&num1,&num2); y1=num1+num2; y2=num1-num2; y3=num1*num2; y4=num1*num2; y5=num1%num2; printf("num1,num2和y1=%d\nnum1,num2差y2=%d\nnum1,num2积y3=%d\nnum1,num2商y4=%lf\nnum1,num2余y5=%d\n",y1,y2,y3,y4,y5); } 2.为了倡导居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时以内的,电价为元/千瓦时;超出50千瓦时的用电量,电价上调元/千瓦时。编写程序,输入用户的月用电量(千瓦时),计算并输出该用户应支付的电费(元)。 答:程序: #include<> void main()

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 PI int 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,输出应该是7。 输入格式: 每个测试是一个3位的正整数。 输出格式: 输出按位逆序的数。 输入样例:

输出样例: 【参考答案】 #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个整数的和与平均值。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出4个整数,其间以空格分隔。 输出格式: 在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。 输入样例: 输出样例: 【参考答案】 #include "" int main()

c语言实验题

数组 1:显示十个数据并找到最大值 #include void main() { int temp[10],i,max; i=0; while(i<10) { scanf("%d",&temp[i]); i++; } max=temp[0]; for(i=0;i<10;i++) if(max double a[5]={2.38,3.142,5.64,8.27,6.44}; void main() { int n; float sum=0.0; for(n=0;n<5;n++) sum+=a[n]; printf("Average:%f\n",sum/5); } 3.输入一串字符,判断单词个数! #include

void main() { char str[100]; int i,num=0,w=0; char c; gets(str); for(i=0;(c=str[i])!='\0';i++) { if(c==' ')w=1; else if(w==1) { w=0; num++; } } printf("there are %d words\n",num); } 4.函数:求两个数的最大公约数 #include void main() { int a,b,x; int gcd(int,int); printf("Enter a,b:"); scanf("%d,%d",&a,&b); x=gcd(a,b); printf("The Result is:%d",x); } int gcd(int u,int v) { int n,i,m=0; n=u

C语言复习题及答案 第七章 数组

第七章数组 (8学时) 学习目的与要求: 1 、重点掌握一维数组的定义和引用; 2 、基本掌握二维数组的定义和引用; 3 、重点掌握字符型数组的定义与引用; 4 、能正确使用字符串处理函数; 5 、学会使用数组解决实际问题。 重点: 1 、一维数组的定义与引用; 2 、二维数组的定义与引用; 3 、字符数组的定义与引用; 第1讲 知识归纳: 1、一维数组的定义:类型说明符数组名[ 常量表达式] ; (1) (1)数组名后必须用方括弧[ ] ,用其他括弧均错误; (2) 方括弧中的常量表达式表示数组的元素个数; (3) 方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量; 2、一维数组的引用: 数组名[ 下标] //下标从0开始,可以是整型常量或整型表达式; (1) 注意:数组元素引用时,不要超出数组范围; 如int a[10] ; //可以引用的数组元素为a[0]……a[9] , a[10] 不是本数组元素; 3、一维数组的初始化: (1) (1)可以在定义数组后,立刻赋值;如int a [3] = { 1,3, 5} ; 但下面这样是错误的: int a[3] ; a = { 1,3, 5} ; (2) (2)可以给数组的部分元素赋值,不赋值的元素,默认值为int 0, char, …?, float 0.0 ; 如int a [3]= {1,3 } ; //a[0] =1 ; a[1]= 3 ; a[2]= 0 ; (3) 在对数组全部元素赋初值时,可以不指定元素个数; (4) 可以在循环控制下,给数组各元素赋值; 如:int a[10] ; for ( i=0 ; i <10 ;i ++ ) a [ i ] = i ; 基础训练(A) 一、选择题 1、在c语言中,引用数组元素时,其数组下标的数据类型允许是()。 A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 2、要说明一个有10个int元素的数组,应当选择语句()。 A) int a[10]; B) int a(10); C) int a[9] D) int a[11] 3、以下对数组的正确定义是:()。 A) float b[5.0] B) float b[5] C) float b(5) D) float b[] 4、对以下说明语句的正确理解是()。 int a[10]={6,7,8,9,10}; A)将5个初值依次赋给a[1]至a[5]

哈工大C语言实验题

哈工大C语言实验题

————————————————————————————————作者:————————————————————————————————日期: ?

Q308.(10分)第5章实验2:体型判断。 医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。体指数计算公式是: t = w/(h*h) 其中:t是体指数;w是体重,其单位为千克;h是身高,其单位为米。根据给定的体指数t计算公式,可判断你的体重属于何种类型: 当t<18时,为低体重; 当18≤t<25 时,为正常体重; 当25≤t<27 时,为超重体重; 当t≥27 时,为肥胖。 ****输入提示信息格式:"Please enter h,w:\n" ****输入数据格式要求:"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入) ****输出数据格式要求: 当 t<18 时,输出:"Lower weight!\n" 当18≤t<25 时,输出:"Standard weight!\n" 当25≤t<27时,输出:"Higher weight!\n" 当t≥27 时, 输出:"Too fat!\n" #include main() {

float t,w,h; printf("Please enter h,w:\n"); scanf("%f,%f",&h,&w); t = w/(h*h); if(t<18) printf("Lower weight!\n"); else if(t>=18&&t<25) printf("Standardweight!\n"); else if(t>=25&&t<27) printf("Higher weight!\n"); else printf("Too fat!\n"); return 0; }

C语言程序设计第二版第四章第七章课后答案

1、输入函数scanf的参数错误,应该为:scanf("%f",&k); 2、|1234 1234 | 3、ff10 4、1,3,1 5、原字符串左边加空格再加字符串本省,字符个数总和为5个 6、scanf("%d,%d,%c,%c",&a1,&a2,&c1,&c2); 7、 printf("a+b=%d\n",a+b); printf("a-b=%d\n",a-b); printf("a*b=%d\n",a*b); printf("a/b=%d\n",a/b); printf("(float)a/b=%f\n",(float)a/b); printf("a%b=%d\n",a%b); 8、 void main() { float r; float s,c; printf("please input the number:"); scanf("%f",&r); if(r>=0) { s = 3.14*r*r; c = 2*3.14*r; printf("s = %f, c = %f\n",s,c); } else printf("you input number is error!"); } 9 void main() {int n; printf("please input the number:"); scanf("%d",&n); if(n>=100 && n <= 999) printf("%d%d%d",n%10,(n/10)%10,n/100); else printf("you input number is error!"); } 10、 void main() { int i,j,k; scanf("%d,%d,%d",&i,&j,&k); ((i%2 != 0?1:0) + (j%2 != 0?1:0)+(k%2 != 0?1:0)) == 2?printf("YES\n"):printf("NO\n"); } 11、 void main()

c语言上机实验答案

一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输 出到屏幕。(书P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d); } 3、#include #include

C语言实验题

C语言实验题 C语言实验题 1. 买糖果 题目描述:小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了,糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱? 输入:输入爸爸给小瑜的钱n元,n为整数。 输出:小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用空格分隔。样例输入2 样例输出6 2 代码:int main() { int n,a,b; scanf(\ a=10*n/3; b=10*n%3; printf(\ return 0; } 温度转换 题目描述:输入一个华氏温度,输出摄氏温度,其转换公式为:输入:输入数据只有一个实数,即华氏温度。 输出:输出数据只有一个,即摄氏温度,保留2位小数。样例输入:32.0 样例输出:0.00 - 1 C=5(F-32)/9 代码:int main() {

float f,c; scanf(\ c=5*(f-32)/9; printf(\ return 0; } 三角形面积 题目描述:已知三角形的边长输入:输入三边a、b、c 输出:输出面积,保留3位小数。样例输入:1 2 2.5 样例输出:0.950 代码:int main() { float f,c; scanf(\ c=5*(f-32)/9; printf(\ return 0; } 一元二次方程 题目描述:解一元二次方程输入:a,b,c的值。 - 2 a、b和c,求其面积。 ax2+bx+c=0的解。 输出:两个根X1和X2,其中X1>=X2。。结果保留两位小数。样例输入:1 5 -2 样例输出:0.37 -5.37 代码:# include int main() { float a,b,c,disc,p,q,x1,x2; scanf(\ disc=b*b-4*a*c; p=-b/2*a; q=sqrt(disc)/2*a; x1=p+q;x2=p-q; printf(\ return 0; } 圆柱体计算 题目描述:已知圆柱体的底面半径

c语言第七章习题

第七章结构体 一、选择题 1、若有语句:char s1[]="string",s2[8],*s3,*s4="string2";则对库函数strcpy的错误调用是()A)strcpy(s1,"string2"); B)strcpy(s4,"string1"); C)strcpy(s3,"string1"); D)strcpy(s1,s2); 2、下面程序的运行结果是() fun(int **a,int p[2][3]) {**a=p[1][1];} main() {int x[2][3]={2,4,6,8,10,12},*p;p=(int *)malloc(sizeof(int));fun(&p,x);printf("%d\n",*p);} A)10 B)12 C)6 D)8 3、以下scanf函数调用语句中对结构体变量成员的不正确引用是()。 struct pupil { char name[20]; int age; int sex;} pup[5],*p; p=pup; A)scanf("%s",pup[0].name); B)scanf("%d",&pup[0].age); C)scanf("%d",&(p->sex)); D)scanf("%d",p->age); 4、以下对结构体变量stul中成员age的非法引用是()。 struc student { int age; int num; }stul,*P; p=&stul; A)stul.age B)student.age C)p->age D)(*p).age 5、设有以下说明和定义语句,则下面表达式中值为3的是()。 struct s { int i1; struct s *i2;}; struct s a[3]={1,&a[1],2,&a[2],3,&a[0]},*ptr; ptr=&a[1]; A)ptr->i1++ B)ptr++->i1 C)*ptr->i1 D)++ptr->i1 6、若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则《1》中应填入的内容是: int *p; p=《1》malloc(sizeof(int)); A)int B)int * C)(*int) D)(int *) 7、以下对C语言中共用体类型数据的叙述正确的是()。 A)可以对共有体变量名直接赋值B)一个共用体变量中可以同时存放其所有成员 C)一个共有体变量中不能同时存放其所有成员 D)共用体类型定义中不能出现结构体类型的成员 8、当说明一个共用体变量时系统分配给它的内存是()。

相关文档
相关文档 最新文档