C语言实验参考答案

合集下载

华南农业大学C语言实验上机实验第四版参考答案

华南农业大学C语言实验上机实验第四版参考答案

华南农业大学C语言实验上机实验第四版参考答案c语言程序设计上机实验指导与习题参考答案(第四版)实验1c语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。

(2)了解在该系统上如何编辑、编译、连接和运行一个c程序。

(3)通过运行简单的c程序,初步了解c程序的特点。

(4)在教师的指导下,学会使用在线评判系统。

二、实验内容1.运行第一个c程序[题目:thefirstcprogram]将下列程序输入visualc++,编译、连接和运行该程序。

#include\main(){printf(\}[具体操作步骤](1)在编辑窗口中输出程序。

(2)留存程序,取名为a1.c。

(3)按照第一章中介绍的方法,编译、连接和运行程序。

(4)按照第三章了解的方法,将代码递交至在线评判系统,系统回到“通过”,则该题顺利完成。

2.在在线评判系统中提交实现了计算a+b功能的程序[题目1001:排序a+b]由键盘输入两个整数,计算并输出两个整数的和。

实现该功能的程序如下,#include\main(){inta,b;scanf(\printf(\}(1)在程序编辑窗口中输出程序。

(2)留存程序,取名为a2.c。

(3)按照前二章中介绍的方法,编译、连接和运行程序。

(4)在程序运行过程中,输入1530l(l则表示输出回车符)(5)如果看到如下输出结果,则表明15+30的结果正确,如果得不到如下结果,则需检查并更正程序。

45(6)按照第三章中了解的方法步入在线评判系统。

