文档库 最新最全的文档下载
当前位置:文档库 › C语言实验答案

C语言实验答案

C语言实验答案
C语言实验答案

上机实验参考答案

实验1

#include "stdio.h"

#include"math.h"

int main()

{ int i;

double a, b;

for(i=0;i<=100000;++i)

{a=sqrt(i+100);

b=sqrt(i+168);

if((int)a==ceil(a)&&(int)b==ceil(b))

printf("%d\n",i);}

}

实验2 基本数据类型、运算和表达式

一、实验目的

1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。2)掌握不同的类型数据之间赋值的规。

3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加++ )和自减--)运

算符的使用。

4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。

二、实验内容

1. 变量的定义

[题目1117:变量定义,按要求完成程序]

下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。

void main()

{

int a, b; /*定义整型变量a 和b*/

int i, j; /*定义实型变量i 和j */

a=5;

b=6;

i=3.14;j=i*a*b;

printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j);

}

[具体操作步骤]

1)将代码补充完整;

2)在TC 或VC++上运行通过;

3)在JudgeOnline 实验系统上提交;

2. 赋值表达式与赋值语句

[题目1118:赋值表达式与赋值语句,写出程序运行结果]

阅读下面程序,写出运行结果:

void main()

{ float a;

int b, c;

char d, e;

a=3.5;

b=a;

c=330;

d=c;

e='\\';

printf("%f,%d,%d,%c,%c", a,b,c,d,e);

}

运行结果为:

3.500000,3,330,J,\

[提示]赋值语句具有类型转换的功能,但可能会改变数据。

3. 基本运算

[题目1119:基本运算,写出程序运行结果]

阅读下面程序,写出运行结果:

void main()

{ int a, b, c;

float d=15, e, f;

a=35%7;

b=15/10;

c=b++;

e=15/10;

f=d/10;

printf("%d,%d,%d,%f,%f,%f", a,b,c,d,e,f);

}

运行结果为:

0,2,1,15.000000,1.000000,1.500000

[提示]除法分整除与普通除法之分。

实验3 基本输入与输出

一、实验目的

1)熟练掌握putchar、getchar、printf、scanf 函数的使用方法。

2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。

二、实验内容

[题目1126:字符的输入与输出]

编程实现由键盘输入一个字符后,在屏幕上输出该字符。

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

a↙+↙

[正确输出] [正确输出]

a +

参考程序:

#include "stdio.h"

main()

{ char ch;

ch = getchar();

putchar(ch);

}

[题目1127:计算加法]

编程实现由键盘输入一个加法式,输出正确的结果。两个加数均为整数)[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

10+20↙-15+60↙

[正确输出] [正确输出]

30 45

参考程序:

#include "stdio.h"

main()

{ int a, b;

scanf("%d%*c%d", &a,&b);

printf("%d", a+b);

}

[题目1014:求圆面积]

由键盘输入圆半径r,请计算该圆的面积。注:取3.14159,结果保留两位小数位;另外,程序只

要能对r 在0 到10000 范围的情况输出正确答案即可)

[第一组自测数据] [键盘输入]

65.2↙[键盘输入]

[正确输出] 11.2↙

13355.02 [正确输出]

[第二组自测数据] 394.08

[提示]结果保留两位小数可采用printf 函数的格式控制字符来实现。

参考程序:

#include "stdio.h"

main()

{ float area,r;

scanf("%f",&r);

area=3.14159*r*r;

printf("%0.2f",area);

}

[题目1015:计算摄氏温度值]

从键盘输入一个华氏温度值,要求按格式输出其对应的摄氏温度值,精确到小数点后两位。

数学公式描述为:

5

C = (F - 32)

9

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

100↙100↙

[正确输出] [正确输出]

37.78 37.78

[提示]注意公式中的除为普通除法。

参考程序:

#include

void main()

{ float f,c;

scanf("%f",&f);

c=5.0/9*(f-32);

printf("%.2f",c);

}

实验4 选择结构程序设计

一、实验目的

1)了解C 语言表示逻辑的方法以0 代表“假”,以非0 代表“真”)。

2)学会正确使用逻辑运算符和逻辑表达式。

3)熟练掌握if 语句和switch 语句。

4 )结合程序掌握一些简单的算法。

二、实验内容

[题目1120:判断点是否在圆]

由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出

N 。使用小数点后3 位精度进行判断。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

0.707,0.707↙0.5,0.5↙

[正确输出] [正确输出]

Y N

[提示] 1)平面上的点与圆的关系分为在圆内、在圆上、在圆外三种,本题要求判断是否在圆上;2)

判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度(本题为0.001)的方法实现。

参考程序:

#include "stdio.h"

#include "math.h"

void main()

{ float a,b;

scanf("%f,%f",&a,&b);

if(fabs(a*a+b*b-1)<1e-3)

printf("Y\n");

else printf("N\n");}

}

[题目1017:求数的位数]

由键盘输入一个不多于9 位的正整数,要求输出它是几位数。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

349213↙10000↙

[正确输出] [正确输出]

6 5

[提示]划定一位数、二位数、…、九位数的范围,后用if …else if …else 语句实现判断。

