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

合集下载

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

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<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>3、阅读以下程序,当输入数据的形式为25,13,10<CR> 正确的输出结果为_______。

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.523.5A)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的值为_______。

C语言实验册完整答案

C语言实验册完整答案

实验2答案五.程序改错#include<stdi o.h>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<stdio.h>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<stdio.h>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<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>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。

C语言实验报告题及答案

C语言实验报告题及答案

《C程序设计实验》实验一C程序开发环境(2学时)1.实验目的熟悉C语言的集成开发环境,了解菜单的使用方法;掌握C语言程序上机的编辑、编译、连接、运行的基本步骤;了解C语言程序的结构。

2.实验内容(1)熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤;(2)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){printf ("This is a C program.\n");return 0;}(3)输入并调试、运行下面的程序。

#include <stdio.h>int main( ){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c = max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if (x > y) z = x;else z = y;return(z);}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

4.问题讨论将printf函数改为print,调试并分析结果。

实验二数据类型、运算符与表达式(2学时)1.实验目的掌握整型、字符型和实型变量的定义和使用;掌握算术运算符的使用;掌握C语言表达式的运算规则。

2.实验内容(1)输入并调试、运行下面的程序。

#include <stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);return 0;}(2)输入并调试、运行下面的程序。

#include <stdio.h>int main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);return 0;}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。

C语言实训题及参考答案

C语言实训题及参考答案

C语言实训题及参考答案第一题:编写一个程序,将输入的两个整数进行加法运算,并输出结果。

参考答案:```c#include <stdio.h>int main() {int num1, num2, result;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);result = num1 + num2;printf("加法结果:%d", result);return 0;}```第二题:编写一个程序,判断输入的整数是否为偶数,并输出“是”或“否”。