(7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。

(8)查阅回去题目建议后,页面页面下端的“sumbit”,参考第二章递交程序的方法递交程序a2.c。

(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。

3实验2基本数据类型、运算和表达式一、实验目的(1)掌握c语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。

计算机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语言实验册完整答案

实验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语言课后实验设计题目及答案
算法提示
设 total:桃子的总数
x1 :前一天的桃子数
x2 : 后一天的桃子数
day: 天数
计算公式:x1=(x2+1)*2 第1天的桃子数是第2天桃子数加1后的2倍。
(2)求1-1/2+1/3-1/4+⋯⋯,输入1个正整数n(n<=100),计算并输出1-1/2+1/3-1/4+⋯⋯的前n项和(保留3位小数)。
实验项目四 分支结构程序设计
题目
(1)输入四个整数,输出其中的最小值。
实验报告
1、主程序:
// zx.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
}
2、主程序:
// s.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int main(int argc, char* argv[])
{
x=x*x*x*x;return(x);
}
int main(int argc, char* argv[])
{
float x;
printf("请输入X=");
scanf("%f",&x);
double s;

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,输入格式:每个测试是一个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 个整数的和与平均值。

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

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 <stdio.h>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 <stdio.h>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 <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。

C语言实验报告答案

C语言实验报告答案

C语言实验报告答案二、编程题(参考答案)1、#include “stdio.h”void main(){ int Math=82,eng=78,comp=91,average;average=(Math+eng+comp)/3;printf(“Math=%d,eng=%d,comp=%d,average=%d\n”,Mat h,eng,comp,average);}2、#include “stdio.h”void main(){ int n=152,d1,d2,d3;d1=n%10;d2=(n/10)%10;d3=n/100;printf(“整数%d的个位数字是%d,十位数字是%d,百位数字是%d\n”,n,d1,d2,d3); }3、#include “stdio.h”void main(){ int n1,n2;printf(“Enter n1,n2:”);scanf(“%d,%d”,&n1,&n2);printf(“%d+%d=%d\n”,n1,n2,n1+n2);printf(“%d/%d=%d\n”,n1,n2,n1/n2);printf(“%d%%%d=%d\n”,n1,n2,n1%n2);}三、改错题原错误行(共三行):/********************************** found ********************************/#in clude “stdoi,h”/********************************** found ********************************/ printf(“%d=%d*%d\n”,x);/********************************** found ********************************/ printf(“%d*%d=%d\n”,y);改正后:#include “stdio.h”printf(“%d=%d*%d\n”,y,x,x);printf(“%d*%d=%d\n”,x,x,y);一、改错题1、原错误行(共三行):/********************************** found ********************************/ #include “stdoi,h”/********************************** found ********************************/ scanf(“%lf”,x);/********************************** found ********************************/ y=1/x改正后:#include “stdio.h”scanf(“%lf”,&x);y=1/x;2、原错误行(共两行):/********************************** found ********************************/ { int i,sum;/********************************** found ********************************/ for(i=1,i<=100,i++)改正后:{ int i,sum=0;for(i=1;i<=100;i++)二、编程题(本标题报告上漏印了)2、(因为报告上小题号就是从2开始的,没有第1题)#include “stdio.h”#include “math.h”void main(){ int a,b,c;float s,area,perimeter;printf(“请输入三角形的三边:”);scanf(“%d,%d,%d”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){ perimeter=a+b+c;s=perimeter/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area =%.2f,perimeter=%.2f\n”,area,perimeter); }elseprintf(“不构成三角形”);}3、#include “stdio.h”void main(){ int i,m,n;float sum=0;printf(“Enter m:”);scanf(“%d”,&m);printf(“Enter n:”);scanf(“%d”,&n);for(i=m;i<=n;i++)sum=sum+1.0/i;printf(“sum=%.3f\n”,sum);}4、#include “stdio.h”void main(){ int i,n;float sum=0;printf(“Enter n:”);scanf(“%d”,&n);for(i=1;i<=n;i++)sum=sum+1.0/(2*i-1);printf(“sum=%.2f\n”,sum);}5、#include “stdio.h”void main(){ int i,m,n;long a=1,b=1;printf(“Enter m:”);scanf(“%d”,&m);printf(“Enter n:”);scanf(“%d”,&n);for(i=1;i<=m;i++)a=a*i;for(i=1;i<=n;i++)b=b*i;printf(“%d!+%d!=%ld\n”,m,n,a+b); }实验三一、改错题原错误行(共三行):/********************************** found ********************************/ double sum;/********************************** found ********************************/ for(i=1;i<10;i++)sum=sum+fact(i);p rintf(“1!+2!+…+10!=%f\n”,sum);}/********************************** found ********************************/ double fact(int n);改正后:double sum=0;for(i=1;i<=10;i++)double fact(int n)二、编程题1、int even(int n){ if(n%2==0)return 1;elsereturn 0;}2、int prime(int x){ int n;for(n=2;n<x;n++)< bdsfid="194" p=""></x;n++)<>if(x%n==0)return 0;if(x>=2)return 1;elsereturn 0;}3、#include “stdio.h”int fun1(int n){ if(n%2==0)return 1;elsereturn 0;}int fun2(int x){ int n;for(n=2;n<x;n++)< bdsfid="213" p=""></x;n++)<> if(x%n==0)return 0;if(x>=2)return 1;elsereturn 0;}void main(){ int i,m,n,a,b;printf(“Enter m:”);scanf(“%d”,&m);printf(“Enter n:”);scanf(“%d”,&n);a=fun1(m);b=fun2(n);if(a==1) printf(“%d是偶数\n”,m);else printf(“%d是奇数\n”,m);if(b==1) printf(“%d是素数\n”,n);else printf(“%d不是素数\n”,n); }实验四一、改错题1、原错误行(共两行):/********************************** found ********************************/ { int i,s;/********************************** found ********************************/ if(str[i]<=’0’||str[i]>=’9’)改正后:{ int i,s=0;if(str[i]>=’0’&&str[i]<=’9’)2、原错误行(共三行):/********************************** found ********************************/ { int i,j,n,x,a[n];/********************************** found ********************************/ a[i] =a[i+1];/********************************** found ********************************/ a[i]=x; /*插入改正后:{ int i,j,n,x,a[10];a[i+1] =a[i];a[j]=x;3、原错误行(共三行):/********************************** found ********************************/ max=str;/********************************** found ********************************/ if(max<str)< bdsfid="252"p=""></str)<>/********************************** found ********************************/ max=str;改正后:strcpy(max,str);if(strcmp(max,str)<0)strcpy(max,str);4、原错误行(共两行):/********************************** found ********************************/ void fun(int a[],int n) /*该函数求出a数组中n个元素奇数的个数*//********************************** found ********************************/ if(a[i]%2==0) m++;改正后:int fun(int a[],int n)if(a[i]%2!=0) m++;二、编程题1、#include “stdio.h”void main(){ int i,n,min,max,s1,s2,t,a[10];printf(“请输入数据个数n值:”);scanf(“%d”,&n);printf(“请输入这%d个数:”,n);for(i=0;i<n;i++)< bdsfid="273" p=""></n;i++)<>scanf(“%d”,&a[i]);min=a[0]; s1=0;max=a[n-1]; s2=n-1;for(i=0;i<n;i++)< bdsfid="278" p=""></n;i++)<>{ if(a[i]<="">if(a[i]>max) { max=a[i]; s2=i; }}if(s1!=0) { t=a[0];a[0]=a[s1];a[s1]=t; }if(s2!=n-1) { t=a[n-1];a[n-1]=a[s2];a[s2]=t; } for(i=0;i<n;i++)< bdsfid="285" p=""></n;i++)<>printf(“%d ”,a[i]);}2、int sum(int a[],int n){ int i,sum=0;for(i=0;i<n;i++)< bdsfid="292" p=""></n;i++)<>sum+=a[i];return sum;}实验五一、改错题1、原错误行(共两行):/********************************** found ********************************/ scanf(“%d”,&p++);/********************************** found ********************************/ x[0]=x[k];改正后:scanf(“%d”,p++);x[0]=k;二、编程题1、int search(int *a,int n,int x){ int i;for(i=0;i<n;i++)< bdsfid="309" p=""></n;i++)<>if(a[i]==x) return i;return -1;}2、int fun(char *s){ int i,j,n;n=strlen(s);for(i=0,j=n-1;i<="" bdsfid="318" p="">if(s[i]!=s[j])return 0;return 1;}3、此题为选作题#include “stdio.h”void sort(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i++)< bdsfid="329" p=""></n-1;i++)<> { k=i;for(j=i+1;j<n;j++)< bdsfid="332" p=""></n;j++)<> if(a[j]if(k!=i){ t=a[i];a[i]=a[k];a[k]=t; }}}main(){ int a[10],i,n;printf(“请输入n值:”);scanf(“%d”,&n);printf(“请输入这%d个元素值:”,n);for(i=0;i<n;i++)< bdsfid="345" p=""></n;i++)<>scanf(“%d”,&a[i]);sort(a,n);for(i=0;i<n;i++)< bdsfid="349" p=""></n;i++)<>printf("%d ",a[i]);printf("\n");}一、改错题(原错误行共两行):/********************************** found ********************************/ { scanf(“%d”,&score[j]);/********************************** found ********************************/ printf("总分最高的学生是:%s,%d\n", name, sum);改正后:{ scanf(“%d”,&a[i].score[j]);printf("总分最高的学生是:%s,%d\n", a[k].name, a[k].sum);二、编程题1、#include "stdio.h"typedef struct student /*定义结构体类型*/{ long num;char name[9];int score[3];float aver;}STU;void main(){ STU a[10];int i,j,n,s=0;printf("输入n:");scanf("%d",&n);for(i=0;i<n;i++)< bdsfid="374" p=""></n;i++)<>{ printf("输入第%d个学生的学号、姓名和3门课成绩:",i+1);scanf("%ld",&a[i].num);scanf("%s",a[i].name);s=0;for(j=0;j<3;j++){ scanf("%d",&a[i].score[j]); s+=a[i].score[j]; }a[i].aver=s/3.0;}for(i=0;i<n;i++)< bdsfid="384" p=""></n;i++)<>printf("%s,%.2f分\n",a[i].name,a[i].aver);}三、填空题p->next= head ;head= p ;}p=head ;一、改错题(原错误行共两行):/********************************** found ********************************/ FILE fp;/********************************** found ********************************/if((fp=fopen(“a.txt”,“w”))!=NULL)改正后:FILE *fp;if((fp=fopen(“a.txt”,“w”))==NULL)二、编程题1、#include "stdio.h"#include "string.h"void main(){ FILE *fp;char a[10];if((fp=fopen("test.txt","w"))==NULL) { printf("error");exit(0);}scanf("%s",a);strupr(a);fputs(a,fp);fclose(fp);}2、#include "stdio.h"#include "string.h"void main(){ FILE *fp;char a;if((fp=fopen("test.txt","r"))==NULL) { printf("error");exit(0);}while(!feof(fp)){ a=fgetc(fp);printf("%c",a);}fclose(fp);}3、#include "stdio.h"#include "stdlib.h"typedef struct student{ long num;char name[9];int score[3];float aver;}STU;void main(){ FILE *fp;int i,j,n,s;STU a;scanf("%d",&n);if ((fp=fopen("stud.dat","wb"))==NULL){ printf("File connot be opened\n");exit(0);}for(i=1;i<=n;i++){ scanf("%ld",&a.num);scanf("%s",/doc/204579141.html,); s=0;for(j=0;j<3;j++){ scanf("%d",&a.score[j]); s+=a.score[j]; }a.aver=s/3.0;fwrite(&a,sizeof(STU),1,fp);}fclose(fp);}4、#include "stdio.h"#include "stdlib.h"typedef struct student{ long num;char name[9];int score[3];float aver;}STU;void main(){ FILE *fp;int i,j,n,s;STU a;if ((fp=fopen("stud.dat","rb"))==NULL){ printf("File connot be opened\n");exit(0);}while(fread(&a,sizeof(STU),1,fp)!=NULL){ printf("%ld\t%s\t",a.num,/doc/204579141. html,);printf("%d\t%d\t%d\t%.2f\n",a.score[0],a.score[1],a.score[2], a.aver);}fclose(fp);}。

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,inty);ﻩ 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||码就是:97B 程序代码#include<stdio、h>voidmain(){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=168b=123、46b=1、234560e+002x=f,y=35、567001C程序代码#include<stdio、h>voidmain(){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语言实验答案实验1: C语言基础1. a) 此程序的输出结果是:10 15 20int x = 10;printf("%d ", x++);printf("%d ", ++x);printf("%d", x++);b) 解释:- 在第一个printf语句中,x的值被打印后才执行自增操作,所以输出结果为10;- 在第二个printf语句中,x先自增再打印,所以输出结果为15;- 在第三个printf语句中,x先打印再自增,所以输出结果为20。

2. 此程序的输出结果是:6int a = 10, b = 4, c = 6;printf("%d", ++c + a / --b);解释:- 在表达式中,++c表示先将c自增1,--b表示先将b自减1;- a/--b会先执行除法操作,即10/3,结果为3;- ++c + 3的结果为9;- 因此,最终的输出结果为6。

实验2: 控制结构1. a) 此程序的输出结果是:odd even odd even odd evenfor (int i = 1; i <= 6; i++) {if (i % 2 == 0) {printf("even ");} else {printf("odd ");}}b) 解释:- 在for循环中,i从1逐渐增加到6;- 当i为奇数时,输出"odd ",当i为偶数时,输出"even "; - 因此,最终的输出结果为"odd even odd even odd even"。

