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()

{int a,b,c,d,sum;

float ave;

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

sum=a+b+c+d;

ave=sum/;

printf("Sum = %d; Average = %.1f\n",sum,ave);

return 0;

}

5、是不是太胖了(10 分)

输出样例:

【参考答案】

#include <>

int main()

{

int h;

float w;

scanf("%d",&h);

w=(h-100)**2;

printf("%.1f\n", w);

return 0;

}

6、日期格式化(10 分)

世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。

输入格式:

输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。

输出格式:

在一行中按照“yyyy-mm-dd”的格式给出年、月、日。

输入样例:

输出样例:

【参考答案】

#include <>

int main()

{int year,month,day;

scanf("%d-%d-%d",&month,&day,&year);

printf("%d-%02d-%02d\n",year,month,day);

return 0;

}

7、整数四则运算(10 分)

本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。

输入格式:

输入在一行中给出2个正整数A和B。

输出格式:

在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

输入样例:

输出样例:

【参考答案】

#include ""

int main()

{ int a,b;

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

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

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

printf("%d * %d = %d\n",a,b,a*b);

printf("%d / %d = %d\n",a,b,a/b);

return 0;

}

8、计算存款利息(10 分)

本题目要求计算存款利息,计算公式为

interest=money×(1+rate)?year??money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。

输入格式:

输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。输出格式:

在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。

输出样例:

【参考答案】

#include <>

#include <>

int main()

{

float money,rate,year,interest;

scanf("%f %f %f",&money,&year,&rate);

interest=money*pow((1+rate),year)-money; printf("interest = %.2f\n", interest); return 0;

}

实验二

1、比较大小(15 分)

本题要求将输入的任意3个整数从小到大输出。

输入格式:

输入在一行中给出3个整数,其间以空格分隔。

输出格式:

在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:

输出样例:

【参考答案】

#include <>

int main()

{

int a,b,c,t;

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);

return 0;

}

2、计算运费(15 分)

运输公司对用户计算运费。路程(s)越远,每千米运费就越低。标准如下:s<250km ,没有折扣;

250km≤s<500km, 2%的折扣;

500km≤s<1000km, 5%的折扣;

1000km≤s<2000km,8%的折扣;

2000km≤s<3000km,10%的折扣;

3000km≤s,15%的折扣。

设每千米每吨货物的基本运费为p,货物重为 w,距离为s,折扣为d,则总运费f的计算公式为: f=p×w×s×(1-d)

输入格式:

在一行中以小数形式输入基本运费、货重和距离,以空格作为分隔符。

输出格式:

在一行输出计算出来的运费,精确到小数点后2位的值。

输入样例:

在这里给出一组输入。例如:

100 20 300

输出样例:

在这里给出相应的输出。例如:

【参考答案】

#include <>

int main()