参考答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("是");} else {printf("否");}return 0;}```第三题:编写一个程序,计算输入字符串的长度,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);printf("字符串长度:%d", length);return 0;}```第四题:编写一个程序,将输入的字符串反转,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int i, length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);for (i = length - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```第五题:编写一个程序,将输入的数组元素按从小到大的顺序排序,并输出结果。

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

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 <stdio.h>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=□5x=1.200000,y=2.400000,z=-3.600000x+y=□3.60□□y+z=-1.20□□z+x=-2.40u=□51274□□n=□□□128765c1=’a’□or□97(ASCII)c2=’B’□or□98(ASCII)2、假定有:int a=1,b=2,设计一个程序,将变量a和b的值互换并且输出来。

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

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

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;(3.14159 →3.142,10.123456 →10.123)#include<stdio.h>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<stdio.h>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<stdio.h>main(){char ch;ch='A';ch=65;ch=0x41;ch=0101;ch='\101';ch='\x41';}d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz)#include<stdio.h>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<stdio.h>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<stdio.h>void main(){float f;double d;f=3.14159265358979323846264338327950288;d=3.14159265358979323846264338327950288;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。

计算机C语言实验报告含答案

计算机C语言实验报告含答案

高级语言程序设计(C语言)实验报告。

………………………………………………………………………………………………一、实验题目: 语句与顺序结构控制程序设计1)编写程序, 已知圆半径radius=1.25,求圆周长和面积。

源代码: 运行结果:#include <stdio.h> d=7.853981#define PI 3.1415926 s=4.908735void main(){float r=1.25,d,s;d=2.0*PI*r;s=PI*r*r;printf("d=%f\n",d);printf("s=%f\n",s);}2)编写程序完成大写字母的小写转换。

源代码: 运行结果:#include <stdio.h> 请输入一个大写字母:H void main() H h{char ch1,ch2;printf("请输入一个大写字母:");ch1=getchar();ch2=ch1+32;printf("%c %c\n",ch1,ch2);}3)任意从键盘输入一个三位整数, 要求正确分离出它的个位、十位和百位数, 并分别在屏幕上显示。

源代码: 运行结果:#include <stdio.h> 请输入一个整数 :123 void main() b=1,s=2,g=3{int a,g,s,b;printf("请输入一个整数: ");scanf("%d",&a);b=a/100;s=(a%100)/10;g=a%10;printf("b=%d,s=%d,g=%d\n",b,s,g);}二、实验题目: 选择结构程序设计程序设计1)设变量a、b、c分别存放从键盘输入的3个整数。

编写程序, 按从大到小的顺序排列这3个整数, 使a成为最大的, c成为最小的, 并且按序输出这3个整数。

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的结果并输出。

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

1.数据类型a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;,#include<>main(){double b,d;printf("请输入一个小数:");scanf("%lf",&b);printf("输出原来的数:%f\n",b);b*=1000;b+=;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都赋值,输出f和d得值,要求保留20位小数,观察输出结果;#include<>void main(){float f;double d;f=;d=;printf("f=%.20f\nd=%.20lf\n",f,d);}g.输入华氏温度求摄氏温度。

转换公式为c=5/9(f-32),输出结果取两位小数。

#include<>main(){double f,c;printf("请输入一个华氏温度:");scanf("%lf",&f);c=*(f-32);printf("输出摄氏温度c:%.2f\n",c);}2.分支结构a.输入三角形得三个边的边长,以此判断能否组成三角形,是什么形状的三角形;(等边三角形、等腰三角形、直角三角形、等腰直角三角形、一般三角形)#include <>void main(){double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a){if(a==b && b==c)printf("等边三角形!\n");else if((a*a+b*b)==c*c || (a*a+c*c)==b*b || (b*b+c*c)==a*a){if(a==b||b==c||a==c)printf("等腰直角三角形!\n");elseprintf("直角三角形!\n");}else if(a==b||b==c||a==c)printf("等腰三角形!\n");elseprintf("普通三角形!\n");}else printf("用户输入错误!\n");}b.输入一个年份值,判断是否为闰年;#include <>main(){int n;printf("输入年份:");scanf("%d",&n);if (n%4==0&&n%100!=0||n%400==0)printf("闰年\n");else printf ("不是闰年\n");}c.输入a、b、c三个整型变量,分别使用if语句和条件运算符求出三个数的最大值和最小值;1. #include<>main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a>b&&b>c)printf("max=%d,min=%d",a,c);else if(c>a&&a>b)printf("max=%d,min=%d",c,b);else if(a>c&&c>b)printf("max=%d,min=%d\n",a,b);else if(c>b&&b>a)printf("max=%d,min=%d\n",c,a);else if(b>c&&c>a)printf("max=%d,min=%d\n",b,a);elseprintf("max=%d,min=%d\n",b,c);}2. #include<>main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("max=%d,min=%d\n",(a>b(c>ac:a):(c>bc:b)),(a<b(c<ac:a):(c<bc:b)));}d.输入任意实数,求出其所对应的函数值(调用数学函数库)。

z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)/*d. 输入任意实数,求出其所对应的函数值(调用数学函数库)。

z=e的x次幂(x>10)z=log(x+3) (x>-3)z=sin(x)/((cos(x)+4)*/#include<>#include<>main(){double x,z;printf("输入任意实数x:");scanf("%lf",x);if(x>10)z=exp(x);if(x>-3)z=log(x+3) ;if(x<=-3)z=sin(x)/(cos(x)+4);printf("z=%lf",z);}e.输入一个成绩,输出此成绩对应的级别;(优、良、中、及格、不及格),要求分别使用if语句和switch语句;#include<>main(){int a;scanf("%d",&a);if(a>100)printf("输入错误\n");if(a<=100){ if(a>=90)printf("优\n");else if(a>=80)printf("良\n");else if(a>=70)printf("中\n");else if(a>=60)printf("及格\n");elseprintf("不及格\n");}}#include<>main(){int a,b;scanf("%d",&a);b=a/10;switch(b){case 10:case 9:printf("优\n");break;case 8:printf("良\n");break;case 7:printf("中\n");break;case 6:printf("及格\n");break;default :printf("不及格\n");}}f.判断一个字符是否为字母或者数字;#include <>main(){char t;scanf("%c",&t);if(t>='a'&&t<='z'||t>='A'&&t<='Z'||t>='0'&&t<='9')printf("是母或者数字");else printf("不是字母或者数字");}g.使用条件运算符实现让c等于a、b中较大的,d等于a、b中较小的,e等于a的绝对值。

#include<>main(){int a,b,c,d,e;scanf("%d%d",&a,&b);c=a>ba:b;d=a<ba:b;e=a>-aa:-a;printf("c=%d\nd=%d\ne=%d\n",c,d,e);}h.读入一元二次方程的三个系数,a,b,c,求出各种情况下方程的根,无解或输入数据不正确输出提示信息#include<>void main(){float a,b,c;printf("请输入a、b和c的值:");scanf("%f%f%f",&a,&b,&c);if(a==0)printf("数据输入不正确!\n");else{if(b*b-4*a*c>0)printf("方程有两个不等实根!\n");else{if(b*b-4*a*c==0)printf("方程有两个相等实根!\n");elseprintf("方程无解!\n");}}}3.循环结构a.编写程序实现1+2+3+4+......+n,n由用户输入;#include<>main(){int n,i,sum=0;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++)sum+=i;printf("%d\n",sum);}b.修改程序1,实现1+3+5+7+9+......2*n-1;#include<>main(){int n,i,sum=0;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++)sum+=(2*i-1);printf("%d\n",sum);}c.修改程序1,实现2+4+6+8+10+......2*n;#include<>main(){int n,i,sum=0;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++)sum+=2*i;printf("%d\n",sum);}d.修改程序2,实现1+1/3+1/5+1/7+......1/(2*n-1);include<>main(){int n,i,t=0;double sum=;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++){t=(2*i-1);sum+=t;}printf("%f\n",sum);}e.修改程序4,实现1-1/3+1/5-1/7+......1/(2*n-1);#include<>main(){int n,i,t=0,k=-1;double sum=;printf("请输入n;");scanf("%d",&n);for(i=1;i<=n;i++){k*=-1;t=k*(2*i-1);sum+=t;}printf("%f\n",sum);}f.编程实现1*2*3*4*5*.....n;#include<>main(){int n,i,sum=1;printf("请输入n:");scanf("%d",&n);for(i=1;i<=n;i++)sum*=i;printf("%d\n",sum);}g.编程实现输入n,判断n是不是质数;#include ""int fun(int n){int i,k=1;if(n<=1) k=0;for(i=2;i<n;i++)if(n%i==0) k=0;return k;}main(){int n,k=0;printf("输入一个数n:");scanf("%d",&n);if(fun(n)==1)printf("是质数\n");else printf("不是质数\n");}h.求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字,d和n输入。

相关文档
最新文档