2. a) 此程序的输出结果是:1 3 5 7 9int i = 0;while (i < 10) {i++;if (i % 2 == 0) {continue;}printf("%d ", i);}b) 解释:- 在while循环中,i从0逐渐增加到9;- 当i为偶数时,遇到"continue"语句,跳过后续的代码,继续下一次循环;- 当i为奇数时,打印i的值;- 因此,最终的输出结果为"1 3 5 7 9"。

C语言实验报告第章答案(二)

C语言实验报告第章答案(二)

C语言实验报告第章答案(二)C语言实验报告第一章答案:1. 什么是C语言?C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie于20世纪70年代初开发。

C语言被广泛用于系统编程、嵌入式系统、驱动程序和应用程序的开发。

2. C语言的特点是什么?C语言具有以下特点:- 简洁:C语言的语法简单明了,易于学习和使用。

- 高效:C语言的执行速度快,占用内存少。

- 通用:C语言可以用于开发各种类型的应用程序。

- 可移植性强:C语言编写的程序可以在不同的操作系统和硬件平台上运行。

3. C语言的基本数据类型有哪些?C语言的基本数据类型包括:- 整型:int、short、long、long long。

- 浮点型:float、double、long double。

- 字符型:char。

4. C语言的运算符有哪些?C语言的运算符包括:- 算术运算符:+、-、*、/、%。

