C语言实验一到实验八答案
更新时间:2023-12-25 07:40:01 阅读量: 教育文库 文档下载
实验一:
1、录入如下C源程序: main( )
{ printf(\ printf(\; } main()
{printf(\printf(\}
2、编写一个C程序,第一行显示你的名字,第二行显示你所在的街道地址,第三行显示你所在的城市和邮政编码。 #include
{ printf(\
printf(\ printf(\ return 0; }
3、编写一个C程序,输出以下信息: **************************** Hello,World!
**************************** #include
printf(\printf(\ Hello, World!\\n\
printf(\}
4、编程序,输出如下图形: * * ** ** *** *** ********
#include
printf(\printf(\printf(\printf(\}
5、遵循良好的编程习惯重新编写下列程序 #include
“The time has come” ); }
#include
{printf(\}
6、输入以下程序,查找错误并改正,输出正确的运算结果 #include
a=123;b=456; sum=a+b
print(sum is %d\\n,sum); }
#include
printf(\}
7、编写一个C程序,显示表达式3.0*5.0,7.1*8.3-2.2和3.2/(6.1*5)的结果。 #include
printf ( \
printf ( \ printf ( \ return 0; }
实验二:
1、编写程序,在程序中定义a=5,b=7,c=71,x=31.19,y=-31.2 实现下面的输出格式和结果(U表示空格):
a=U5,b=U7,a-b=-2,c=U71%
x=31.19,y=U-31.2,z =-31.2U,k=31.1900 #include
{int a=5,b=7,c=71;
float x=31.19,y=-31.2,z,k;
printf(\ printf(\}
2、编写程序,显示下面的提示: Enter the length of the room: Enter the width of the room:
在显示每个提示后,你的程序应该使用scanf()函数调用为所显示的提示接受来自键盘的数据。在输入长度和宽度后,程序应该计算和显示面积,要求结果只保留两位小数。 #include
{float l,w,a;
printf(\ scanf(\
printf(\ scanf(\ a=l*w;
printf(\}
3、编写程序,将小写字母转换成大写字母。要求通过scanf()函数接受来自键盘的字母。(ASCII码中小写字母比它相应的大写字母ASCII码大32) #include
char c;
scanf(\c=c-32;
printf(\}
#include
printf(\ scanf(\ C=c-32;
printf(\}
4、编写一个程序,计算和显示一年中分钟的数量。 #include
long int a,b,c,sum; a=60;b=24;c=365;; sum=a*b*c;
printf(\}
5编写一个程序,首先显示下面的提示:
Enter the temperature in degrees Fahrenheit:
程序接收一个从键盘输入的数值并用公式
Celsius=(5.0/9.0)*(Fahrenheit-32.0)把输入的华氏温度转化为摄氏温度值,并输出摄氏温度值,要求结果只保留三位小数。 #include
printf(\ scanf(\
printf(\}
6、编写一个程序,使用%d转换控制序列符分别显示小写字母a,m,n的十进制整数值。 #include
{ printf(\}
实验三:
1、编写一个程序,要求用户输入两个数字。在程序使用一个或多个scanf()函数调用接收这些数字之后,用程序检查这些数字。如果第一个键入的数字大于第二个数字则输出消息“The first number is greater than the second”,否则输出消息“The first number is not greater than the second”. #include
int x,y;
scanf(\
if (x>y) printf(\else printf(\}
2、输入3个数a,b,c,要求按由小到大的顺序输出。 #include
int a,b,c,x;
scanf(\if(a>b) {x=a;a=b;b=x;} if(a>c) {x=a;a=c;c=x;} if(b>c) {x=b;b=c;c=x;}
printf(\ %d %d\\n\}
3、编写一个程序,用scanf()函数接收一个字符并确定这个字符是否是一个小写字母。如果输入的字符是一个小写字母,显示消息“The character just entered is a lowercase letter”,如果输入的字符不是一个小写字母,显示消息“The character just entered is not a lowercase letter”。 #include
char c;
scanf(\if (c>='a'&&c<='z')
printf(\
else printf(\}
4、有一个函数 X (X<1) y= 2X-1 (1≤X<10) 3X-11 (X≥10) 要求输入x值,输出y值。 #include
int x,y;
scanf(\
if(x<1) {y=x; printf(\ %d\\n\
else if(x<10) {y=2*x-1; printf(\ %d\\n\ else {y=3*x-11; printf(\ %d\\n\}
5、输入百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’, 60-69分为’D’,60分以下为’E’ #include
scanf(“%f”,&s); while(s>100||s<0) {printf(“\\nPlease\\n”); scanf(“%f”,&s) }
switch((int)(s/10)) {case 10:
case 9:g=’A’;break; case 8:g=’B’;break; case 7:g=’C’;break; case 6:g=’D’;break; case 5: case 4: case 3: case 2: case 1:
case 0: g=’E’; }
printf(“%c”,g); }
实验四:
1、编写程序用while循环实现以2为增量输出数字2到10。程序输出应该是: 2 4 6 8 10 #include
2、求(用while语句编程)5050 #include
int n=1,sum=0; while(n<=100)
{sum=sum+n;n=n+1;} printf(\}
3、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是“水仙花数”,因为153=13+53+33。153,370,371,407 #include
int n,x,y,z; printf(\
for(n=100;n<1000;n++) {x=n/100;
y=(n/10)-(n/100)*10;或 y=n0/10; z=n;
if(n==x*x*x+y*y*y+z*z*z) printf(\ \ }
printf(\}
4、选择和显示可被3除尽的前20个整数 #include
{int n,x,y; printf(\
for(n=0,x=0;n<20;x++)
{if(x%3==0) {printf(\ }
printf(\}
5、把100-200之间的不能被3整除的数输出 #include
printf(\
for(n=100;n<=200;n++)
{if(n%3!=0) printf(\printf(\}
实验五:
1、编写一个名为Ads()的函数,接收传递给它的一个单精度数,计算它的绝对值且显示这个绝对值。
#include
if (x>=0) y=x; else y=-x; return(y); }
main() {float x,y;
scanf(\y=Ads(x);
printf(\ %f\\n\}
2、写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。 #include
scanf(\ printf(\ abc(x); }
abc(int a) {int i,j;
for(i=2,j=1;i
{if(a%i==0) {j=0;break;}} if(j==1) printf(\ else printf(\
}
3、编写一个函数。计算一个圆的面积a,已知它的周长为c。这个函数应该调用另一个返回这个给定周长c的圆半径r的函数。相关公式为:r=c/2∏和a=∏r2 #include
float area(float c) {float a,r; r=radius(c); a=PI*r*r; return(a); }
main() {float c,r,a; printf(\ scanf(\ a=area(c);
printf(\}
4、编写一个名为whole()的函数,返回传递给这个函数的整数部分。 #include
main() {int x; float y;
scanf(\ x=inty(y);
printf(\}
5、xn的数值能够递归的定义为:
X0=1 Xn=X*Xn-1 编写一个递归函数,返回xn的值 #include
if (n==0) return 1;
else y=x*power(x,n-1);
return(y); }
main() {int x,n,s;
scanf(\ s=power(x,n); printf(\}
实验六:
1、编写一个程序,输入5个整数数字到一个一维数组中,所有数字输入后,显示输入的这些数字,并且显示数组的平均值,最大值,最小值。 #include
{float sum=0,x; int a[5],i,max,min; for(i=0;i<5;i++)
scanf(\printf(\max=min=a[0]; for(i=0;i<5;i++)
{printf(\ sum=sum+a[i];
if(a[i]>max) max=a[i]; if(a[i] printf(\ max=%d min=%d\\n\} 2、输入一串字符,计算其中空格的个数 #include for(i=0,j=0;i 3、求一个3*3 矩阵对角线元素之和 #include {int i,j,a[3][3],sum=0; for(i=0;i<3;i++) {for(j=0;j<3;j++) scanf(\ } for(i=0;i<3;i++) {sum=sum+a[i][i];} printf(\} 4、有一个3×4的矩阵,要求输出其中值最大的元素的值,以及它的行号和列号。 #include {int i,j,a[3][4],max,x,y; for(i=0;i<3;i++) {for(j=0;j<4;j++) scanf(\ } max=a[0][0]; for(i=0;i<3;i++) {for(j=0;j<4;j++) if(a[i][j]>max) {max=a[i][j];x=i;y=j;} } printf(\} 5、将一个一维数组中的值按逆序重新存放。 #include {int a[10],i,x; for(i=0;i<10;i++) {scanf(\ } for(i=0;i<5;i++) {x=a[i];a[i]=a[9-i];a[9-i]=x;} printf(\ for(i=0;i<10;i++) printf(\ \printf(\} 6、一篇文章,共有3行文字,每行有20个字符,要求分别统计出其中英文大写字母,小写字母,数字,空格以及其它字符的个数。 #include {int i,j,x,y,s,k,q; char a[3][20]; x=0;y=0;s=0;k=0;q=0; gets(a); for(i=0;i<3;i++) { for(j=0;j<20 && a[i][j]!='\\0';j++) if(a[i][j]>='A' && a[i][j]<='Z') x=x+1; else if(a[i][j]>='a' && a[i][j]<='z') y=y+1; else if(a[i][j]>='0'&& a[i][j]<='9') s=s+1; else if(a[i][j]==' ') k=k+1; else q=q+1; } printf(\} 实验七: 1、输入3个整数,按由大到小的顺序输出。 #include m=*x;*x=*y;*y=m; } main() {int a,b,c,*p,*q,*r; printf(\ scanf(\ p=&a; q=&b; r=&c; if(a printf(\ %d, %d\\n\} 2、写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长 度。 #include printf(\ for(n=0;n<50;n++,p++) {if(*p!='\\0') {printf(\ else break; } printf(\ } 3、将n个数按输入时顺序的逆序排列,用函数实现。 #include x=*p1;*p1=*p2;*p2=x; } } main() {int n,a[5]; printf(\ for(n=0;n<5;n++) scanf(\ reverse(a); printf(\ for(n=0;n<5;n++) printf(\ \} 4、编写一个程序,输入月份号,输出该月的英文月名。例如,输入“3”,则输出 “March”,要求用指针数组处理。 #include *p,*month[13]={\ptember\printf(\scanf(\ if((n>=1)&&(n<=12)) printf(\else printf(\} 5、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数 对换。写3个函数:①输入10个数;②进行处理;③输出10个数。 #include for(n=0;n<10;n++,p++) scanf(\} max_min(int *p) {int *q,*max,*min,x,n; q=p; max=min=p;p++; for(n=1;n<10;n++) {if(*max<*p) max=p; if(*min>*p) min=p; p++; } p--; x=*p;*p=*max;*max=x; x=*q;*q=*min;*min=x; } out(int x[]) {int n; for(n=0;n<10;n++) printf(\ \} main() {int a[10]; input(a); printf(\ out(a); printf(\ max_min(a); printf(\ out(a); printf(\} 实验八: 1、输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 #include {char string[81]; int i,num=0,word=0; char c; gets(string); for(i=0;(c=string[i])!='\\0';i++) if(c==' ') word=0; else if(word==0) {word=1; num++; } printf(\} 2、编写程序,将两个字符串连接起来,不要用strcat函数。 #include {char s1[80],s2[40]; int i=0,j=0; printf(\scanf(\ printf(\scanf(\while(s1[i]!='\\0') i++; while(s2[j]!='\\0') s1[i++]=s2[j++]; s1[i]='\\0'; printf(\} 3、编写一个程序,接收一个按名和姓的顺序输入的名字,然后按姓和名的方式显示这个名字。例如,如果用户输入Guo Zhong,则输出应该是Zhong Guo。 #define LSIZE 81 #define TRUE 1 #define FALSE 0 int main() { int i = 0; char name[LSIZE], first[LSIZE], last[LSIZE], c; printf(\ gets(name); // get the string splitName(name, first, last); printf(\ printf(\ return 0; } void splitName(char name[], char first[], char last[]) { int spaceFnd = FALSE; int i = 0, j = 0, start; char c; while((c = name[i++]) != '\\0' && spaceFnd == FALSE) { if(c == ' ') { spaceFnd = TRUE; start = i; } else first[j] = c; j++; } first[j] = '\\0'; j = 0; while((c = name[start++]) != '\\0') { last[j] = c; j++; } last[j] = '\\0'; }
正在阅读:
C语言实验一到实验八答案12-25
对照增强“四个意识” 坚定“四个自信” 做到“两个维护”自查报告三篇09-10
2017年6月16日18时37分,执行我国首次载人交会对接任务的神舟九号02-08
建筑装饰材料市场调查任务书 - 图文04-15
从海正与辉瑞合资看全球攻略04-23
毕业论文之房地产项目定位01-22
关于浇花的作文800字07-06
承载力抗震调整系数的正确应用05-30
陈鹤琴《家庭教育》读书笔记03-28
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 实验
- 答案
- 语言
- 课程综述样例
- 宏观经济学1-4章练习
- 医学遗传学试题
- 劳动保障法规政策问答--劳动就业篇
- 计算机作业3次
- 投资经济学练习2
- 新南威尔士大学工程学院优势
- 2013马鞍山二模安徽省马鞍山市2013届高三毕业班第二次教学质量检测 数学文 扫描版试题 - 图文
- 法硕 民法 第一篇 民法通则 - 图文
- 高中体育特长生的科学选拔与培养模式探究
- 改变命运的十二个法则
- 小学语文教研组工作计划
- 六年级下数学教案-奥运奖牌 - 扇形统计图 青岛版(2014秋)
- 《局部解剖学》习题答案
- 2018-2019人教版二年语文上册量词、词语搭配
- 中国沥青抽提仪行业市场前景分析预测年度报告(目录) - 图文
- 新视野大学英语第三版3课后翻译答案解析
- 申请增列为授予学士学位的专业简况表 doc - 图文
- 微时获客宝:什么类型的企业适合做小程序
- 15年1月的中外政治思想史试卷题及答案