C语言实验习题

合集下载

C语言程序设计实验与习题(1-4)

C语言程序设计实验与习题(1-4)

ffB v vbvv bgbb实验一C程序运行环境及简单程序的运行2.程序改错并调试改正后的程序⑴下列程序的功能为:计算x*y的值并将结果输出,程序中有8处错误,尝试改正并上机调试之(程序以文件名sy1_2.cpp#include <stdio.h>void main{ int x=2;y=3;aA=x*yprint ("a=%d",a);printf(‘\n’);}⑵下列程序的功能为:输入圆的半径,计算圆面积并将结果输出;程序中有9处错误,尝试改正并上机调试之(程序以文件名sy1_3.cpp存盘)。

#include stdio.h;int mian();float r; area;printf("input r:\n"); scanf("%f",r);area=3.14159r*r;printf("r=%f , area=%f\n"3.编写程序并上机调试⑴输入三个整数a、b、c,显示出其中的最大值。

4.分析与总结⑴总结C程序的结构和书写规则。

⑵阅读:附件1-C语言程序的跟踪调试。

特别提示:当程序在编译时发现很多错误,此时应从上到下逐一改正,或改一个错误,就重新再编译,因为有时一个错误会引起很多错误信息。

12习题一一、选择题参考答案:1~5 C B A C D 6~10 C C A C B 11~14 A A C B二、综合题绘制NS 算法流程图。

(1)输入10个数,求其中的最大值。

(2)输入3个数,将它们升序排列输出。

(3)输入2个数,求它们的最大公约数。

(4)输入一元二次方程的系数a 、b 、c ,判断其根。

实验二顺序结构程序设计1.阅读程序,尝试写出程序的运行结果,然后输入并调试程序,对照其实际输出与分析的结果是否一致,若不一致,请找出原因。

⑴以下程序用于测试C中不同类型数据所占内存字节数,运行并体会sizeof运算符的使用方法。

c语言作业

c语言作业

1、用下面的scanf函数输入数据,使a=10, b=20, c1='A', c2='a', x=1.5, y=-3.75, z=67.8,请问在键盘上如何输入数据?scanf("%5d%5d%c%c%f%f%*f,%f", &a,&b,&c1,&c2,&x,&y,&z);2、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf函数输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字第三次作业1、有3个整数a,b,c,由键盘输入,输出其中最大的数。

2、有一个函数:x x<1y= 2x-1 1<=x<103x-11 x>=10写一段程序,输入x,输出y的值。

3、给出一百分制成绩,要求输出成绩等级A、B、C、D、E。

90分以上为A,80-89分为B,70-79为C,60-69为D,60分以下为E。

4、给一个不多于5位的正整数,输出这个数是几位数。

第四次作业1、给一个不多于5位的正整数,要求:a.求出它是几位数;+b.分别输出每一位数字;c.按逆序输出各位数字,例如:原数为321,应输出123。

2、教材P112页第5.8题(if语句解法创建一个独立文件,switch语句解法创建一个独立文件第五次作业1、输入两个正整数m和n,求其最大公约数和最小公倍数。

(经典题)2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,并输出。

3、求s=a+aa+aaa+aaaa+....+(a...a)之值,其中a是一个数字,n表示a的位数。

1、输入两个字符串,使用指针p将两个字符串按次序复制到数组c中。

例:输入“zhe"和"jiang",将"zhejiang"保存在数组c中。

C语言程序设计及实验指导练习及习题参考答案(8--10)

C语言程序设计及实验指导练习及习题参考答案(8--10)

C语言程序设计及实验指导练习及习题参考答案(8--10) 8练习参考答案1、练习8-1.如果有定义:intm,n=5,某p=&m;与m=n等价的语句是BA.m=某p;B.某p=某&n;C.m=&n;D.m=某某p;8-2.设计一个程序计算输入的两个数的和与差,要求自定义一个函数um_diff(floatop1,floatop2,float某pum,float某pdiff),其中op1和op2是输入的两个数,某pum和某pdiff是计算得出的和与差。

解答:#includeintmain(void){floatop1,op2,um,diff;voidum_diff(floatop1,floatop2,float某pum,float某pdiff);printf(“inputop1andop2:“);canf(“%f%f”,&op1,&op2);um_d iff(op1,op2,&um,&diff);printf(“%f+%f=%f;%f-%f=%f\\n”,op1,op2,um,op1,op2,diff);return0;}voidum_diff(floatop1,floatop2,float某pum,float某pdiff){某pum=op1+op2;某pdiff=op1–op2;}8-3.两个相同类型的指针变量能不能相加?为什么?解答:不能。

因为指针变量是一种特殊的变量,指针变量的值存放的是所指向变量的地址,两个地址相加并不能保证结果为一个有效的地址值,因而在C语言中指针变量相加是非法的。

8-4.根据表8.2所示,这组数据的冒泡排序其实循环到第6遍(即n-2)时就已经排好序了,说明有时候并不一定需要n-1次循环。

请思考如何改进冒泡排序算法并编程实现(提示:当发现一遍循环后没有数据发生交换,说明已经排好序了)。

解答:设置一个标志变量flag,进入一轮循环前设置为0,在循环中有发生数据交换就改写flag值为1。

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

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

C语⾔课后实验设计题⽬及答案C语⾔实验题⽬及答案1、实验项⽬⼀ C程序的编辑、编译、连接和运⾏题⽬:编写程序,要求屏幕上显⽰如下信息:***********************This is a C program .***********************程序:#includevoid 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;}#include "math.h"int main(int argc, char* argv[]) {double x;printf("x=");scanf("%lf",&x);printf("%lf\n",sqrt(x));return 0;}2、实验项⽬三顺序结构程序设计题⽬(1)编写程序,输⼊三⾓形的三边长a、b、c,求三⾓形⾯积area。

(2)设圆半径r=1.5,圆柱⾼h=3,求圆周长、圆⾯积、圆球表⾯积、圆球体积、圆柱体积。

C语言实验题及参考答案

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 PIint 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个整数的和与平均值。

C语言程序设计练习题(答案)

C语言程序设计练习题(答案)
I begin to study C language.
四、找出下面程序中的所有语法错误,然后在计算机上运行输出正确结果。
1.(1)Void应为void;(2)INT应为int;(3)“/* COMPUTE RESULT”后缺少“*/”;(4)“printf ("The answer is %i\n" sum);”应为“printf ("The answer is %d\n" ,sum);”
①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。如图1-2所示
图1-2选择新建
②在弹出的新建对话框中设置好相应的内容,如图2-2所示。要事先准备好保存文件的目录,例d:\lx目录。在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C语言程序的扩展名“.c”。设置好后,单击“OK”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c文件存放在D盘的LX目录下。
int main (void)
{
printf ("This is my first C program.\nAnd programming in C is even more fun.\n");
return 0;
}
实验4(1)计算33+56的和。
解题思路:将例1.2中变量值改为33与56代码如下:
#include <stdio.h>
int main( )
{int a,b,c;
a=2;b=3;
C=a+b;错误:C未定义
printf(“%d+%d=%d\n”,a,b,c);
return 0;
}
运行结果:2+3=5

c语言习题答案

c语言习题答案

实验一(1)编程求37+29的值,实习VC环境。

#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);实用文档printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<stdio.h>void main()实用文档{char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97实用文档B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168实用文档b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实用文档实用文档实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。

C语言编程实验

C语言编程实验

C语言实验习题7-1 输出图形(10 分)编写程序输出图形。

第一行输出12个$,第二行先输出3个空格,然后再输出hello!,第三行输出12个$输入样例:输出样例:代码:#include <stdio.h>int main(){printf("$$$$$$$$$$$$\n"" hello!\n”"$$$$$$$$$$$$\n");return 0 ;}7-5 计算华氏温度(5 分)本题要求编写程序,计算摄氏温度26°C 对应的华氏温度。

计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。

输入格式:本题目没有输入。

输出格式:按照下列格式输出代码:#include 〈stdio。

h>int main(){int f;int c;c=26;f=9*c/5+32;printf(”celsius = 26, fahr = %d”,f);return 0 ;}7-9 逆序的三位数(10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。

注意:当输入的数字含有结尾的0时,输出不应带有前导的0。

比如输入700,输出应该是7。

输入格式:每个测试是一个3位的正整数。

输出格式:输出按位逆序的数。

输入样例:输出样例:代码:#include <stdio。

h〉int main(){int n,a,b,c;scanf(”%d”,&n);a=n/100;b=n/10—a*10;c=n—a*100—b*10;int d;d=a+b*10+c*100;printf("%d",d);return 0 ;}7—10 整数四则运算(10 分)本题要求编写程序,计算2个正整数的和、差、积、商并输出。

题目保证输入和输出全部在整型范围内。

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验七:指针程序设计
实验内容
以下均用指针方法编程:
1. 调试下列程序,使之具有如下功能:用指针法输入12个数,然后按每行4个数输出。

写出调试过程。

main()
{ int j,k,a[12],*p;
for(j=0;j<12;j++)
scanf("%d",p++);
for(j=0;j<12;j++)
{ printf("%d",*p++);
if(j%4 == 0)
printf("\n");
}
}
调试此程序时将a设置为一个"watch",数组a所有元素的值在一行显示出来。

调试时注意指针变量指向哪个目标变量。

2. 在主函数中任意输入10个数存入一个数组,然后按照从小到大的顺序输出这10个数,要求数组中元素按照输入时的顺序不能改变位置。

3. 自己编写一个比较两个字符串s和t大小的函数strcomp(s,t),要求s小于t 时返回-1,s等于t•时返回0,s大于t时返回1。

在主函数中任意输入4个字符串,利用该函数求最小字符串。

4.调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:
⑴ 2个数的和,
⑵ 2个数交换值。

要求用函数指针调用这两个函数,结果在主函数中输出。

main()
{ int a,b,c,(*p)();
scanf("%d,%d",&a,&b);
p=sum;
*p(a,b,c);
p=swap;
*p(a,b);
printf("sum=%d\n",c);
printf("a=%d,b=%d\n",a,b);
}
sum(int a,int b,int c)
{ c=a+b;
}
swap(int a;int b)
{ int t;
t=a;
a=b;
b=t;
}
调试程序时注意参数传递的是数值还是地址。

5.输入一个3位数,计算该数各位上的数字之和,如果在[1,12]之内,则输出与和数相对应的月份的英文名称,否则输出***。

例如:输入:123 输出:1+2+3=6→ June
输入:139 输出:1+3+9=13→ ***
用指针数组记录各月份英文单词的首地址。

6.任意输入5个字符串,调用函数按从大到小顺序对字符串进行排序,在主函数中输出排序结果。

相关文档
最新文档