文档库 最新最全的文档下载
当前位置:文档库 › c语言实验习题

c语言实验习题

c语言实验习题
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,求出各种情况下方程的根,无解或输入数据不正

确输出提示信息

3.循环结构

a.编写程序实现1+2+3+4+......+n,n由用户输入;

b.修改程序1,实现1+3+5+7+9+......2*n-1;

c.修改程序1,实现2+4+6+8+10+......2*n;

d.修改程序2,实现1+1/3+1/5+1/7+......1/(2*n-1);

e.修改程序4,实现1-1/3+1/5-1/7+......1/(2*n-1);

f.编程实现1*2*3*4*5*.....n;

g.编程实现输入n,判断n是不是质数;

h.求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字,d和n输入。

i.用一元五角钱兑换人民币5分、2分和1分的硬币(要求每种至少有一个)共100枚,

请输出每种具体的兑换方案以及共有多少种方案。

j.编程输出下三角式的九九乘法表.

k.输出斐波那契数列的前20项,该数列的前两项都是1,以后各项是前两项之和。

l.实现1!+2!+3!.....+n!,n由用户输入;

m.实现1+(1+2)+(1+2+3)+(1+2+3+4)+.....+(1+2+3+4...+n),n由用户输入;

n.求1到100之间的偶数之积;

o.输入n和m,求出他们的最大公约数和最小公倍数;

p.在屏幕上输出以下图形,要求使用循环嵌套实现

1.

* * * * * * * * * * * * * * * * * * * * * * * * *

2.

*

* *

* * *

* * * *

* * * * * 3.

* * * * *

* * * *

* * *

* *

*

4.

* * * * *

* * * *

* * *

* *

*

5.

*

* *

* * *

* * * *

* * * * *

6.

*

* * *

* * * * *

* * * * * * *

4.函数调用

a.编写一个函数,返回一个整数的绝对值.;

b.编写一个函数,判断一个整数是否为素数,如果是则返回1,否则返回0.;

c.编写一个函数,找出一个大于给定整数且紧随这个整数的素数。

d.通过调用素数函数,实现求出1000以内所有素数的和;

e.通过调用素数函数,验证哥德巴赫猜想在10000以内有效;

f.编写一个函数,求一个整型数的各位数字的立方和;

g.编写函数fun计算并返回分段函数的值:

x^2+x+6 x<0且x≠-3

f(x)= x^2-5x+6 0≤x<10且x≠2及x≠3

x^2-x-1 其它

h.编写一个函数,用递归法求阶乘;

i.编写一个函数,用递归法求fibonacci数列的的前n项,n为形参;

j.编写一个函数,在函数中定义一个静态局部变量count,统计该函数被调用的次数;k.编写一个函数,参数为整型n,输出n行的菱形;例如n=7,则图形为*

***

*****

*******

*****

***

*

5.一维数组

a.建立一个整型数组,在定义数组的时候为数组初始化任意10数字,体会初始化的用法;

a)建立一个长度为10的一维整型数组,提示用户为数组输入数据;

b)求出数组的最大值、平均值;

c)将数组逆序,并输出逆序后的数组;

b.将数组分别使用选择排序法和冒泡排序法排序,并输出排序后的数组;

c.建立一个字符数组,将26个小写字母保存到数组中,并逆序输出;

d.用数组保存fibonacci数列的前20项;

6.二维数组

a.建立一个5行5列的二维数组,将1-25赋值给数组的元素,并将数组按矩阵形式输出;

b.求出二维数组的主对角线之和、副对角线之和;

c.求出数组的上三角的平均值和下三角的平均值;

d.求出矩阵的周边元素之和;

e.判断矩阵是不是上三角矩阵;判断矩阵是不是下三角矩阵;

f.将矩阵转置,输出转置后的矩阵;

g.建立一个二维数组,将九九乘法表保存到数组中并且输出出来;

h.建立一个二维数组,数组的第一行保存26个小写字母,第二行保存26个大写字母;