- 关系运算符:>、<、>=、<=、==、!=。

- 逻辑运算符:&&、||、!。

- 位运算符:&、|、^、~、<<、>>。

- 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=。

- 条件运算符:? : 。

5. C语言的控制语句有哪些?C语言的控制语句包括:- 顺序结构:按照代码顺序执行。

- 分支结构:if、switch。

- 循环结构:while、do-while、for。

- 跳转结构:break、continue、goto。

6. C语言的函数是什么?C语言的函数是一段可重复使用的代码块,用于执行特定的任务。

函数可以接受参数和返回值,使程序更加灵活和模块化。

7. C语言的数组是什么?C语言的数组是一组相同类型的数据元素,按照一定的顺序排列。

数组可以根据下标访问其中的元素,使程序更加灵活和高效。

8. C语言的指针是什么?C语言的指针是一种特殊的变量,用于存储内存地址。

C语言实验答案

C语言实验答案
}
s = s + y;
}
printf("=%f\n",s);
}
(5)孪生质数1
#include <stdio.h>
#include <math.h>
main()
{
inti, flag, n, count = 0;
for (n=2; n<=150; n++)
{
flag=1;
for (i=2; i<=sqrt(n); i++)
int GetIntegerArray(int array[], int max, int sentinel);
int BinSearch(int a[], int n, int x);
main()
{
intlist[MaxElements], n, x, position;
n = GetIntegerArray(list, MaxElements, Sentinel);
else
bonus = bon10 + (P - 1000000) * 0.01;
printf("The total bonus is %lf\n", bonus);
}
(3)完数1
#include <stdio.h>
main()
{
intm, s, i;
for (m=2; m<1000; m++)
{
s = 0;
i++;
}
}
}
int PrimeNumber(int n)
{
inti, flag = 1;

《c语言程序设计》实验指导书答案

《c语言程序设计》实验指导书答案

《c语言程序设计》实验指导书答案《C语言程序设计》实验指导书答案实验一:C语言环境搭建与基本语法1. 问题:如何在计算机上搭建C语言开发环境?答案:搭建C语言开发环境通常需要安装编译器和集成开发环境(IDE)。

常见的编译器有GCC,而IDE如Visual Studio Code、Code::Blocks等。

安装完成后,配置好编译器路径,即可开始编写和编译C语言程序。

2. 问题:C语言的基本数据类型有哪些?答案:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)以及更复杂的结构体(struct)和联合体(union)等。

3. 问题:如何定义一个变量?答案:定义变量的基本语法是:`类型名变量名;`。

例如,定义一个整型变量a:`int a;`。

4. 问题:如何实现变量的输入和输出?答案:使用`scanf`函数进行输入,使用`printf`函数进行输出。

例如,输入一个整数并输出:`scanf("%d", &a); printf("%d", a);`。

实验二:控制结构1. 问题:C语言中的条件语句有哪些?答案:C语言中的条件语句主要有`if`语句和`switch`语句。

2. 问题:如何使用`if`语句?答案:`if`语句的基本语法是:`if (条件) { 语句 }`。

例如,判断一个数是否为正数:`if (a > 0) { printf("正数"); }`。

3. 问题:如何使用`switch`语句?答案:`switch`语句用于多条件分支选择。

基本语法是:`switch (表达式) { case 常量1: 语句1; break; case 常量2: 语句2; break; ... default: 默认语句; }`。

4. 问题:C语言中的循环语句有哪些?答案:C语言中的循环语句主要有`for`循环、`while`循环和`do-while`循环。

C语言实验题及参考答案

C语言实验题及参考答案

C语言实验题及参考答案1. 编写一个程序,要求用户输入一个整数n,然后输出1到n的所有整数。

```c#include <stdio.h>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 <stdio.h>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 <stdio.h>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 <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);int i;for (i = 1; i <= n; i += 2) {sum += i;}printf("1到%d的奇数的和为%d\n", n, sum);return 0;}```5. 编写一个程序,要求用户输入一个整数n,然后判断n是否为素数。

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

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

实验一参考答案1、数据类型、运算符和表达式的应用(1)整型数据的溢出(建立程序文件名为sy1-1.c)# include <stdio.h>void main(){short int a,b;a=32767;b=a+1;printf("a=%d,b=%d\n",a,b);}程序运行结果:a=32767,b=-32768原因:32767是short int型数据的最大值,其二进制为(0111111111111111),在其上加1后产生溢出,变成-32768的补码,其二进制为(1000000000000000)。

整数在内存中以二进制补码形式存放,运算时符号位也要参与运算。

结论:使用整型数据应注意其表示范围,避免产生溢出。

(2)浮点型数据的舍入误差(建立程序文件名为sy1-2.c)# include <stdio.h>void main(){float a,b;a=123456.789e5;b=a+20;printf("a=%f\tb=%f\n",a,b);}程序运行结果:a=1345678848.000000 b=12345678868.000000原因:理论分析a变量的值为12345678900,b的值经计算应为12345678920,结果输出的a和b的值都不对,原因是float型数据的有效数字位数为7位,后几位数字都是不准确的。

结论:应当避免将一个很大的数和一个很小的数直接相加或相减,否则会“丢失”较小的数。

(3)字符型数据和整型数据的混合使用(建立程序文件名为sy1-3.c)# include <stdio.h>void main(){char c1,c2;c1=65; c2=66;printf("%c %c\n",c1,c2);}程序运行结果:A B原因:c1,c2两个变量的类型为char型,在内存中分配1B的存储空间用于存放字符的ASCII码二进制,其存放的数据范围为0~255。

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

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

2024C语言实验报告参考答案2024C语言实验报告参考答案实验名称:C语言实现学生信息管理系统实验目的:1、掌握C语言的基本语法和编程规范2、熟悉控制台界面的设计和输出3、理解并实现简单的用户交互和数据操作实验内容:本次实验要求用C语言实现一个简单的学生信息管理系统。

系统需要实现以下功能:1、添加学生信息2、查询学生信息3、修改学生信息4、删除学生信息5、显示所有学生信息实验步骤:步骤1:打开Visual Studio,创建一个新的控制台应用程序项目。

步骤2:在项目中添加一个名为“student_management_system.c”的源文件,并在这个文件中编写程序代码。

步骤3:在代码中定义一个结构体来表示学生信息,包括学号、姓名、年龄等信息。

步骤4:在主函数中创建一个学生信息管理系统,并实现以下功能:1、添加学生信息:提供一个用户界面,让用户输入学生信息,并将信息保存到一个数组中。

2、查询学生信息:提供一个用户界面,让用户输入要查询的学号,并在数组中查找对应的学生的信息并输出。

3、修改学生信息:提供一个用户界面,让用户输入要修改的学号和新的学生信息,并在数组中修改对应学生的信息。

4、删除学生信息:提供一个用户界面,让用户输入要删除的学号,并将该学生信息从数组中删除。

5、显示所有学生信息:提供一个用户界面,将所有学生的信息输出到控制台。

步骤5:在代码中添加必要的输入输出和错误处理代码,确保程序的正确性和健壮性。

步骤6:编译并运行程序,测试每个功能的正确性。

实验结果:本次实验成功实现了一个简单的学生信息管理系统。

通过控制台界面,用户可以添加、查询、修改、删除和显示学生信息。

程序运行稳定,错误处理效果良好。

实验总结:本次实验让我更加熟悉了C语言的基本语法和编程规范,同时也让我了解了如何实现简单的用户交互和数据操作。

通过这次实验,我不仅提高了自己的编程技能,还对控制台界面的设计和输出有了更深入的理解。

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

C语言实验报告参考答案(原)
问题4改printf("%c,%c,%d\n",a,b,c);这条语句
改成:printf("\’%c\’\’%c\’%d\n",a,b,c);
问题5把scanf("%c%c%d",&a,&b,&c);和printf("%c,%c,%d\n",a,b,c);
改成scanf("%c%*c%c%*c%d",&a,&b,&c);
#include<math.h>
int count(int x)
{
int sum,i;
sum =0;//记住因子的个数
for(i=1;i<=x/2;i++)
if(x%i == 0)
sum +=1;
return sum+1;
}
int main(void)
{
int i,y;
for(i=1;i<=100;i++)
#include<stdio.h>
#include<math.h>
int prime(int m)
{
int i,k;
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)return 1;
return 0;
}
main()
{
int i,k;
k=0;
for(i=3;i<=5000;i++)
if(prime(i)==1){k++;printf("%d is a prime muber \n",i);}
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。

实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include <stdio.h>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 <stdio.h>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 <stdio.h>main(){int a;char c;printf(“a=”);scanf(“%d”,&a);c=a+48;putchar(c);}2、编程。

输入半径,计算球体表面积(24rS⋅=π)和球体积(334rV⋅=π)。

#include <stdio.h>#define PI 3.1415926main(){float r,s,v;printf(“r=”);scanf(“%f”,&r);s=4*PI*r*r;v=4/3.0*PI*r*r*r;printf(“s=%f,v=%f\n”,s,v);}3、编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。

这六个变量的值分别为:10,-10,40000,a,3.14,hello。

#include <stdio.h>main()long c;char d,ch[6];float e;scanf(“%d,%d,%ld,%c,%f,%s”,&a,&b,&c,&d,&e,ch);printf(“%d,%d,%ld,%c,%f,%s\n”,a,b,c,d,e,ch);}实验四1、输入三个整数,分别存放到变量a,b,c中,试编程输出其中的最小值。

#include <stdio.h>main(){int a,b,c,min;printf(“a,b,c=”);scanf(“%d,%d,%d”,&a,&b,&c);min=a>b?(b>c?c:b):(a>c?c:a);printf(“min=%d\n”,min);}2、输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。

(例如:输入F,输出f,输入b,输出B,输入7,输出7)。

#include <stdio.h>{char c,ch; c=getchar(); ch=c;if(c>=‘A ’&&c<=‘Z ’) ch=c+32;if(c>=‘a ’&&c<=‘z ’) ch=c-32; putchar(ch); }实验五1、函数⎪⎩⎪⎨⎧<-=>=0,10,00,1x x x y 。

⑴用条件表达式求函数值y 。

⑵用if 语句编程,输入x ,输出y ,并给出你所使用的测试用例。

解(1)#include <stdio.h> main() {int y; float x; printf(“x=”);scanf(“%f”,&x);y=x>0?1:(x==0?0:-1);printf(“y=%d\n”,y);}解(2)#include <stdio.h>main(){int y;float x;printf(“x=”);scanf(“%f”,&x);if(x>0)y=1;else if(x==0)y=0;elsey=-1;printf(“y=%d\n”,y);}2、试编程输入成绩cj(cj为整型变量),如果cj的值在[100,90]内输出A,在(90,80]内输出B,在(80,70]内输出C,在(70,60]内输出D,在(60,0]内输出E,其它输出错误信息。

请使用if语句和switch语句分别实现。

解(1)#include <stdio.h>main(){int cj;printf(“cj=”);scanf(“%d”,&cj);if(cj>=90&&cj<=100)printf(“A\n”);else if(cj>=80&&cj<90)printf(“B\n”);else if(cj>=70&&cj<80)printf(“C\n”);else if(cj>=60&&cj<70)printf(“D\n”);else if(cj>=0&&cj<60)printf(“E\n”);elseprintf(“输入错误\n”);}解(2)#include <stdio.h>main(){int cj,n;printf(“cj=”);scanf(“%d”,&cj);n=(cj>=0)+(cj>=60)+(cj>=70)+(cj>=80)+(cj>=90)+(cj>100); switch(n){case 5:printf(“A\n”);break;case 4:printf(“B\n”); break;case 3:printf(“C\n”); break;case 2:printf(“D\n”); break;case 1:printf(“E\n”); break;default:printf(“输入错误\n”);}}实验六1、编程:输出200以内所有能被7整除的数。

#include <stdio.h>main(){int i;for(i=0;i<=200;i+=7)printf(“%4d”,i);}2、从键盘输入n个数(n<10),找出其中最小值,请编写相应程序。

#include <stdio.h>main(){int n,i,a,min;printf(“n=”);scanf(“%d”,&n);for(i=1;i<=n;i++){scanf(“%d”,&a);if(i==1)min=a;if(min>a)min=a;}printf(“min=%d”,min);}3、键盘输入正整数m和n(m<n),计算m~n之间所有奇数之和x与偶数之和y,请编程实现。

#include <stdio.h>main(){int m,n,i,x1=0,x2=0;printf(“input m,n(m<n):”);scanf(“%d,%d”,&m,&n);for(i=m;i<=n;i++)if(i%2==1)x1+=i;else x2+=i;printf(“x1(奇数之和)=%d,x2(偶数之和)=%d\n”,x1,x2);}实验七1、打印出所有的"水仙花数",所谓的"水仙花数"是指一个3位数,其各位数字的立方和等于该数本身。

例如,153是一个"水仙花数",因为有153=1*1*1+5*5*5+3*3*3 。

解(1)#include <stdio.h>main(){int a,b,c,n;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;if(n==a*a*a+b*b*b+c*c*c)printf(“%d\n”,n);}}解(2)#include <stdio.h>main(){int a,b,c,n;for(n=100;n<=999;n++){a=n/100;b=n%100/10;c=n%10;if(n==a*a*a+b*b*b+c*c*c)printf(“%d\n”,n);}}2、请分别用三种循环结构编程计算:1!+2!+3!+...+n! ,n的值由键盘输入。

解(1)#include <stdio.h>main(){int n,i;long p=1,sum=0;printf(“n=”);scanf(“%d”,&n);for(i=1;i<=n;i++){p*=i;sum+=p;}printf(“1!+2!+…+%d!=%ld\n”,n,sum); }解(2)#include <stdio.h>main(){int n,i=1;long p=1,sum=0;printf(“n=”);scanf(“%d”,&n);while(i<=n){p*=i;sum+=p;i++;}printf(“1!+2!+…+%d!=%ld\n”,n,sum); }解(3)#include <stdio.h>main(){int n,i=1;long p=1,sum=0;printf(“n=”);scanf(“%d”,&n);do{p*=i;sum+=p;i++;}while(i<=n);printf(“1!+2!+…+%d!=%ld\n”,n,sum);}实验八1、打印输出由1,2,3,4四个数字组成的4位数,并统计它的个数(允许该4位数中有相同的数字,例如:1111,1122,,1212等).。

相关文档
最新文档