{

int c,s;

float p,w,d,f;

scanf ("%f %f %d",&p,&w,&s); if (s>=3000) c=12;

else c=s/250;

switch(c)

{

case 0: d=0;break;

case 1: d=2;break;

case 2:

case 3: d=5;break;

case 4:

case 5:

case 6:

case 7: d=8;break;

case 8:

case 9:

case 10:

case 11: d=10;break;

case 12: d=15;break;

}

f=p*w*s*(1-d/;

printf("freight=%.2f\n",f);

return 0;

}

3、三天打鱼两天晒网(15 分)

中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”输入格式:

输入在一行中给出一个不超过1000的正整数N。

输出格式:

在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。

输入样例1:

输出样例1:

输入样例2:

输出样例2:

【参考答案】

#include ""

int main()

{ int N,x;

scanf("%d",&N);

x=N%5;

if(x>=1&&x<=3)printf("Fishing in day %d\n",N); else printf("Drying in day %d\n",N);

return 0;

}

4、计算分段函数[2] (15 分)

本题目要求计算下列分段函数f(x)的值:

注:可在头文件中包含,并调用sqrt函数求平方根,调用pow函数求幂。输入格式:

输入在一行中给出实数x。

输出格式:

在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。

输入样例1:

10

输出样例1:

f =

输入样例2:

输出样例2:

f =

【参考答案】

#include <>

#include ""

int main()

{

float x,y;

scanf("%f",&x);

if(x>=0) y=sqrt(x);

else y=(x+1)*(x+1)+2*x+1/x;

printf("f(%.2f) = %.2f\n", x,y);

return 0;

}

5、判断输入的字符是哪种类型(15 分)

通过键盘输入一个字符,编程判断并输出用户输入的是什么类型的字符。输入格式:

输入一个字符。

输出格式:

在一行中输出该字符是哪种类型的字符。

若用户输入字符为'0'和'9'之间,输出This is a digit.

若用户输入字符在'A'和'Z'之间,输出This is a capital letter.

若用户输入字符在'a'和'z'之间,输出This is a small letter.

其他情况,输出Other character.

输入样例:

6

输出样例:

This is a digit.

【参考答案】

#include <>

int main()

{

char c;

c=getchar();

if(c>='0'&&c<='9')printf("This is a digit.");

else if(c>='A'&&c<='Z')printf("This is a capital letter."); else if(c>='a'&&c<='z')printf("This is a small letter."); else printf("Other character.");

return 0;

}

6、求一元二次方程的根(15 分)

本题目要求一元二次方程的根,结果保留2位小数。

输入格式:

输入在一行中给出3个浮点系数a、b、c,中间用空格分开。

输出格式:

根据系数情况,输出不同结果:

1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小;

2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的;

3)如果方程只有一个根,则直接输出此根;

4)如果系数都为0,则输出"Zero Equation";

5)如果a和b为0,c不为0,则输出"Not An Equation"。

输入样例1:

输出样例1:

输入样例2:

输出样例2:

输入样例3:

输出样例3:

输入样例4:

输出样例4:

输入样例5:

输出样例5:

【参考答案】#include <> #include <>

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 语言 实验 + 答案 4题

C 语言实验+ 答案4题 (1)输入两个正整数m和n ,求它们的最大公约数和最小公倍数 在运行时,输入的值m>n,观察结果是否正确。 再输入时,使m int mul(int M,int N) { if(N==0) return M; return mul(N,M%N); } void main() { cout<<"输入两个数:"; int M,N; cin>>M>>N; int z=mul(M,N); cout<<"最大公约数:"< void main()

C语言实验报告参考答案(原)

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); }

(2) #include main() { int a,b,c,d; float x; a=160; b=46; c=18; d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将0赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3

C语言实验参考答案

C语言实验参考答案 实验一 5、输入并运行自已编写的程序(教材第一章P14 三编程题)。 实验二 1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。 #include main() {float x,y,z,s,t,a; printf(“x,y,z=”); scanf(“%f,%f,%f”,&x,&y,&z); s=x+y+z; t=x*y*z; a=s/3; printf(“s=%f,t=%f,a=%f\n”,s,t,a); } 2、编程。要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后: 1)用整数输出这两个数的和、差; 2)用长整型输出这两个数的积,用float输出商; 3)用整数输出这两个数的余数,用float输出平均值。 #include

main() {int a,b,he,cha,yu; long ji; float shang,aver; printf(“a,b=”); scanf(“%d,%d”,&a,&b); he=a+b; cha=a-b; ji=(long)a*b; shang=1.0*a/b; yu=a%b; aver=(a+b)/2.0; printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji); printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver); } 实验三 1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。 #include main() {int a; char c;

C语言实验答案

上机实验参考答案 实验1 #include "stdio.h" #include"math.h" int main() { int i; double a, b; for(i=0;i<=100000;++i) {a=sqrt(i+100); b=sqrt(i+168); if((int)a==ceil(a)&&(int)b==ceil(b)) printf("%d\n",i);} } 实验2 基本数据类型、运算和表达式 一、实验目的 1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。2)掌握不同的类型数据之间赋值的规。 3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加++ )和自减--)运 算符的使用。 4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序]