参考程序:

main()

{ int n,place;

scanf("%ld",&n);

if(n>99999999) place=9;

else if(n>9999999) place=8;

else if(n>999999) place=7;

else if(n>99999) place=6;

else if(n>9999) place=5;

else if(n>999) place=4;

else if(n>99) place=3;

else if(n>9) place=2;

else place=1;

printf("%ld\n",place);

}

[题目1018:数的排序]

由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

65,45,90↙9,6,3↙

[正确输出] [正确输出]

45,65,90 3,6,9

参考程序:

#include

main()

{ int a,b,c,t;

scanf("%d,%d,%d",&a,&b,&c);

if(a>b) {t=a;a=b;b=t;}

if(a>c) {t=a;a=c;c=t;}

if(b>c) {t=b;b=c;c=t;}

printf("%d,%d,%d",a,b,c);

}

[题目1016:字符变换]

由键盘输入5 个字符,将其中的大写字母变成小写,其它类型的字符不变,并按输入顺序逐个输出。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

ApPLe↙a+B=5 ↙

[正确输出] [正确输出]

apple a+b=5

[提示]下面代码实现由键盘读入一个字符,并按题意处理后输出

char a;

a=getchar();

if(a>='A' && a<='Z') a=a+32;

putchar(a);

现在,题目要求处理5 个字符,怎么做呢?请自己思考……

参考程序:

#include

main()

{ char a,b,c,d,e;

scanf("%c%c%c%c%c",&a,&b,&c,&d,&e);

if(a<='Z'&&a>='A') a=a+32;

if(b<='Z'&&b>='A') b=b+32;

if(c<='Z'&&c>='A') c=c+32;

if(d<='Z'&&d>='A') d=d+32;

if(e<='Z'&&e>='A') e=e+32;

printf("%c%c%c%c%c",a,b,c,d,e);

}

[题目1019:数的整除]

由键盘输入5 个整数,逐个判断它们能否被27 整除,能的输出“YES”,不能的输出“NO”注意,

输出时,一个判断结果占一行,5 个数的判断共占5 行)。

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

8 27 17577 325 54↙8 27 17577 325 54↙

[正确输出] [正确输出]

NO NO

YES YES

YES YES

NO NO

YES YES

[提示]整除即除得余数为0

参考程序:

#include "stdio.h"

main()

{ int a,b,c,d,e;

scanf("%d %d %d %d %d",&a,&b,&c,&d,&e);

if(a%27==0) printf("YES\n");else printf("NO\n");

if(b%27==0) printf("YES\n");else printf("NO\n");

if(c%27==0) printf("YES\n");else printf("NO\n");

if(d%27==0) printf("YES\n");else printf("NO\n");

if(e%27==0) printf("YES\n");else printf("NO\n");

}

[题目1020:正负奇偶判断]

由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇

偶性,奇数输出odd,偶数输出even。

[第一组自测数据] negative

[键盘输入] odd

-43 ↙[第二组自测数据]

[正确输出] [键盘输入]

98↙positive

[正确输出] even

参考程序:

#include "stdio.h"

main()

{ int n;

scanf("%d",&n);

if(n<0)printf("negative\n");

else printf("positive\n");

if(n%2==0)printf("even\n");

else printf("odd\n");

}

[题目1023:简单计算器]

下面程序是实现一个简单的运算器保留两位小数点),如果由键盘输入10+50,计算机可以输出结

果60.00;如果输入8*6,计算机输出48.00;如果输入20/4,计算机输出5.00;如果输入8-6,计算机

输出2.00,请在空处填上适当的代码,运行通过后并提交。

#include "stdio.h"

void main()

{ float a,b,c;

char op;

scanf("%f%c%f", );

switch (op)

{ case '+': ;

case '-': _;

case '*': _;

case '/': __ ;

default: printf("error");

return ;

}

printf("result= ", c);

}

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入] 45*2↙50.1-23↙

[正确输出] [正确输出]

90 27.10

参考程序:

#include

int main()

{ float a,b,c;

char op;

scanf("%f%c%f",&a,&op,&b);

switch(op)

{ case '+':c=a+b;break;

case '-':c=a-b;break;

case '*':c=a*b;break;

case '/':c=a/b;break;

default:printf("error");

break;

}

printf("result=%.2f",c);

} 、

实验5 循环结构程序设计(一)

一、实验目的

1)熟悉掌握用while 语句、do-while 语句和for 语句实现循环的方法。

2)掌握在程序设计中用循环实现一些常用算法(如穷举、迭代、递推等)。

二、实验内容

[题目1024:计算阶乘]

输入正整数n,计算n!,结果用长整型数表示注n!=1*2*3*...*n)

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

5↙8↙

[正确输出] [正确输出]

120 40320

参考程序:

#include

main()

{ long i,n=1,a;

scanf("%ld",&a);

for(i=1;i<=a;i++) n=n*i;

printf("%ld\n",n);

}

[题目1025:计算数列和]

有数列1,3,5,7,9,11,……

现要求由键盘输入n,计算输出该数列的前n 项和。

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

2↙5↙

[正确输出] [正确输出]

4 25

参考程序:

#include