i.建立二维数组a[4][3],并为数组输入值,求出数组每行的最大值保存到数组b[4]中,求

出数组每列的最大值,并保存到数组c[3]中;

7.字符串

a.输入一个字符串,以回车作为结束标志,并将字符串输出出来;

b.输入一个字符串,再输入一个字符,统计该字符在字符串中出现的次数;

c.输入一个字符串,统计字符串中字母、数字、空格出现的字数;;

d.输入一个字符串,再输入一个字符,然后将该字符在字符串出现的第一个删除掉,输出

删除后的字符串;

e.输入一个字符串,再提示用户输入两个整型值n、m,要求将字符串第n个字符开始,

删除m个字符,输出删除后的字符串;

f.输入一个字符串,再提示用户输入一个字符x,和一个整型值n,要求n小于字符串的

长度,将x插入到下标为n的位置,输出插入后的字符串;

g.提示用户输入两个字符串保存到字符数组str1和str2中,再输入一个整型值n,将str2

代表的字符串插入到str1中下标为n的位置,输出插入后的字符串;

h.输入一个字符串,将字符串逆序,输出逆序后的字符串;

i.已有两个字符串,分别保存在字符数组str1[80]和str2[3]中,统计在str1保存的字符串

中str2保存的字符串出现了多少次;(str2中的字符串长度为2)

j.输入一个字符串,以回车作为结束标志,然后将字符串中的字符排序(依照ASCII码的大小由低到高),并将排序后的字符串输出出来;

8.指针和函数

a.编写函数实现void func(int a,int b,int c,int *pmax,int *pmin,float *pavg) ,求出a,b,c

的最大值和最小值、平均值通过指针返回;

b.编写函数void swap(int *x , int *y) 交换想x和y指向变量的值;

c.编写函数int aSum(int *a ,int n) 求出a所指向数组的前n项的和;

d.编写函数void cpyStr(char *stra,char *strb),将字符串strb复制给stra所指向的空间;

e.编写函数void catStr(char *stra,char *strb),将字符串strb连接到stra所指向的字符串的

后面;

f.编写函数int cmpStr(char *stra,char *strb),将字符串strb和stra进行比较;

g.编写函数void insert(char *stra,char ch,int n),将将字符ch插入到字符串stra中第n个位

置;

h.编写函数int lenStr(char s[]),求字符串的长度;

i.编写函数int findCh(char *str , char ch),找出字符ch在字符串str中出现的第一个位置;

编写函数 void func(char *str),将str所指向字符串中的所有大写字母全变成小写字母;j.编写函数int func(char *str),将字符串中所有的数字字符删除掉,并将新生成的字符串的长度作为返回值;比如“abc123xyz”过滤后“abcxyz”返回值为6

k.编写函数void findCh(char *str , char ch),判断字符ch是否与str所指串中的某个字符相同;若存在相同,什么也不做,若不同,则将其插在串的最后。

l.编写函数 int func(int n),函数返回值为 sum=1+1+2+1+2+3+1+2+3+4+...+1+2+3+4+...+n m.编写函数 int func(int a[],int n,int b),将b插入到一个已按降序排好的数组a中,a 中现在有n个元素,要求插入后的数组仍然是降序的;

n.请编写函数void fun(char *str),对字符串,按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。

o.请编写函数void fun(char *s,char *t),将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。p.

9.算法补充

a.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到4报数),凡报到4的人退出

圈子,问最后留下的是原来第几号的那位。(建议用链表实现)

b.读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里

的“单词”是指由空格隔开的字符串)。

例如:若输入:“i am a student to take the examination.”,则应输出:“I Am A Student To Take The Examination.”。

c.有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。

d.给定n个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。

e.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

f.打印出杨辉三角形(要求打印出10行)

g.求广义菲玻那契级数的第n项。广义菲玻那契级数的前n项为: 1,1,1,3,5,9,17,

31,……

h.例如:若 n = 15,则应输出:The value is: 2209。

i.在字符串str中找出ASCii码值最大的字符,将其放在第一个位置上,并将该字符的原字