下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。 void main() { int a, b; /*定义整型变量a 和b*/ int i, j; /*定义实型变量i 和j */ a=5; b=6; i=3.14;j=i*a*b; printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j); } [具体操作步骤] 1)将代码补充完整; 2)在TC 或VC++上运行通过; 3)在JudgeOnline 实验系统上提交; 2. 赋值表达式与赋值语句 [题目1118:赋值表达式与赋值语句,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { float a; int b, c; char d, e; a=3.5; b=a; c=330; d=c; e='\\'; printf("%f,%d,%d,%c,%c", a,b,c,d,e); } 运行结果为: 3.500000,3,330,J,\ [提示]赋值语句具有类型转换的功能,但可能会改变数据。 3. 基本运算

C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n");

2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。(提示:用条件运算符) 答案: #include

c语言程序设计实验题答案

c语言程序设计实验题答案 【篇一:c语言程序设计及实验指导练习及习题参考答 案(8--10)】 8 练习参考答案 1、练习 8-1. 如果有定义:int m, n = 5, *p = m; 与m = n 等价的语句是 b 。 a.m = *p; b. *p = *n; c. m = n; d. m = **p; 8-2. 设计一个程序计算输入的两个数的和与差,要求自定义一个函 数sum_diff(float op1, float op2, float *psum, float *pdiff),其中 op1 和op2 是输入的两个数,*psum 和*pdiff 是计算得出的和与差。解答: #include stdio.h int main (void) { float op1, op2, sum, diff; void sum_diff(float op1, float op2, float *psum, float *pdiff); printf(“input op1 and op2: “); scanf(“%f%f”, op1, op2); sum_diff(op1, op2, sum, diff); printf(“%f+%f=%f; %f-%f=%f \n”,op1,op2,sum,op1,op2,diff); return 0; } void sum_diff(float op1, float op2, float *psum, float *pdiff) { *psum = op1 + op2; *pdiff = op1 – op2; } 8-3. 两个相同类型的指针变量能不能相加?为什么? 解答: 不能。因为指针变量是一种特殊的变量,指针变量的值存放的是所 指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在c 语言中指针变量相加是非法的。8-4. 根据表8.2 所示,这组数据的冒泡排序其实循环到第6 遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1 次循环。请思考如何改进冒泡排序算

C语言实验2-6参考答案

实验二参考答案 1.输入两个整型数字,输出他们的和。 #include main() { int a, b, sum; scanf(“%d%d ”, &a, &b); sum=a+b; printf(“a+b=%d ”, sum); } 2.输入两个实型数,输出他们的和与乘积。 #include main() { float a, b, sum, product; scanf(“%f%f ”, &a, &b); sum=a+b; product=a*b; printf(“a+b=%5.2f, a*b =%5.2f ”, sum, product); } 3.求方程02=++c bx ax 的根(设042≥-ac b )(其中a ,b ,c 的值由键盘输入)。 #include #include main() { float a, b, c, dt, x1, x2; scanf(“%f%f%f ”, &a, &b, &c); dt=sqrt(b*b-4*a*c); x1=(-b+dt)/(2*a); x2=(-b-dt)/(2*a); printf(“x1=%5.2f, x2 =%5.2f ”, x1, x2); }

4.鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数) #include main() { int h, f, x,y; scanf(“%d%d”, &h, &f); x=2*h-f/2; y=f/2-h; printf(“x=%d, y =%d”, x, y); }

C语言实验报告实验五参考答案