main()

{ long n,sum=0,i,t=1;

scanf("%ld",&n);

for(i=1;i<=n;i++)

{ sum=sum+t;

t=t+2;

}

printf("%ld\n",sum);

}

#include

main()

{ long n,sum;

scanf("%ld",&n);

sum=n*n;

printf("%ld",sum);

}

注:评判系统不对程序实现细节进行分析,只对运行结果进行评测。

[题目1026:加一行字符中的数字]

由键盘输入一行字符总字符个数从1 个至80 个均有可能,以回车符表示结束),将其中每个数字

字符所代表的数值累加起来,输出结果。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

abc123↙A6H7T+65↙

[正确输出] [正确输出]

6 24

[提示] 1)可以使用下面程序段逐个读入键盘输入的一行字符

char ch;

while((ch=getchar())!='\n')

{……}

2)数字字符转为对应的数值可用a=ch-'0'

参考程序:

#include

main()

{ char c;

int s=0,a;

while((c=getchar())!='\n')

{ if(c>='0'&&c<='9')

{ a=c-48;

s=s+a;

}

}

printf("%d",s);

}

[题目1029:求最大公约数]

由键盘输入两个正整数m、n m、n 用长整数表示),计算它们的最大公约数。

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

16,24↙17,25↙

[正确输出] [正确输出]

8 1

[提示]公约数是既能整除m 又能整除n 的数,题目要求满足这一条件的最大的一个。

参考程序:

#include

main()

{ long r,m,n,temp;

scanf("%ld,%ld",&m,&n);

while(m!=0)

{ r=n%m;

n=m;

m=r;

}

printf("%ld\n",n);

}

#include

main()

{ long m,n,t,i,s;

scanf("%ld,%ld",&m,&n);

t=m>n?n:m;

for (i=t-1;i>=1;i--)

{ if (m%i==0&&n%i==0)

{ s=i; break; }

}

printf("%d",s);

}

[题目1030:字符变换]

由键盘输入一个句子总字符个数从1 个至80 个均有可能,以回车符表示结束),将其中的大写字

符变成小写其它类型的字符不变),最后输出变换后的句子。

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

How Are You? ↙ThiS IS My fIrSt C ProgrAm!↙

[正确输出] [正确输出]

how are you? this is my first c program!

参考程序:

#include

main()

{ char c;

while((c=getchar())!='\n')

{ if(c>='A'&&c<='Z')

c=c+32;

putchar(c);

}

}

[题目1037:计算数列和]

有数列:

编程实现,由键盘输入n,计算输出数列前n 项和。(结果保留四位小数)

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

20↙30↙

[正确输出] [正确输出]

32.6603 88.0403

参考程序:

#include

main()

{ int i,t,n;

float a=2,b=1,s=0;

scanf("%d",&n);

for(i=1;i<=n;i++)

{ s=s+a/b;

t=a;a=a+b;b=t;

}

printf("%.4f\n",s);

}

[题目1044:输出最小值]

从键盘输入十个整数,输出最小值

[ 自测数据]

[键盘输入]

12 45 76 87 5 87 43 55 99 21↙

[正确输出]

5

参考程序:

#include "stdio.h"

main()

{ int i,t,min;

scanf("%d", &min);

for(i=1;i<10;i++)

{

scanf("%d", &t);

if(t

}

printf("%d\n",min);

}

*[题目1031:统计单词个数]

由键盘输入一个句子总字符个数从1 个至80 个均有可能,以回车符表示结束),以空格分割单词,

要求输出单词的个数。

[第一组自测数据] [第二组自测数据] [键盘输入] [键盘输入]

How Are You? ↙There are many students and many

[正确输出] trees!↙

3 [正确输出]

7

参考程序:

#include

main()

{ int i,num=0,word=0;

char c;

for(i=0;(c=getchar())!='\n';i++)

if(c==' ')word=0;

else if(word==0)

{ word=1;

num++;

}

printf("%d",num);

}

*[题目1042:百万富翁]

一个百万富翁遇到一个陌生人,陌生人找他谈了一个换钱的计划。该计划如下:我每天给你m 元,

而你第一天只需给我一分钱。第二天我仍给你m 元,你给我2 分钱。第三天,我仍给你m 元,你给我4

分钱。依次类推,你每天给我的钱是前一天的两倍,直到一个月(38)天。百万富翁很高兴,欣接受这

个契约。现要求,编写一个程序,由键盘输入m,计算多少天后,百万富翁开始亏钱。

[第一组自测数据] 18

[键盘输入] [第二组自测数据]

100↙[键盘输入]

[正确输出] 10000↙

[正确输出] 25 参考程序:

#include

#include

main()

{ int n,m,i;

scanf ("%d",&m);

for (i=1;i<=38;i++)

if (0.01*(pow(2,i-1)-1)-i*m>=0) break;

printf("%d",i-1);

}

实验6 循环结构程序设计(二)

一、实验目的

1)进一步熟悉掌握用while 语句、do-while 语句和for 语句实现循环的方法。

2)掌握在程序设计中使用多重循环。

二、实验内容

[题目1028:求素数]