符向后顺序移动。例如:调用fun函数之前给字符串输入:ABCDeFGH,调用后字符串中的内容为:eABCDFGH。

j.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

k.一个自然数被 8 除余 1 ,所得的商被 8 除也余 1 ,再将第二次的商被8 除后余7 ,最后得到一个商为a。又知这个自然数被17除余4 ,所得的商被17除余15,最后得到一个商是a的2倍。编写程序求这个自然数。

l.用二分法求方程2X^3+4X^2+3X-6=0在(-10,10)之间的根 ,其中 X^n代表X的n次方。m.已知X、Y、Z分别表示0~9中不同的数字,编程求出使算式XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该算式。

n.输出1到100之间每位数的乘积大于每位数的和的数。例如:数字26,数位上数字的乘积12大于数字之和8。

o.求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。

p.编写一个函数求任意给两个日期(Y0年M0月DO日和Y1年M1月D1日)相差的天数。

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语言实验题

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

c语言实验答案

//1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include void main() { printf(" X | X | X\n"); //注意转义字符\n的用法 printf("---+---+---\n "); printf(" | |\n"); printf("---+---+---\n "); printf(" 0 | 0 | 0\n"); } //1.2输出"Hello world!"语句 #include void main() { printf("Hello world!\n"); } //2.1编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。 //注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身并不需要输入或输出。 //多使用几组整数尝试一下,你发现了什么?//The program gets two integers,and

computes their sum,difference,produc t and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include void main() { int a,b; printf("The program gets two integers,and computes their sum,difference,produc t and quotient.\n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); 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=% f\n",a,b,1.0*a/b); //做除法时要注意,除得的

C语言程序设计实验与习题答案

2.程序填空 (1)以下程序的功能是计算1~50之间能被7整除的整数之和。 #include void main() {int i,sum=0; for(i=1;50;i++) if(i%7==0) sum+=i; printf("sum=%d\n",sum); } (2) 下面程序接收来自键盘的输入,直到输入+Z(值为-1)键为止。这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。请填空。 #include void main() {char cx; char front=’’; while ((cx=getchar())!=’\n’) {if (cx!=’’) putchar(cx); if (cx= =’’) if (front!=’’) putchar(cx);

front=cx; } } 3.程序改错 (1)下列程序的功能是求1+3+5+…99的和。 #include void main( ) { int s,i; ★//int s=0,i; i=1; while(i<=99)s=s+i;★//{s=s+i;i++;} printf("1+3+5+…99的和是:%d\n",s); } (2)下面程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。 #include void main() { int i,x,y=0; ★//y=1 scanf("%d",&x); for(i=2;i<=x/2&&y;i++)

if ((x%i)!=0) y=0; ★//x%i==0 printf("%d\n",y); } 4.设计性实验 (1)题 /* 方法(1)精度控制*/ #include #include main() {int s; float n,t,pi; t=1;pi=0;n=1.0;s=1; while((fabs(t))>=1e-6) {pi=pi+t; n=n+2; s=-s; t=s/n; }

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

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语言实验报告参考答案原

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

C语言程序设计实验与习题答案

2. 程序填空 (1) 以下程序的功能是计算1?50之间能被7整除的整数之和。 #in clude<> void mai n() {int i,sum= _____ 0______ ; for(i=1; 50 ______ ;i++) if( i%7==0 ) sum+=i; pri ntf("sum=%d\n",sum); } (2) 下面程序接收来自键盘的输入,直到输入+Z值直为-1) 键为止。这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。请填空。 #in clude <> void mai n() {char cx; char front=' '; while ((cx=getchar())!=' \n' ) {if (cx!=‘') putchar(cx); if (cx=—') if (front!='') putchar(cx); front=cx; } } 3. 程序改错 (1)下列程序的功能是求1+3+5+…99的和。

