C语言实验报告参考答案原
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
printf("the square sum is:%d\n",sum);
return 0;
}
2.一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写程序找出2~5000中的所有完数。
#include<>
#include<>
main()
{
int i,j,sum=0;
for(i=2;i<=5000;i++) 写程序:计算sinx的近似值,精确到10-6。
printf("computer sc百度文库re: ");
scanf("%f",&score);
stu[i]puter = score;
printf("Chinese score: ");
scanf("%f",&score);
stu[i].Chinese = score;
printf("history score: ");
五、程序清单
1.编写程序:从键盘输入一串整数保存到数组中,调用函数antitone()将数组反序输出。自定义函数void antitone(int a[],int n)实现将数组中的n个数据按逆序存放。
void antitone(int a[],int n)
{
int i,j;
int k;
i=0;
j=n-1;
答案:
(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(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。
#include <>
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c = a + b;
printf("%d\n",c);
printf("%x\n",c);
return 0;
}
2(2)编写程序:从键盘输入两个实数a和x,按公式计算并输出y的值:
{
printf("Name: ");
gets(stu[i].name);
printf("math score: ");
scanf("%f",&score);
stu[i].math = score;
printf("englis score: ");
scanf("%f",&score);
stu[i].englis = score;
#include<>
#include<>
int main()
{
int i,j,sum;
sum = 0;
for (i=1;i<=100;i++)
sum += i;
printf("the sum is:%d\n",sum);
sum =0;
for(i=1;i<=100;i++)
{
j=pow(i,2);
sum +=j;
(请写出上机内容2的算法描述)
求素数的方法就是:给定一个大于3的数x,从2到X的平方根遍历,只要有数可以被x整除,就不是素数
五、程序清单
1.编写自定义函数long power(int m,int n),计算 的值。利用此函数编程序实现:从键盘输入两个整数m和n,计算出 的值。
#include<>
long power(int m,int n)编写自定义函数count(int x),计算x的因子个数。利用此函数找出并输出1~1000中有奇数个不同因子的整数。
while(i<j)
{
k=a[i];
a[i]=a[j];
a[j]=k;
i +=1;
j -=1;
}
}
2.已知某数列的前两项为2和3,其后每一项为其前两项之积。编程实现:从键盘输入一个整数x,判断并输出x最接近数列的第几项
#include<>
#include<>
void Mad(int a[],int n)
C语言实验报告参考答案
实验一 熟悉C语言程序开发环境及数据描述
四、程序清单
1.编写程序实现在屏幕上显示以下结果:
The dress is long
The shoes are big
The trousers are black
答案:
#include<>
main()
{
printf("The dress is long\n");
输出:26
1a
2(2)输入:1 0
输出:
实验三 选择结构程序设计
四、设计流程(算法描述)
(请写出上机内容2(3)题的算法描述)
主要是两两比较,然后得出最大的数
五、程序清单
(1)输入一个整数,若大于等于0,输出提示信息“is positive”,否则输出“is negative”。
#include<>
}
(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。(提示:用条件运算符)
2、(1)编译、连接无错,运行后屏幕上显示以下结果:
a/b的商=7
a/c的商=3
a/b的余数=10
a/c的余数=15
(2)编译、连接无错,运行后屏幕上显示以下结果:
(a+b)/(b-c)*(c-d)=
3.编译、连接无错,运行后屏幕上显示以下结果:
c =-10
实验二 顺序结构程序设计
四、程序清单
1
问题1D。
i++;
}
printf("sin(%.2f)=%.6f\n",x,sinx);
}
六、调试和测试结果
1:结果:the sum is:5050
the square sum is:338350
2:结果:6 28 496
3、输入0,输出sin=
输入,输出sin=
输入,输出sin=
实验五 函数和编译预处理
四、设计流程(算法描述)
#include<>
main()
{
int a,b,c;
scanf("%d%d",&a,&b);
if(a>=b)
printf("c=%d\n",a*b);
else
printf("c=%d\n",a/b);
return 0;
}
(3)输入a、b、c三个整数,输出最大数。
#include<>
main()
{
int a,b,c,x;
#include<>
#include<>
int main()
{
float a,x,y;
scanf("%f%f",&a,&x);
y = pow(a,5) + sin(a*x) + exp(a*x) + log(a+x);
printf("y=%f\n",y);
return 0;
}
五、调试和测试结果
2(1) 输入: 12 14
{
int i;
a[0]=2;
a[1]=3;
for(i=2;i<n;i++)
{
a[i] = a[i-1] * a[i-2];
}
}
int main(void)
{
int a[100],x,k1,k2;
int i;
Mad(a,100);程实现:输入10个学生5门课的成绩并完成如下功能
(1)求每个学生的平均分;
输入:1 2 3 输出:the max number is:3
实验四 循环结构程序设计
四、设计流程(算法描述)
(请写出上机内容2的算法描述)
首先求出每一个给定数的所有因子和,然后从2到5000循环,那一个数x与因子之和相等,就是完数。
五、程序清单
1.编写程序:求1+2+3+…+100和12+22+33+…+1002。
改成: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);
printf("\'%c\',\'%c\',%d\n",a,b,c);
scanf("%f",&score);
stu[i].history = score;
gets(s);ame);才能起到作用
}
ath;
sum +=stu[i].englis;
sum +=stu[i]puter;
sum +=stu[i].Chinese;
sum +=stu[i].history;
average = sum/5;
#include<>
main()
{
int a;
scanf("%d",&a);
if(a>=0)
printf("the number is positve\n");
else
printf("the number is negetive\n");
return 0;
}
(2)输入两个整数a和b,若a>=b时,求其积c并显示;若a<b时,求其商c并显示。
(2)求每门课程的平均分。
#include<>
#include<>
#define num 10
typedef struct student
{
char name[20];
float math;
float englis;
float computer;
float Chinese;
float history;
}STUDENT;
int main(void)
{
STUDENT stu[num];
int i;
float score,sum,average;
char s[10];
float scoreMath,scoreEng,scoreCom,scoreChi,scoreHis;
for(i=0;i<num;i++)
输出:the number is positve
输入: -2
输出:the number is negetive
2(2)输入: 3 2 输出:c=6
输入: 2 3 输出:c=0
2(3)输入:3 2 1 输出:the max number is:3
输入:2 3 1 输出:the max number is:3
#include<>
#include<>
int count(int x)
{
int sum,i;
sum =0;入:2 3
输出:s=8
2.输出:共有668个素数
2.
3、输出结果为:
实验六 数组
四、设计流程(算法描述)
(请写出上机内容1的算法描述)
设置两个变量分别指示头和尾。第一个和最后一个元素值互换,然后头和尾变量向里移动,最终到两变量相遇为止。
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)的程序。
printf("%s's average score is:%f\n",stu[i].name,average);
}
ath;
scoreEng += stu[i].englis;
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
x=a;
else
x=b;
if (x<c)
x=c;
printf("the max number is:%d\n",x);
return 0;
}
六、调试和测试结果
2(1) 输入: 2
输出:the number is positve
输入: 0
答案:
#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改printf("%c,%c,%d\n",a,b,c);这条语句
改成:printf("%c%c%d\n",a,b,c);
问题3改scanf("%c%c%d",&a,&b,&c);这条语句
改为:scanf("%c,%c,%d",&a,&b,&c);
问题4改printf("%c,%c,%d\n",a,b,c);这条语句
其实 所以程序
#include <>
#include <>
main()
{
float x,sinx,i,t;
printf("请输入一个x值(弧度值):");
scanf("%f",&x);
sinx=0; t=x;i=1;
while(fabs(t)>=1e-6)
{ sinx=sinx+t;
t=t*(-x*x/(2*i*(2*i+1)));
printf("the square sum is:%d\n",sum);
return 0;
}
2.一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写程序找出2~5000中的所有完数。
#include<>
#include<>
main()
{
int i,j,sum=0;
for(i=2;i<=5000;i++) 写程序:计算sinx的近似值,精确到10-6。
printf("computer sc百度文库re: ");
scanf("%f",&score);
stu[i]puter = score;
printf("Chinese score: ");
scanf("%f",&score);
stu[i].Chinese = score;
printf("history score: ");
五、程序清单
1.编写程序:从键盘输入一串整数保存到数组中,调用函数antitone()将数组反序输出。自定义函数void antitone(int a[],int n)实现将数组中的n个数据按逆序存放。
void antitone(int a[],int n)
{
int i,j;
int k;
i=0;
j=n-1;
答案:
(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(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。
#include <>
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c = a + b;
printf("%d\n",c);
printf("%x\n",c);
return 0;
}
2(2)编写程序:从键盘输入两个实数a和x,按公式计算并输出y的值:
{
printf("Name: ");
gets(stu[i].name);
printf("math score: ");
scanf("%f",&score);
stu[i].math = score;
printf("englis score: ");
scanf("%f",&score);
stu[i].englis = score;
#include<>
#include<>
int main()
{
int i,j,sum;
sum = 0;
for (i=1;i<=100;i++)
sum += i;
printf("the sum is:%d\n",sum);
sum =0;
for(i=1;i<=100;i++)
{
j=pow(i,2);
sum +=j;
(请写出上机内容2的算法描述)
求素数的方法就是:给定一个大于3的数x,从2到X的平方根遍历,只要有数可以被x整除,就不是素数
五、程序清单
1.编写自定义函数long power(int m,int n),计算 的值。利用此函数编程序实现:从键盘输入两个整数m和n,计算出 的值。
#include<>
long power(int m,int n)编写自定义函数count(int x),计算x的因子个数。利用此函数找出并输出1~1000中有奇数个不同因子的整数。
while(i<j)
{
k=a[i];
a[i]=a[j];
a[j]=k;
i +=1;
j -=1;
}
}
2.已知某数列的前两项为2和3,其后每一项为其前两项之积。编程实现:从键盘输入一个整数x,判断并输出x最接近数列的第几项
#include<>
#include<>
void Mad(int a[],int n)
C语言实验报告参考答案
实验一 熟悉C语言程序开发环境及数据描述
四、程序清单
1.编写程序实现在屏幕上显示以下结果:
The dress is long
The shoes are big
The trousers are black
答案:
#include<>
main()
{
printf("The dress is long\n");
输出:26
1a
2(2)输入:1 0
输出:
实验三 选择结构程序设计
四、设计流程(算法描述)
(请写出上机内容2(3)题的算法描述)
主要是两两比较,然后得出最大的数
五、程序清单
(1)输入一个整数,若大于等于0,输出提示信息“is positive”,否则输出“is negative”。
#include<>
}
(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。(提示:用条件运算符)
2、(1)编译、连接无错,运行后屏幕上显示以下结果:
a/b的商=7
a/c的商=3
a/b的余数=10
a/c的余数=15
(2)编译、连接无错,运行后屏幕上显示以下结果:
(a+b)/(b-c)*(c-d)=
3.编译、连接无错,运行后屏幕上显示以下结果:
c =-10
实验二 顺序结构程序设计
四、程序清单
1
问题1D。
i++;
}
printf("sin(%.2f)=%.6f\n",x,sinx);
}
六、调试和测试结果
1:结果:the sum is:5050
the square sum is:338350
2:结果:6 28 496
3、输入0,输出sin=
输入,输出sin=
输入,输出sin=
实验五 函数和编译预处理
四、设计流程(算法描述)
#include<>
main()
{
int a,b,c;
scanf("%d%d",&a,&b);
if(a>=b)
printf("c=%d\n",a*b);
else
printf("c=%d\n",a/b);
return 0;
}
(3)输入a、b、c三个整数,输出最大数。
#include<>
main()
{
int a,b,c,x;
#include<>
#include<>
int main()
{
float a,x,y;
scanf("%f%f",&a,&x);
y = pow(a,5) + sin(a*x) + exp(a*x) + log(a+x);
printf("y=%f\n",y);
return 0;
}
五、调试和测试结果
2(1) 输入: 12 14
{
int i;
a[0]=2;
a[1]=3;
for(i=2;i<n;i++)
{
a[i] = a[i-1] * a[i-2];
}
}
int main(void)
{
int a[100],x,k1,k2;
int i;
Mad(a,100);程实现:输入10个学生5门课的成绩并完成如下功能
(1)求每个学生的平均分;
输入:1 2 3 输出:the max number is:3
实验四 循环结构程序设计
四、设计流程(算法描述)
(请写出上机内容2的算法描述)
首先求出每一个给定数的所有因子和,然后从2到5000循环,那一个数x与因子之和相等,就是完数。
五、程序清单
1.编写程序:求1+2+3+…+100和12+22+33+…+1002。
改成: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);
printf("\'%c\',\'%c\',%d\n",a,b,c);
scanf("%f",&score);
stu[i].history = score;
gets(s);ame);才能起到作用
}
ath;
sum +=stu[i].englis;
sum +=stu[i]puter;
sum +=stu[i].Chinese;
sum +=stu[i].history;
average = sum/5;
#include<>
main()
{
int a;
scanf("%d",&a);
if(a>=0)
printf("the number is positve\n");
else
printf("the number is negetive\n");
return 0;
}
(2)输入两个整数a和b,若a>=b时,求其积c并显示;若a<b时,求其商c并显示。
(2)求每门课程的平均分。
#include<>
#include<>
#define num 10
typedef struct student
{
char name[20];
float math;
float englis;
float computer;
float Chinese;
float history;
}STUDENT;
int main(void)
{
STUDENT stu[num];
int i;
float score,sum,average;
char s[10];
float scoreMath,scoreEng,scoreCom,scoreChi,scoreHis;
for(i=0;i<num;i++)
输出:the number is positve
输入: -2
输出:the number is negetive
2(2)输入: 3 2 输出:c=6
输入: 2 3 输出:c=0
2(3)输入:3 2 1 输出:the max number is:3
输入:2 3 1 输出:the max number is:3
#include<>
#include<>
int count(int x)
{
int sum,i;
sum =0;入:2 3
输出:s=8
2.输出:共有668个素数
2.
3、输出结果为:
实验六 数组
四、设计流程(算法描述)
(请写出上机内容1的算法描述)
设置两个变量分别指示头和尾。第一个和最后一个元素值互换,然后头和尾变量向里移动,最终到两变量相遇为止。
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)的程序。
printf("%s's average score is:%f\n",stu[i].name,average);
}
ath;
scoreEng += stu[i].englis;
scanf("%d%d%d",&a,&b,&c);
if(a>=b)
x=a;
else
x=b;
if (x<c)
x=c;
printf("the max number is:%d\n",x);
return 0;
}
六、调试和测试结果
2(1) 输入: 2
输出:the number is positve
输入: 0
答案:
#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改printf("%c,%c,%d\n",a,b,c);这条语句
改成:printf("%c%c%d\n",a,b,c);
问题3改scanf("%c%c%d",&a,&b,&c);这条语句
改为:scanf("%c,%c,%d",&a,&b,&c);
问题4改printf("%c,%c,%d\n",a,b,c);这条语句
其实 所以程序
#include <>
#include <>
main()
{
float x,sinx,i,t;
printf("请输入一个x值(弧度值):");
scanf("%f",&x);
sinx=0; t=x;i=1;
while(fabs(t)>=1e-6)
{ sinx=sinx+t;
t=t*(-x*x/(2*i*(2*i+1)));