输出2 到200 之间包括2、200)的所有素数注:要求1 行1 个素数,按由小到大的顺序输出)。

[提示]采用双重循环,外层循环产生2 到200 之间的数,内层循环对数进行判断是否为素数。

参考程序:

# include

# include

main()

{ int m,k,i;

for(m=2;m<=200;m++)

{ k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==0) break;

if(i>k) printf("%d\n",m);

}

}

[题目1035:打印菱形]

由键盘输入正数n,要求输出2*n+1 行的菱形图案。要求菱形左边紧靠屏幕左边。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

3↙2↙

[正确输出] [正确输出]

* *

*** ***

***** *****

******* ***

***** *

***

*

参考程序:

#include "stdio.h"

#include "math.h"

main()

{ int n,i,j,k;

scanf("%d",&n);

for(i=1;i<=2*n+1;i++)

{ k=abs(n+1-i);

for(j=1;j<=k;j++) printf(" ");

for(j=1;j<=2*n+1-2*k;j++) printf("*");

printf("\n");

}

}

[题目1038:打印图案]

由键盘输入正数n,要求输出中间数字为n 的菱形图案。要求菱形左边紧靠屏幕左边。

[第一组自测数据] [第二组自测数据]

[键盘输入] [键盘输入]

4 ↙ 3

[正确输出] [正确输出]

1 1

121 121

12321 12321

1234321 121

12321 1

121

1

参考程序:

# include

# include

main()

{ int n,i,j,k,h;

scanf("%d",&n);

for(i=-n+1;i<=n-1;i++)

{ for(j=0;j

printf(" ");

for(k=1;k<=n-abs(i);k++) printf("%d",k);

for(h=n-abs(i)-1;h>=1;h--) printf("%d",h);

printf("\n");

}

}

实验7 数组

一、实验目的

1)掌握一维数组和二维数组的定义、赋值和输入输出方法。

2)掌握与数组有关的算法。

二、实验内容

[题目1039:倒序]

由键盘输入10 个整数,倒序输出。数字间由一个空格分隔)

[ 自测数据]

[键盘输入]

70 5 14 20 19 2 99 67 13 66↙

[正确输出]

66 13 67 99 2 19 20 14 5 70

参考程序:

#include

main()

{ int a[10];

int i;

for(i=0;i<10;i++) scanf("%d",&a[i]);

for(i=9;i>=0;i--) printf("%d\n",a[i]);

}

[题目1040:统计不同数字个数]

由键盘输入20 个整数,统计不同数字的个数。

[ 自测数据]

[键盘输入]

70 5 14 22 19 2 99 67 13 66 5 93 44 38 22 11 39 22 33 11↙

[正确输出]

16

[提示]上述答案中,因为5 有1 个重复数字,11 有1 个重复数字,22 有2 个重复数字,故不同数字有16

个,分别是70 5 14 22 19 2 99 67 13 66 93 44 38 11 39 33 参考程序:

#include"stdio.h"

main()

{ int a[20];

int i,t,p=0;

for(i=0;i<20;i++)

{ scanf("%d",&a[i]);

for(t=0;t

if(a[t]==a[i])break;

if(t==i)

p++;

}

printf("%d",p);

}

[题目1062:打印矩阵]

由键盘输入一个3×4 的矩阵,要求输出它的转置矩阵。

[ 自测数据]

[键盘输入] [正确输出]

1 6 9 3 1 1 1

1 1 0

2 6 1 9

1 9 8 9 9 0 8

3 2 9

参考程序:

#include

main()

{ int a[3][4],b[4][3],i,j;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

{ scanf("%d",&a[i][j]);

b[j][i]=a[i][j];

}

for(i=0;i<4;i++)

{ for(j=0;j<3;j++)

printf("%d ",b[i][j]);

printf("\n");

}

}

*[题目1047:冒泡排序]

由键盘输入10 个数,用“冒泡法”对10 个数从小到大排序,并按格式要求输出。代码如下,请填充完

整。数字间由一个空格分隔。

#incude "stdio.h"

main()

{ int a[10], i,j, t;

for(i=0;i<10;i++)

scanf("%d",___________) ;

for( ___________)

{ for(j=0;j<____;j++)

if (___________)

{___________}

}

for(i=0;i<10;i++)

printf("%d ",a[i]);

}

[ 自测数据]

[键盘输入]

70 5 14 20 19 2 99 67 13 66↙

[正确输出]

2 5 1

3 1

4 19 20 66 67 70 99

参考程序:

#include

main()

{ int a[10];

int i,j,t;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<9;i++)

{ for(j=0;j<9-i;j++)

if(a[j]>a[j+1])

{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }

}

for(i=0;i<10;i++)

printf("%d ",a[i]);

}

*[题目1046:计算高精度加法]

由键盘输入两个位数很长的整数(一行一个数,每个数最长不超过80 位),试计算并输出这两个数

的和。

[ 自测数据]

[键盘输入]

1234567890123456789↙

987654321098765↙

[正确输出]

1235555544444555554

参考程序:

#include "stdio.h"

#include "string.h"

main()