#in clude <> void main( ) { int s,i; ★ 10.6f10.6f10.6f10.6f 代表个数*/ for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) if(i*i*i+j*j*j+k*k*k==1099) /* 在所有组合中找出满足指定条件的*/ { printf("%4d",100*i+10*j+k); n++; if(n%5==0) printf("\n"); /* 表示每行输出5 个数*/ } } #include<> #include<> main() { int i,j,k; for(i=1;i<=4;i++) /* 上三角形有4 行,每循环1 次输出1 行*/ { for(k=1;k<8-((2*i-1)/2);k++) /* 该循环输出每行的空格.8 用于调节偏离位置,可换成别的数( >=8) */ printf(" "); for(j=1;j<=2*i-1;j++) /* 该循环输出每行的 '*字'符*/ printf("*"); putchar( n''); /* 换行*/

c语言实验题目

实验3 顺序结构编程 (2) 实验4 if分支结构编程 (3) 实验5 if分支结构和switch分支结构编程 (5) 实验6 分支结构嵌套和for循环编程练习 (9) 实验7和while和do-while练习 (12) 实验8 for循环嵌套练习 (15) 实验9 函数设计编程练习 (18) 实验10函数设计编程练习 (20) 实验11 数组编程练习 (23)

实验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)/2 a,b,c代表三角形的三条边 提示1、开根号的数学库函数是sqrt,例如y=sqrt(x),表示求变量x开根号,并把结果赋值给变量y。 2、调用数学库函数必须用如下命令#include 要求:(1)存储三角形三边的变量用double型 (2)打印三角形面积时小数保留两位%.2lf 实验题目4 已知半径r=3.4cm,编程求圆的周长和面积: 提示: (1)定义浮点型变量使用关键字float; (2)浮点型数据输出的格式控制符是%f (3)C语言中没有∏这个符号,编写程序时直接使用3.14159。 (4)C语言中没有求次方的运算符,半径的平方需用乘号*。

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

1、定义一个函数int fun(int a,int b,int c) ,它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰返回2, —般三角形返回1,若不能构成三角形返回0。 #include int fun(int a,int b,int c) { if(a+b>c && b+c>a && a+c>b) { if(a==b && b==c ) return 3; else if(a==b||b==c||a==c) return 2; else return 1; } else return 0; } void main() { int a,b,c,shape; printf("\nl 叩ut a,b,c:"); scanf("%d%d%d", &a,&b,&c); printf("\na=%d, b=%d, c=%d\n",a,b,c); shape =fun(a,b,c); printf("\n\nThe shape : %d\n",shape); }

2、编写一个程序,将两个变量的值交换,例如变量a中的值原为 3 , b中的值原为8,程序运行后a中的值为8, b中的值为3。 #include void fun(int *x,int *y) { int t; t=*x;*x=*y;*y=t } void main() { int a=3,b=8; printf("%d %d\n",a,b); fun(&a,b); printf("%d %d\n",a,b); } 3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c 中。 例如,输入的数为:55 12 34 , 输出结果应当是:a=55.0,b=34.0,c=12.0 。 #include void fun(float *p,float *q,float *s) { float k; if (*p<*q) { k=*p;*p=*q;*q=k;} if (*q<*s) { k=*s;*s=*p;*p=k;}

C语言综合习题及答案

C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main 函数中定义 C)在C语言程序中,函数的定义不能嵌套

D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5.C程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数 6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C)-8e1.0 D)-80.0e 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】 A)float B)long C)int D)double 10. 以下关于函数叙述中,错误的是【D】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是 【D】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 12.若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是【C】 A)a[2][!1] B)a[2][3] C)a[1>2][!1] D) a[0][3] 13.若有说明: int a[][4]={0,0};则下面不正确的叙述是【D】 A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1 C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1 D)有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 14.下列选项中错误的说明语句是【D】 A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B)char a[]={"toyou\0"}; C)char a[]="toyou\0"; D)c har a[]=′toyou\0′; 15.char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是 A)strcat(a2,a1); B)strcpy(a2,a1); C)strcat(a1,a2); D)strcpy(a1,a2);

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