C语言实验报告实验五参考答案实验五一维数值数组(参考答案) 1、设计程序sy5-1.c,计算n门课程的平均分。例如:若有5门课程的成绩是:90.5.72.80.61.5.55,则平均分是:71.80. 算法分析: 先求n门课的成绩总和,(累加求和),再用累和除以课程数。 参考答案: include void main() double score[30]。sum=0,aver; int n,i; printf("Inputn:"); scanf("%d",&n); printf("请依次输入%d门课程的成绩",n); for(i=0;i

aver=sum/n; printf( "\nAverage scoreis: %5.2f\n"。aver); 运行结果: 2、设计步伐sy5-2.c,对输入的10个整数按倒序寄存后输出成效。 算法阐发: 利用“半数交流”算法,最前面的元素和末了面的元素交流,逐步向中央挨近。可利用两个下标变量i和XXX。 参考答案: include int main() int a[10]={1,2,3,4,5,6,7,8,9,10}; int i,j,t; for( i=0,j=9.i

for(i=0;i<10;i++) printf("%5d",a[i]);//%5d,5透露表现宽度 printf("\n");//输出完所有的数后换行 return 0; 运行结果: 3、设计程序sy5-3.c,输入10个整数,找出其中的最大数及其所在的下标。 算法分析: 步骤以下: 1)用轮回输入10个整数。 2)求最大值。首先将第一个数即a[0]看成最大的,存放到max中,然后从a[1]开始逐一比较每个数。 直到a[9],如果当前值比最大值max还大,就用当前值改写最大值,并记实其小标。 3)输出最大值,和下标。 参考答案: include int main()

C语言实验题及参考答案

C语言实验题及参考答案 1. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有整数。 ```c #include int main() { int n; printf("请输入一个整数n:"); scanf("%d", &n); int i; for (i = 1; i <= n; i++) { printf("%d ", i); } return 0; } ``` 2. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有奇数。 ```c

#include int main() { int n; printf("请输入一个整数n:"); scanf("%d", &n); int i; for (i = 1; i <= n; i += 2) { printf("%d ", i); } return 0; } ``` 3. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有整数的和。 ```c #include int main() { int n; int sum = 0;

printf("请输入一个整数n:"); scanf("%d", &n); int i; for (i = 1; i <= n; i++) { sum += i; } printf("1到%d的和为%d\n", n, sum); return 0; } ``` 4. 编写一个程序,要求用户输入一个整数n,然后计算1到n的所有奇数的和。 ```c #include int main() { int n; int sum = 0; printf("请输入一个整数n:"); scanf("%d", &n);

C语言实验7(附参考答案)

实验7:程序的输入输出 实验目的: 1、熟悉字符的输入输出和格式化的输入输出,了解基本规则。 2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。 实验内容: 1、若int a,b; scanf(“%d%d”,&a,&b); 不可以用___A____作为输入的分隔符。 A), B)空格 C)回车 D) TAB键 2、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当用户从键盘输入时,正确的数据输入方式是_______。 int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB B)10 20 AB C)10 20 AB D)10 20AB 3、阅读以下程序,当输入数据的形式为25,13,10 正确的输出结果为_______。 main() { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } A)x+y+z=48 B)x+y+z=35 C)x+z=35 D)不确定值 4、根据定义和数据的输入方式,输入语句的正确形式为_______。 已有定义:float f1,f2; 数据的输入方式:4.52

3.5 A)scanf(“%f,%f”,&f1,&f2); B)scanf(“%f%f”,&f1,&f2); C)scanf(“%3.2f %2.1f”,&f1,&f2); D)scanf(“%3.2f%2.1f”,&f1,&f2); 5、以下说法正确的是_______。 A)输入项可以为一实型常量,如scanf(“%f”,3.5); B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf(“%4.2f”,&f); D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f); 6、已有定义int x; float y;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345 678<回车>,则x的值为_______ ,y的值为 _______。 (1) A)12345 B)123 C)45 D)345 (2) A)无定值B)45.000000 C)678.000000 D)123.000000 二、程序设计题 1、已知直角三角形的两直角边长为a,b,求斜边长c的值,保留1位小数。假如输入3和4,则斜边长为5.0。 (自己输入数,进行检验) 【分析提示】: 在这个题中计算,要用到一个数学函数sqrt(x),这个函数在math.h头文件中。写出程序代码。

C语言实验6(附参考答案)

实验6:运算符与表达式(5)实验目的: 1、熟悉字符的输入输出和格式化的输出,了解基本规则。 2、进一步熟悉C语言程序的编辑、编译、连接和运行的方法。 实验内容: 1、 getchar函数的作用是从终端输入____1______个字符。 2、如果从键盘输入字符’a’并按回车键,请写出以下程序运 行效果_____a_____。 main() { putchar(getchar()); } 3、以下程序的输出结果为 main() { char c=‘x’; printf(“c:dec=%d,oct=%o,ASCII=%c\n”,c,c,c); } 4、以下程序的输出结果为。 main() { int x=1,y=2;

printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y); printf(“10 Squared is:%d\n”,10*10); } 5、以下程序的输出结果为____________________。 #include main() { float a=123.456; double b=8765.4567; printf(“(1) %f\n”,a); printf(“(2) %14.3f\n”,a); printf(“(3) %6.4f\n”,a); printf(“(4) %lf\n”,b); printf(“(5) %14.3lf\n”,b); printf(“(6) %8.4lf\n”,b); printf(“(7) %.4f\n”,b); } 二、程序设计题

1、若a=3,b=4,c=5,x=1.2,y=2.4,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 要求输出的结果如下:□表示空格 a=□3□□b=□4□□c=□5 x=1.200000,y=2.400000,z=-3.600000 x+y=□3.60□□y+z=-1.20□□z+x=-2.40 u=□51274□□n=□□□128765 c1=’a’□or□97(ASCII) c2=’B’□or□98(ASCII) 2、假定有:int a=1,b=2,设计一个程序,将变量a和b的值互换并且输出来。 3、已知变量a=23. 4、b=54.33、c=434.33,求它们的平均值。并按如下形式输出: average of **、** and ** is **.** 。

C语言实验报告 实验四 参考答案

实验四循环结构程序设计2(参考答案) (1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。例如输入n为15时,输出1.718282。 算法分析: 第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。 参考答案: # include void main() { double s=0,p=1; int i,n; scanf("%d",&n); for(i=1;i<=n;i++) { p = p * i ; //计算分母i! s = s + 1 / p ; //累加 } printf("s=%lf\n",s); } 运行结果: (2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11 时,结果为1.833333。 算法分析: 该多项式的分母是累加。 参考答案: # include void main() { double sn=0,s=0; int i,n; scanf("%d",&n); for(i=1;i<=n;i++) { s = s + i ; //计算分母1~i的累加和 sn = sn + 1 / s ; } printf("sn=%lf\n",sn); }

运行结果: (3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。例如,输入n 的值是100,则输出结果是148.874270。注意n应在2~100之间。 算法分析: 穷举3~n之间的数找素数,若是素数则累加她的平方根。 参考答案: # include # include void main() { int i,j,n,flag; double s=0; scanf("%d",&n); for(i=3;in)。例如,当 m=12,n=8时,结果为495.000000。 算法分析: 用p1,p2,p3分别求m!,n!,(m-n)!。 参考答案: # include void main() { int i,m,n;

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语言程序设计实验.设计.习题.答案

实验三 3.4编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数输出void main() { char c1,c2; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); putchar('\n'); printf("%c %c\n",c1,c2); } 3.5把790分钟换成用小时和分钟表示,然后输出。 void main() { int s=790; printf("%d小时",s/60); printf("%d分钟",s%60);

} 3.6将读入三个数a,b,c,然后交换它们的值,把a的值给b,把b的值给c,把c的值给a. main() { int a,b,c,t; scanf("%d,%d,%d",&a,&b,&c); t=a; a=b; b=c; c=t; printf("%d,%d,%d",a,b,c); 3.7输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后输出此数,验证处理是否真确。 #include void main() {

float x,s,a; int z; scanf("%f",&x); a=100*x+0.5; z=(int)(a); s=z/100.0; printf("%.2f\n",s); } main() { int a,b,t; double c; scanf("%lf",&c); b=100*c; t=1000*c; a=t%10; if (a>=5) b=b+1; else b=b+0; c=1.0*b/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 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, 输入格式: 每个测试是一个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 个整数的和与平均值。题目保证输入与输出均在整型范围内。 输入格式: 输入在一行中给出4 个整数,其间以空格分隔。 输出格式: 在一行中按照格式“ Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。 输入样例: 输出样例: 【参考答案】 #include "" int main()

C语言实验册完整答案

实验2答案五.程序改错 #include int main(void) { int x=3,y; y = x*x; printf("%d = %d * %d\n",y,x,x); /* 输出*/ printf("%d * %d = %d\n",x,x,y); return 0; } 六、一般编程题 6.1 #include int main(void) { int x,y; printf("Input x: "); scanf("%d",&x); printf("Input y: "); scanf("%d",&y); printf("%d + %d = %d\n",x,y,x+y); printf("%d - %d = %d\n",x,y,x-y); printf("%d * %d = %d\n",x,y,x*y); printf("%d / %d = %d\n",x,y,x/y); printf("%d %% %d = %d\n",x,y,x%y); return 0; } 6.2 #include int main(void)

{ float x; double y; printf("Input x: "); scanf("%f",&x); printf("Input y: "); scanf("%lf",&y); printf("%f + %f = %f\n",x,y,x+y); printf("%f - %f = %f\n",x,y,x-y); printf("%f * %f = %f\n",x,y,x*y); printf("%f / %f = %f\n",x,y,x/y); return 0; } 6.3 #include int main(void) { char c; printf("Input c: "); scanf("%c",&c); printf("%c\n",c+32); return 0; } 6.4 #include int main(void) { int celsius,fahr; fahr = 150; celsius = 5*fahr/9 - 5*32/9; printf("fahr = %d, celsius = %d\n", fahr, celsius); return 0; } 如果使用公式9 )32(5-⨯=f c 计算结果不一样,celsius = 65。因为2个整数相除结果为整数,分别除9与求和(或差)后除9结果不一样。

c语言实验习题及答案详解

1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 → 3.142,10.123456 →10.123) #include main() {double b,d; printf("请输入一个小数:"); scanf("%lf",&b); printf("输出原来的数:%f\n",b); b*=1000; b+=0.5; b=(int)b; d=b/1000; printf("输出现在的数:%.3lf\n0",d); } b.输入一个4位整数,求其得各位数字的平方和;(1234 → 1+4+9+16=30) #include main() {int n,sum=0,i,t; printf("请输入一个四位整数:\n"); scanf("%d",&n); for(i=0;i<4;i++) {t=n%10; n/=10; sum+=t*t; } printf("%d\n",sum); } c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; #include main() {char ch; ch='A'; ch=65; ch=0x41; ch=0101; ch='\101'; ch='\x41'; } d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) #include main()

{int i; for(i=65;i<91;i++) {printf("%c",i); printf("%c",i+32); } printf("\n"); } e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 #include main() { double f1,f2; f1=10e-30; f2=10e30; printf("%lf\n%lf\n",f1,f2); } f.定义一个单精度浮点型变量f和一个双精度浮点型变量d,为f和d都赋值 3.14159265358979323846264338327950288,输出f和d得值,要求保留20位小数,观 察输出结果; #include void main() {float f; double d; f=3.14159265358979323846264338327950288; d=3.14159265358979323846264338327950288; printf("f=%.20f\nd=%.20lf\n",f,d); } g.输入华氏温度求摄氏温度。转换公式为c=5/9(f-32),输出结果取两位小数。 #include main() {double f,c; printf("请输入一个华氏温度:"); scanf("%lf",&f); c=5.0/9.0*(f-32); printf("输出摄氏温度c:%.2f\n",c); }

相关主题
相关文档
最新文档