{ int a[100]={0},b[100]={0},c[100]={0};

char s[101];

int i=0,n1=0,n2=0,max=0,e=0;

c语言实验答案

c语言实验答案

//1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include void main() { printf(" X | X | X\n"); //注意转义字符\n的用法 printf("---+---+---\n "); printf(" | |\n"); printf("---+---+---\n "); printf(" 0 | 0 | 0\n"); } //1.2输出"Hello world!"语句 #include void main() { printf("Hello world!\n"); } //2.1编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。 //注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身并不需要输入或输出。 //多使用几组整数尝试一下,你发现了什么?//The program gets two integers,and

computes their sum,difference,produc t and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include void main() { int a,b; printf("The program gets two integers,and computes their sum,difference,produc t and quotient.\n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=% d\n",a,b,a+b); printf("%d-%d=% d\n",a,b,a-b); printf("%d*%d=% d\n",a,b,a*b); printf("%d+%d=% f\n",a,b,1.0*a/b); //做除法时要注意,除得的

C语言程序设计实验手册

实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记, 上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。 实验结束后填写通过后的源程序和对实验的总结。 通过后的源程序可以手写也可以打印粘贴。 实验项目一览表

实验一熟悉C语言编程环境 实验目的: 1.熟悉C语言编程环境(VC++、Cfree、等) 2.了解C程序的基本框架 3.理解程序调试的思想,能找出并改正C程序中的错误 实验内容: 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序 编程示例 在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开) 编程 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ 调试示例 改正下列程序中的错误,在屏幕上显示“Welcome to You !”。(掌握找错、改错的方法) 源程序: # include <> int mian(void) { printf(Welcome to You! \n") getchar(); return 0; } 注:需要修改的语句直接在程序上标注并修改 实验总结:

实验二用C语言编写简单程序 实验目的: 1.掌握算术表达式和赋值表达式的使用 2.掌握基本输出函数的使用 3.能够自己编程实现简单的数据处理 4. 熟练掌握简单if语句使用 5. 熟练掌握for语句的使用 6. 掌握简单C程序的查错方法、单步调试 实验内容: 调试以下程序,求华氏温度对应的摄氏温度。计算公式为:C=5*(f-32)/9 #include <> int main(void) { int celsius; fahr; scanf("%d ",fahr); celsius = 5 * (fahr - 32) / 9; printf("fahr = d, celsius = %d\n", fahr, celsius); return 0; } 注:需要修改的语句直接在程序上标注并修改 编写程序计算定期存款本利之和: 设银行定期存款的年利率rate为%,并已知存款期为n年,存款本金为capital 元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入,输出时保留两位小数。计算公式为:deposit=capital(1+rate)n

C语言实验报告参考答案

《C语言程序设计》 实 验 手 册

《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。

三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

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

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); 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)的程序。 答案: (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) #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。(提示:用条件运算符) 答案: #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、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

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

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;

:C语言实验报告册-2016.3资料

学生实验报告册 (理工类) 课程名称:C语言程序设计实验专业班级: 16数字媒体技术学生学号: 1613031008 学生姓名:李翔 所属院部:计算机工程学院指导教师:吕艳林 20 16 ——20 17 学年第一学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:初级程序设计实验学时: 6 实验地点: A107 实验日期: 2016年10月13,20,27 实验成绩: 批改教师:批改时间:

实验1 初级程序设计 一、实验目的和要求 (1)熟悉Visual C++集成环境,进行编辑、保存、编译、连接及运行,并能进行简单程序调试; (2)掌握C语言中各种运算符的使用; (3)掌握C语言中各种数据类型的区别与应用; (4)熟练掌握C语言中变量的定义、赋值和使用,表达式语句、输入/输出语句的使用; (5)掌握C语言中输入/输出函数的使用; (6)掌握C语言中控制语句的使用,含if-else、for、while、do-while语句的使用。 二、实验仪器和设备 奔腾以上计算机,装有windows XP以上版本操作系统和Visual C++ 6.0软件。 三、实验内容与过程 1、程序调试 (1)#include main() { int s,t,p,sum; scanf(“%d%d%d”,&s,&t,&p); sum=s+t+p; printf(“sum=%d\n”,sum); } (2)#include main() { int k=3; if(k=3) printf(“***”); else printf(“###”); } (3)#include main() {int k=0; do { printf(“k=%d\n”,k); }while(k++>0); } 2、程序改错

C语言实验答案

一1 #include void main() { int iNum; float fNum=134.23; printf("a=%d\tf=%.2f\n",iNum,fNum); } 一2 #include void main() { int a,b,c,sum=0; scanf("a=%d,%d%d",&a,&b,&c); sum=a+b+c; printf("a=%d,b=%d,c=%d\n",a,b,c); printf("sum=%d\n",sum); } 一3

#include void main() { char a,b; scanf("%3c%4c",&a,&b); printf("c1=%c,c2=%c\n",a+1,b-1); } 一4 #include #include void main() { float a; printf("Enter a:"); scanf("%f",&a); printf("The original data is:%f\n\n",a); printf("h=%.2f\n",a); }