一1 #include void main() { int iNum; float fNum=134.23; printf("a=%d\tf=%.2f\n",iNum,fNum); } 一2 #include void main() { int a,b,c,sum=0; scanf("a=%d,%d%d",&a,&b,&c); sum=a+b+c; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("sum=%d\n",sum); } 一3

#include void main() { char a,b; scanf("%3c%4c",&a,&b); printf("c1=%c,c2=%c\n",a+1,b-1); } 一4 #include #include void main() { float a; printf("Enter a:"); scanf("%f",&a); printf("The original data is:%f\n\n",a); printf("h=%.2f\n",a); }

一5 #include void main() { int a,b,c,s,e; printf("Please input two numbers:\n"); scanf("%d%d",&a,&b); c=a+b; s=c*c; e=s+s; printf("%d,%d,%d\n",c,s,e); } 一6 #include void main() { float a,b; printf("input a:"); scanf("%f",&a); b=5*(a-32)/9; printf("%.0f(℉)=%.2f(℃)\n",a,b);

大一C语言上机实验试题和答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 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);

C语言程序设计实验-答案

-前言- /*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理ed by 口玉刀一of GUET.*/ ===================== 实验一C语言程序初步 ===================== 1.---------------------------- 已知a=5,b=4,c=6,求出s并换行 #include"stdio.h" main() { int a,b,c,s; a=5;b=4;c=6; s=(a+b+c)/3; printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); } 2.------------------------------- 输入一个数字求他的平方 #include main() { int r,s; scanf("%d",&r); s=r*r; printf("s=%d\n",s); } 3.-------------------------------- (1) #include main() { printf(" *\n"); printf("***\n"); printf(" *\n"); } (2) #include

{ int v; int a,b,c; //a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf("v=%d\n",v); } ================================= 实验二数据类型、运算符和表达式 ================================= 1. (1)-------------------------------------------------- //总觉得打印结果怪怪的,DO YOU THINK SO? main() { char s1='3',s2='4',s3='5'; int c1=101,c2=102; printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd 短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置 printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型 } (2) //运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算 main() { float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf("s=%f",s); }

C语言实验题目及课后习题部分答案

写在前面: 同学们,编程真的很有趣,当你绞尽脑汁编出了一道难题时。在经过编译,连接,点击运行后,屏幕上终于显示了正确的答案与格式,从心中油然而生的一种成就感十分的美妙。下面的那些程序都是我自己编程、调试后没有任何错误,并能得到正确的结果才发布的,若有任何疑问可以联系本人。因本人能力有限,有所纰漏在所难免,望大家批评指正! 课后习题 P67 3.7 要将“China”译成密码,密码规律是:用原来的字母后面第四个字母代替原来的字母。例如,字母“A”后面第四个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用初赋值的方法使c1、c2、c3、c4、c5这五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别变为‘G’、‘l’、‘m’、‘r’、‘e’,并输出。 #include void main() {char c1,c2,c3,c4,c5; c1='C',c2='h',c3='i',c4='n',c5='a'; printf("%c,%c,%c,%c,%c\n",c1+4,c2+4,c3+4,c4+4,c5+4);} P89 4.8 设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用scanf输入数据,输出计算结果,输出时按要求有文字说明,取小数点后两位数字。 #include void main() {float r,d,s,sq,v,vd,h; printf("请输入半径r与圆柱高h\n"); scanf("%f,%f",&r,&h); d=2*r*3.14; s=3.14*r*r; sq=4*3.14*r*r; v=(4*3.14*r*r*r)/3; vd=2*3.14*r*h; printf("周长为%5.2f\n圆面积为%5.2f\n球表面积为%5.2f\n球体积为%5.2f\n圆柱体积为%5.2f\n",d,s,sq,v,vd);} P89 4.9 输入一个华氏温度,要求输出摄氏温度。公式为:c=(5*(f-32))/9。

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,则应修改程序中的哪条语句?怎样修改? [提示:利用转义字符输出字符单引号字符。]

相关文档