一5 #include void main() { int a,b,c,s,e; printf("Please input two numbers:\n"); scanf("%d%d",&a,&b); c=a+b; s=c*c; e=s+s; printf("%d,%d,%d\n",c,s,e); } 一6 #include void main() { float a,b; printf("input a:"); scanf("%f",&a); b=5*(a-32)/9; printf("%.0f(℉)=%.2f(℃)\n",a,b);

C语言程序设计实验-答案

-前言- /*非常感谢度娘以及各位网上C语言高手的支持,才能让敝人完成此文档的整理。 本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)。为回报度娘及众网友的帮助,本文档免费下载。 */ /*配“电子科技大学出版社(周信东主编)”的C语言程序设计实验*/ /*努力吧,骚年以及学妹们!*/ /*整理ed by 口玉刀一of GUET.*/ ===================== 实验一C语言程序初步 ===================== 1.---------------------------- 已知a=5,b=4,c=6,求出s并换行 #include"stdio.h" main() { int a,b,c,s; a=5;b=4;c=6; s=(a+b+c)/3; printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); } 2.------------------------------- 输入一个数字求他的平方 #include main() { int r,s; scanf("%d",&r); s=r*r; printf("s=%d\n",s); } 3.-------------------------------- (1) #include main() { printf(" *\n"); printf("***\n"); printf(" *\n"); } (2) #include

{ int v; int a,b,c; //a,b,c aer sides,v is volume of cube a=3;b=3;c=5; v=a*b*c; printf("v=%d\n",v); } ================================= 实验二数据类型、运算符和表达式 ================================= 1. (1)-------------------------------------------------- //总觉得打印结果怪怪的,DO YOU THINK SO? main() { char s1='3',s2='4',s3='5'; int c1=101,c2=102; printf("3%c\t4%c\t5%c\n",s1,s2,s3); //3%c为输出3和%c printf("s1=%d\ts2=%d\ts3=%d\n",s1,s2,s3);//注意哦,s1,s2,s3是char!而%d:输入输出为整形%ld 长整型%hd 短整型%hu无符号整形%u %lu%s:输入输出为字符串%c字符%f:输入输出为浮点型%lf双精度浮点型printf("c1=%d\t~%c\n",c1,c1); //换码符'\t',表示水平制表位(horizeontal tab),它的作用是将光标移到最接近8的倍数的位置 printf("c2=%d\t~%c\n",c2,c2); //注意c1,c2的类型 } (2) //运行结果为8.300000 %是求余数先运算x-y,把结果转换为int型的有利于四则运算 main() { float x=8.3,y=4.2,s; int a=7; s=x+a%5*(int)(x-y)%2/3; printf("s=%f",s); }

《C语言程序设计》上机实验指导手册

C语言程序设计 上机实验指导手册 电子与信息工程学院 计算机科学系

第一部分上机实验的指导思想和要求 一、上机实验的目的 学习《C语言程序设计》课程不能满足于“懂得了”,满足于了解了语法和能看懂书上的程序,而应当掌握程序设计的全过程,即能独立编写出源程序,独立上机调试程序,独立运行程序和分析结果。 “程序设计”是一门实践性很强的课程,必须十分重视实践环节。许多实际的知识不是靠听课和看书学到手的,而是通过长时间的实践积累的。要提倡通过实践去掌握知识的方法。必须保证有足够的上机实验时间,学习本课程应该至少有30 小时的上机时间,最好能做到与授课时间之比为1:1 。除了学校规定的上机实验以外,应当提倡学生自己课余抽时间多上机实践。 上机实验的目的,绝不仅是为了验证教材和讲课的内容,或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的是: (1)加深对讲授内容的理解,尤其是一些语法规定,光靠课堂讲授,既枯燥无味又难以记住,但它们是很重要的,初学者的程序出错往往错在语法上。通过多次上机,就能自然地、熟练地掌握。通过上机来掌握语法规则是行之有效的方法。 (2)熟悉所用的计算机系统的操作方法,也就是了解和熟悉C语言程序开发的环境。一个程序必须在一定的外部环境下才能运行,所谓“环境”,就是指所用的计算机系统的硬件和软件条件,或者说是工作平台。使用者应该了解为了运行一个C程序需要哪些必要的外部条件(例如硬件配置、软件配置),可以利用哪些系统的功能来帮助自己开发程序。每一种计算机系统的功能和操作方法不完全相同,但只要熟练掌握一两种计算机系统的使用,再遇到其他系统时便会触类旁通,很快就能学会。 (3)学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。经验丰富的人,在编译连接过程中出现“出错信息”时,一般能很快地判断出错误所在,并改正之。而缺乏经验的人即使在明确的“出错提示”下也往往找不出错误而求助于别人。要真正掌握计算机应用技术,就不仅应当了解和熟悉有关理论和方法,还要求自己动手实现。对程序设计来说,则要求会编程序并上机调试通过。因此调试程序不仅是得到正确程序的一种手段,而且它本身就是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。调试程序固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来累积经验,而且有些经验是只能“会意”难以“言传”。别人的经验不能代替自己的经验。调试程序的能力是每个程序设计人员应当掌握的一项基本功。 因此,在做实验时千万不要在程序通过后就认为万事大吉、完成任务了,而应当在己通过的程序基础上作一些改动(例如修改一些参数、增加程序的一些功能、改变某些语句、改变输入数据的方法等),再进行编译、连接和运行。甚至于“自设障碍”,即把正确的程序改为有错的(例如语句漏写分号;用scanf函数输入变量时,漏写“&”符号;比较符“= =”错写为赋值号“=”;使数组下标出界;使整数溢出等),观察和分析所出现的情况。这样的学习才会有真正的收获,是灵活主动的学习而不是呆板被动的学习。 二、上机实验前的准备工作 在上机实验前应事先做好准备工作,以提高上机实验的效率,准备工作至少应包括: (1)了解所用的计算机系统(包括C编译系统和工作平台)的性能和使用方法; (2)复习和掌握与本实验有关的教学内容; (3)准备好上机所需的程序。由于计算机实验室给每个学生安排的时间是有限的,要珍惜时间,充分利用。应当在上机前按指定的题目编写好程序。手编程序应书写整齐,并经人工检查无误后才能上机,以提高上机效率。初学者切忌不编程序或抄别人程序去上机,应从一开始就养成严谨的科学作风; (4)对运行中可能出现的问题事先作出估计,对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意; (5)准备好调试和运行时所需的数据。 三、上机实验的步骤 上机实验时一人一组,独立上机,复杂分组进行,相互讨论完成任务。上机过程中出现的问题,除了是系统的问题以外,一般应自己独立处理,不要轻易举手问教师。尤其对“出错信息”,应善于自己分析判断。这是学习调试程序的良好机会。 上机实验一般应包括以下几个步骤: (1)进入C工作环境(Dev-C++ 5.8.3)。 (2)输入自己所编好的程序。 (3)检查一遍已输入的程序是否有错(包括输入时打错的和编程中的错误),如发现有错,及时改正。 (4)进行编译和连接。如果在编译和连接过程中发现错误,屏幕上会出现“出错信息”,根据提示找到出错位置和原因,加以改正。再进行编译……,如此反复直到顺利通过编译和连接为止。 (5)运行程序并分析运行结果是否合理和正确。在运行时要注意当输入不同数据时所得到的结果是否正确。 (6)输出程序清单和运行结果。 四、实验验收 (1)现场验收,学生讲解、提问、答辩的方式,通过三方面的表现给出实验成绩; (2)提交程序清单(电子版)。

C语言实验报告参考答案完整版

C语言实验报告参考答 案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #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); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #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 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。

C语言实验参考答案

C语言实验参考答案 实验一 5、输入并运行自已编写的程序(教材第一章P14 三编程题)。 实验二 1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。 #include 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

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 main() {int a; char c;

c语言上机实验完整答案

%c 字符形式输出, %d 整数形式输出, 实验一 自测练习1 程序代码 #include void main() { int x; scanf("%d",&x); //%d十进制整型,&指x在内 存中的地址。上面 scanf的作用是:按照 x在内存的地址将x 的值存进去, if (x%2 !=0) printf("%d is an odd\n",x); else printf("%d is an even\n",x); }

运行结果 自测练习2 程序代码 #include void main() { int i, sum; i=1 ; sum=0;

while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); } 运行结果 自测练习3 程序代码 #include void main( ) { int i, n; long p;

p=1; printf("Enter n:"); scanf("%d",&n); for (i=1; i<=n; i++) p=p*i; printf(" p=%ld\n", p); } 运行结果 自测练习4 程序代码 #include"stdio.h" int max(int x,int y) {int z; if (x>y) z=x;else z=y; return(z); } void main() {int a,b,c;

scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); } 运行结果 自测练习5 程序代码 #include"stdio.h" void main() {int x,y; for(x=0;x<=25;x++) for(y=0;y<=50;y++) if(4*x+y*2==100) printf("兔=%d,鸡=%\n",x,y); } 运行结果

C语言手册

这里不是教你什么知识,而是给你澄清一些资料,只给对编程一窍不通的或者刚入门的人看。如果你尚未学习或者才学习不够一天,一定要看这手册,这份手册已经讲述的知识,我们不会在版面给予回答此手册我会尽量保持准确,但如有不正确,请指正我也会不断更新此手册 ? 什么都不懂 Q:什么是C? A:一门面向过程的计算机语言,发明至今已经差不多有三十年历史,由于它相对其他高级语言高效,运行效率又比较接近低级语言,所以至今仍得到广泛的引用,无论你用windows还是linux,你现在看到东西的底层都是用C写的,而大部分的网络协议都是用C实现的,画面最漂亮的游戏用C实现的,工业控制程序也是用C实现的。C不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言 Q:什么是C++? A:一门面向对象的计算机语言,发明至今已经有二十多年了。由于面向对象编程对程序架构有较好的帮助,因为比较适合构建大型的系统(当然,学术界对此存在争论),但无论如何,C++由于和C一样接近底层,而且又面向对象,所以也得到广泛的使用。C++不是万能,也不是垃圾,只是一门某些方面适用,某些方面不适用的语言,不要向某一个笨蛋一样认为c + 类== c++ 。 Q:TC,VC,BC,BCB是什么?有什么区别?谁好? A:它们都是开发C/C++的开发环境,是软件。它们是不同时期由不同公司发行的软件Turbo C ,Borland公司在八十年代末期发行的C语言的开发环境Turbo C++,Borland公司在八十年代末九十年代初发行的C++语言的开发环境Visual C++,Microsoft公司在九十年代至今发行的C/C++开发环境Borland C++,Borland公司在九十年代中发行的C/C++开发环境Borlan C++ Builder,Borland公司在九十年代后期至今开发的C/C++开发环境,与其他开发环境不用的是它属于快速应用程序开发(RAD),可以让你不写代码就能建立程序,当然它的运行效率见仁见智没有什么是万能的,不同场合用不同的东西而且C/C++还有很多开发环境,譬如gcc,watcom C++,Dev C/C++

c语言实验答案

n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b); printf("%d*%d=%d\n",a,b,a*b); printf("%d+%d=%f\n",a,b,*a/b); .+1/n!的值。 #include<> void main() { int n,p=1,i; float sum=0; printf("please input n:"); scanf("%d",&n); for(i=1;i<=n;i++) { p=p*i; sum+=p; } printf("sum=%f\n",sum); } .14 p=j; switch(p) umber); for(j=0;j<3;j++) printf("%",stu[i].score[j]); printf(" ave=%.2f\n",average(stu[i]));umber); printf("score:"); for(j=0;j<3;j++) scanf("%f",&(stu[i].score[j])); } } void main() { struct student stu[3]; //定义结构体数组 input(stu); //数组名做参数,传递的是地址 output(stu); } //静态链表的建立,有三个学生,包括学号(sno char(8)),姓名(sname char(20)),分数(grade float[]), //定义结构体类型数组存学生信息,使用链表所有学生,实现链表的输入输出。 //静态的书上有原题目,我写成动态的了,用子函数的方式实现 #include <> #include<> #include <> struct stu //定义全局结构体 { char sno[8]; char sname[20]; float grade; struct stu *next; } ; //////////////////////////////////////////////////////// void main( ) { struct stu *creat(struct stu *); void print(struct stu*); struct stu *head; head=NULL; head=creat(head); print(head); } ///////////////////////////////////////////////////////// struct stu *creat(struct stu*head) //建立链表 { struct stu *p,*q; q=(struct stu*)malloc(sizeof(struct stu)); //分配空间 printf("please input sno:"); scanf("%s",q->sno); printf("please input sname:"); scanf("%s",q->sname);

c语言实验答案

//1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include void main() { printf(" X | X | X\n"); //注意转义字符\n的用法 printf("---+---+---\n"); printf(" | |\n"); printf("---+---+---\n"); printf(" 0 | 0 | 0\n"); } //1.2输出"Hello world!"语句 #include void main() { printf("Hello world!\n"); } //2.1编写一程序,接受用户输入的两个整数,并计算它们的和、差、积、商,程序运行结果应如下所示。 //注意,尖括号部分表示用户输入数据或要被替换的输出内容,尖括号本身并不需要输入或输出。 //多使用几组整数尝试一下,你发现了什么? //The program gets two integers,and computes their sum,difference,product and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include void main() { int a,b; printf("The program gets two integers,and computes their sum,difference,product and quotient.\n"); printf("The first number:"); scanf("%d",&a); printf("The second number"); scanf("%d",&b); printf("Results as follows:\n"); printf("%d+%d=%d\n",a,b,a+b); printf("%d-%d=%d\n",a,b,a-b); printf("%d*%d=%d\n",a,b,a*b); printf("%d+%d=%f\n",a,b,1.0*a/b); //做除法时要注意,除得的结果是实数 } //2.2输入半径r的值,求出圆周长,圆面积 #include #define PI 3.14 void main() { int r; float zhouchang,mianji; printf("please input r:"); scanf("%d",&r); zhouchang=2*PI*r; mianji=2*PI*r*r; printf("zhouchang=%f\n",zhouchang ); printf("mianji=%f\n",mianji); } //3.1如何实现下述输出要求? //A.输出整数1234,输出共占8位,数据左对齐。 //B.输出整数1234,输出共占10位,数据右对齐。 //C.输出十六进制整数0xFFDE3C02,输出共占8位,数据左对齐。 //D.输出十六进制整数0xFFDE3C,输出共占8位,数据右对齐,前补0。

(最新版)C语言实验报告(答案)

《C程序设计》实验报告 学期: 教师姓名: 教研室:

实验1 熟悉C语言程序的运行环境,掌握数据描述 1.1 实验目的 1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。 2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。 3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。 1.2 实验预习 1.熟悉Visual C++的启动和退出及Visual C++中的编辑、编译、连接和运行命令。 2.了解下列命令及函数:include、main、printf、scanf。 3.熟悉Visual C++环境下每个菜单项的功能及相关命令对应的操作。 4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。 int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。 6.常量与变量的区别和联系。 运行环境: 1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始——>程序——> Microsoft Visual Studio 6.0——> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。 2.单击“文件”菜单的“新建”命令。 3.在打开的“新建”对话框中选择“文件”标签。 4.选择C++ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如first.c) ,单击确定按钮。如图所示:

相关文档