文档库 最新最全的文档下载
当前位置:文档库 › C语言上机报告答案

C语言上机报告答案

C语言上机报告答案
C语言上机报告答案

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键盘¥50.5\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 。

问题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);这条语句

改成:printf("\’%c\’ \’ %c\’ %d\n",a,b,c);

2(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。#include

int main()

{

int a,b,c;

printf("Enter a and b:");

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

c = a + b;

printf("d:%d\n",c);

printf("x:%x\n",c);

return 0;

}

2(2)编写程序:从键盘输入两个实数a和x,按公式计算并输出y的值:

5

ax

+

=)

ln(

)

sin(

+

+

e

a

x

y+

a

ax

#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;

}

3.改错题

正确的程序为:

#include

main()

{

int a,b,c,s;

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

s=a+b+c;

printf("%d=%d+%d+%d\n",s,a,b,c); /*输出s=a+b+c*/

printf("%d+%d+%d=%d\n",a,b,c,s); /*输出a+b+c=s*/

} 五、调试和测试结果

2(1) 输入: 12 14

输出:26

1a

2(2) 输入:1 0

输出:2.000000

实验三 选择结构程序设计

四、设计流程(算法描述)

(请写出上机内容2(2)题的算法描述)

主要是两两比较,然后得出最大的数

五、程序清单

2(1) 输入整数x 和a ,计算并输出下列分段函数f (x )的值(保留2位小数),请调用log 函数求自然对数,调用fabs 函数求绝对值。

?????=≠-+=a x a x x

a x a a x f 0ln 21)(

程序为:

#include

#include

main()

{

int x,a;

double y;

printf("Enter a and x:");

scanf("%d%d",&a,&x);

if(fabs(x)!=a)

y=log(fabs((a+x)/(a-x)))/(2*a);

else

y=0;

printf("a=%d,f(%d)=%.2f\n",a,x,y);

}

(2)输入a 、b 、c 三个整数,输出最大数。

#include

main()

{

int a,b,c,x;

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

if(a>=b)

x=a;

else

x=b;

if (x

x=c;

printf("the max number is:%d\n",x);

return 0;

}

3.改错题

正确程序为:

#include

main()

{

double n;

printf("Enter n:");

scanf("%lf",&n);

if(n<0)

printf("n is less than 0\n");

else if(n==0)

printf("n is equal to 0\n");

else

printf("n is greater 0\n");

}

六、调试和测试结果

2(1) Enter a and x:5 6

a=5,f(6)=0.24

Enter a and x:5 5

a=5,f(5)=0.00

2(2) 输入:3 2 1 输出:the max number is:3

输入:2 3 1 输出:the max number is:3

输入:1 2 3 输出:the max number is:3

实验四循环结构程序设计

四、设计流程(算法描述)

(请写出上机内容2的算法描述)

首先求出每一个给定数的所有因子和,然后从2到5000循环,那一个数x与因子之和相等,就是完数。

五、程序清单

1.编写程序:求1+2+3+...+100和12+22+33+ (1002)

#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;

}

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++) //遍历从2到5000的所有数

{

sum = 0;

for (j=1;j<=i/2;j++) //找出给定整数X的所有因子和

{

if(i%j == 0)

sum +=j;

}

if(i == sum) //sum为因子和,如果和i相等,则输出

printf("%d ",i);

}

return 0;

}

3. 改错题

正确的程序为:

#include

main()

{

int n=1;

int find=0;

while(!find)

{

if(n%5==1 && n%6==5 && n%7==4 && n%11==10)

{

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

find =1;

}

n++;

}

}

六、调试和测试结果

1:结果:the sum is:5050

the square sum is:338350

2:结果:6 28 496

实验五函数和预处理命令

四、设计流程(算法描述)

(请写出上机内容1的算法描述)

利用循环将m乘n次

五、程序清单

m的值。利用此函数编程序实现:从1.编写自定义函数long power(int m,int n),计算n

m的值。

键盘输入两个整数m和n,计算出n

#include

long power(int m,int n)//要返回的是long型

{

int i;

long s;//因为是要返回的数,所以这里也定义为long型

s=1;

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

{

s *=m;

}

return s;

}

int main(void)

{

int m,n;

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

printf("s=%ld\n",power ( m,n));

return 0;

}

2、写出两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。

1.源程序如下:

int zdgys(int n1,int n2)

{int y,i;

for(i=n2;i<=1;i--)

if(n1%i==0&&n2%i==0)

{y=i;break;}

return y;

}

int zxgbs(int n1,int n2)

{int y,i;

for(i=n1;i<=n1*n2;i++)

if(i%n1==0&&i%n2==0)

{y=i;break;}

return y;

}

main()

{int n1,n2,t;

scanf("n1=%d n2=%d",&n1,&n2);

if(n1

{t=n1;n1=n2;n2=t;}

printf("zdgys=%d zxgbs=%d",zdgys(n1,n2),zxgbs(n1,n2));

}

3、改错题

正确程序如下:

#include

int fact(int n);

int multi(int n);

main()

{int i;

double sum,item,eps;

eps=1E-6;

sum=1;

item=1;

for(i=1;item>=eps;i++)

{item=fact(i)/multi(2*i+1);

sum=sum+item;

}

printf(“PI=%0.5lf\n”,sum*2);

return 0;

}

int fact(int n)

{int i;

int res=1;

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

res=res*i;

return res;

}

int multi(int n)

{int i;

int res=1;

for(i=3;i<=n;i=i+2)

res=res*i;

return res;

}

六、调试和测试结果

1、输入:2 3

输出:s=8

2、输入:n1=24 n2=16

输出:zdgys=8 zxgbs=48

2.

3、输出结果为:

实验六数组

四、设计流程(算法描述)

(请写出上机内容1的算法描述)

设置两个变量分别指示头和尾。第一个和最后一个元素值互换,然后头和尾变量向里移动,最终到两变量相遇为止。

五、程序清单

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;

while(i

{

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)

{

int i;

a[0]=2;

a[1]=3;

for(i=2;i

{

a[i] = a[i-1] * a[i-2];

}

}

int main(void)

{

int a[100],x,k1,k2;

int i;

Mad(a,100);//产生序列

printf("input x:");

scanf("%d",&x);

i=0;

for(;x>a[i];i++);

k1 = abs(x-a[i-1]);

k2 = abs(x-a[i]);

if(k1>k2)

printf(" x 最接近第%d项\n",i+1);

else

printf("x 最接近第%d项\n",i);

return 0;

}

3、源程序如下:

#include

main()

{

char c[15];

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

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

scanf("%c",&c[i]);

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

{ if(c[i]==' ') space++;

if(c[i]>='0'&&c[i]<='9') num++;

if(c[i]>'a'&&c[i]<'z') word++;

}

printf("字符:%d 数字:%d 空格:%d\n",word,num,space);

}

六、调试和测试结果

1、输入:1 2 3 4 5

输出:5 4 3 2 1

2、输入:110

输出:x 最接近第6项

3、输入:sd234kj64jk mjk

输出:字符:9 数字:5 空格:1

实验七数组和函数综合程序设计

四、程序清单

(请写出上机内容2、3中源程序)

2、原程序求得的是下三角形,经改进调试之后的程序为:

#include

#define N 6

main()

{

int i,j,sum=0;

int a[N][N]={0};

printf("input 5×5 data:\n");

for(i=1;i

{

printf("Input the %d line data:\n",i);

for(j=1;j

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

}

for(i=1;i

{

for(j=1;j

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

printf("\n");

}

for(i=1;i

for(j=N-1;j>=i;j--)

sum=sum+a[i][j];

printf("sum=%d\n",sum);

}

3、

void fun(int tt[M][N],int pp[N])

{ int i,j,max;

for(j=0; j

{ max=tt[0][j];

for(i=1;imax)max=tt[i][j];

pp[j]=max;

}

}

五、调试和测试结果

(写出上机内容1中填空的内容)

1、(1)sum=0 (2)t[i][i] (3) 1

实验八指针

四、程序清单

(请写出上机内容2中的函数)

求出每个位上的数字,然后放在千位上的数字乘以1000,放在百位上的数字乘

以100,放在10位上的数字乘以10,然后相加。

void fun(int a,int b,long *c)

{

int a10,a1,b10,b1;

a10=a/10;

a1=a%10;

b10=b/10;

b1=b%10;

*c = a10 * 1000 + b1 * 100 + a1 *10 + b10;

}

五、调试和测试结果(请写出上机内容1的输出结果)

1(1) 输出结果为:8,7,7,8

(2) 6

(3) (1)x=10 y=20

(2)x=20 y=10

(4) 【1】int *p 【2】&a[i] 【3】p[i]

输入:1 2 3 4 5 6 输出: 1 2 3 4 5 6

实验九指针、函数和数组综合程序设计

设计流程(算法描述)

(请写出上机内容2中的算法描述)

五、程序清单

1.已知一个整型数组a[5],其各元素值为4,6,8,10,12。使用指针编程求数组元素之积。#include

int main(void)

{

int a[]={4,6,8,10,12},sum;

int *p;

sum=1;

for(p=a;p

{

sum *= *p;

}

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

return 0;

}

2.定义函数int f(char *x, char y)判断x所指的字符串中是否包含字符y,若是则函数返回1,否则返回1。

int f(char *x, char y)

{

char *p;

for(p=x;*p!='\0';p++)

if(*p == y)

{

printf("%c\n",*p);

return 1;

}

return 0;

}

3.定义函数void f(float x, int *y, float *z)将x的整数部分存于y所指的存储单元,x的小数部分存于x所指的存储单元。

void f(float x, int *y, float *z)

{

*y=(int)x;

*z=x - *y;

}

六、调试和测试结果

测试结果正确

实验十结构体

四、程序清单

(请写出上机内容1的源程序和上机内容2中的函数)

1、上机内容1的源程序

#include

#include

#define FORMAT "%0d\t%s\t%d\t%c\n"

struct student

{

int num;

char name[20];

i nt age;

char sex;

};

main()

{ void input(struct student stu[] );

void stat(struct student stu[]);

struct student stu[4];

int i;

input(stu);

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

{ printf(FORMAT,stu[i].num,stu[i].name,stu[i].age,stu[i].sex);

}

stat(stu);

}

void input(struct student stu[])

{int i;

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

{scanf("%d",&stu[i].num);

getchar();

scanf("%s",&stu[i].name);

getchar();

scanf("%d",&stu[i].age);

getchar();

scanf("%c",&stu[i].sex);

getchar();}

}

void stat(struct student stu[])

{int i,c=0,boy=0,girl=0;

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

{

if(stu[i].age<18) c+=1;

if(stu[i].sex=='m') boy++;

else girl++;

}

printf("boy\tgirl\tage<18\n");

printf("%d\t%d\t%d\n",boy,girl,c);

}

2、

void fun(struct STREC *a)

{ int i;

a->ave=0;

for(i=0;i

a->ave+=a->s[i];

a->ave/=N;

}

3、改错题

正确的程序为:

将printf("%5d %-20s %2c %4d\n",*p.num,*https://www.wendangku.net/doc/0d5137567.html,,p.sex,p.age);

改为:printf("%5d %-20s %2c %4d\n",p->.num,p->name,p->sex,p->age);

实验十一共用体、位运算和文件

四、程序清单

(请写出上机内容2中的程序源代码)

(1)求100以内能同时被3和5整除的自然数,分别将它们输出到显示器屏幕和x.txt 文件中。

(2)用程序读出上述x.txt文件中的数据,将它们输出到屏幕,并求它们的和。

#include

#include

#include

int main(void)

{

int i,sum;

FILE *fd;

char s[10],*p,ch;

if( (fd=fopen("D:\\shi.txt","wt"))==NULL)

{

printf("creat the file failed\n");

exit(0);

}

else

{

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

{

if( (i%3 ==0) && (i%5 == 0) )

{

printf("%d, ",i);

itoa(i,s,10); //转换成字符串

fputs(s,fd);

fputc(' ',fd);

}

}

printf("\n");

fclose(fd);

}

//提取字符转换成数字输入

if( (fd=fopen("D:\\shi.txt","rt"))==NULL)

{

printf("open the file failed\n");

exit(0);

}

else

{

p=s;

sum=0;

do

{

ch=fgetc(fd);

if(ch == ' ')

{

i=atoi(s);

sum +=i;

printf("%d ",i);

strset(s,'\0');

p=s;

}

else

{

*p=ch;

p++;

}

}while(ch != EOF);

printf("数的和是:%d\n",sum);

fclose(fd);

}

return 0;

}

实验十二参考答案

实验十二参考答案:(可根据情况,弄清楚一个模块即可)

题目:设某班有n位同学,每位同学的数据包括以下内容:学号(长整型)、姓名(字符串)、数学成绩(整型)、程序设计成绩(整型)。设计程序完成以下五项功能:新建数据档案、添加数据、删除数据、对输入的数据进行排序和查询。

注:输入数据时,要求学号不能相同,姓名可以相同。

设计思路:

1).程序运行时,首先显示主菜单(模块)如下:

1.程序运行时,首先显示主菜单如下:

1.新建数据

2.添加数据

3.删除数据

4.排序

5.查询

6.退出

用户输入序号后,程序进行相应操作。

2).在主菜单中选择序号4,弹出子菜单选择排序方式,子菜单如下:

1.数学成绩排序

2.程序设计成绩排序

3.总分排序。

4.返回主菜单

选择子菜单的序号后,程序能正确运行并在屏幕上显示按要求排序后的相关信息。

3.在主菜单中选择序号5,弹出子菜单选择查询方式,子菜单如下:

1.学号查询

2.姓名查询

3.数学成绩查询

4.程序设计成绩查询

5.总分查询

6.返回主菜单

请按序号选择相应操作

在子菜单中选择序号后,程序按以下方式工作。

(1)学号查询:输入学号后,若该学号存在则显示与其相关的所有信息,否则显示找不到的提示信息;(提示:查询到满足条件的结果后,查询即可结束)

(2)姓名查询:输入姓名后,若该姓名存在则显示与其相关的所有信息,否则显示找不到的提示信息;(提示:使用字符串比较函数进行比较)

(3)按科目查询:输入指定分数,程序运行后显示该科目中考试成绩大于等于指定分数的同学的学号、姓名以及该科成绩并统计满足条件的人数;

(4)总分查询:输入指定分数,程序运行后显示总分成绩大于等于指定分数的同学的学号、姓名以及各科成绩并统计满足条件的人数。

C源程序清单如下:

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

#include "conio.h"

#include "mem.h"

#include "ctype.h"

#include "alloc.h"

#define N 2

typedef struct z1

{

char no[11];

char name[15];

int score[N];

float sum;

float average;

int order;

struct z1 *next;

}STUDENT;

/*Functions*/

STUDENT *init(); /*initialize*/ STUDENT *create();

STUDENT *delete(STUDENT *h); STUDENT *searchno(STUDENT *h); void print(STUDENT *h);

void search(STUDENT *h);

void save(STUDENT *h); STUDENT *load();

STUDENT *insert(STUDENT *h); STUDENT *sort(STUDENT *h); STUDENT *index(STUDENT *h);

int menu_select(); /*menu*/

/******main*******/

main()

{

int i;

STUDENT *head;

head=init();

clrscr();

for(;;)

{

switch(menu_select())

{

case 1:head=init();break;

case 2:head=create();break;

case 3:head=delete(head);break;

case 4:print(head);break;

case 5:search(head);break;

case 6:head=searchno(head);break;

case 7:save(head);break;

case 8:head=load(); break;

case 9:head=insert(head); break;

case 10:head=sort(head);break;

case 11:

case 12:

case 13:head=index(head);break;

case 0:exit(0);

}

}

}

menu_select()

{

char *menu[]={"***************MENU***************", " 1. Init list",

" 2. Enter list",

" 3. Delete a record from list",

" 4. print list ",

" 5. Search record by name",

" 6. Search record by Number",

" 7. Save the file",

" 8. Load the file",

" 9. insert record to list ",

" 10. sort by total scores",

" 11. sort by maths scores",

" 12. sort by program scores",

" 13. index on number",

" 0. Quit"};

char s[3];

int c,i;

gotoxy(1,25);

printf("press any key continue......\n");

getch();

clrscr();

gotoxy(1,1);

textcolor(YELLOW);

textbackground(BLACK);

gotoxy(10,2);

putch(0xc9);

C语言上机报告答案

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键盘¥50.5\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 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 改成:printf("%c %c %d\n",a,b,c);

C语言上机作业题及答案

实验一: 1、已知华氏温度,根据转换公式计算相应的摄氏温度。 摄氏温度= 5*(华氏温度-32)/9 2.任意输入一个有五位数字的正整数,逆序输出每一数位上的数字。 如: 输入 12345 输出 5 4 3 2 1 #include"stdio.h" main() { double t,T; printf ("已知华氏温度,根据转换公式计算相应的摄氏温度"); scanf ("%lf",&t); T=(5*(t-32)/9); printf ("摄氏温度=%lf",T); } #include"stdio.h" main() { int value,a,b,c,d,e,m,n,h; printf ("任意输入一个有五位数字的正整数,逆序输出每一数位上的数字"); scanf ("%d",&value); a=value/10000; m=value%10000; b=m/1000; n=m%1000; c=n/100; h=n%100; d=h/10; e=h%10; printf ("%d%d%d%d%d",e,d,c,b,a); } 实验二: 1.一个成年人的身高与其父母的身高密切相关,根据以下人体标准身高预测公式计算自己或某个同学的身高,并跟实际身高比较,给出结论是否符合该公式(误

差在3厘米范围内即视为相符)。 男性身高=(父亲身高+母亲身高)×1.08÷2(厘米) 女性身高=(父亲身高×0.923+母亲身高)÷2(厘米) 2.从键盘上输入税前收入,根据以下公式及规则,计算个人所得税税额并输出。应纳个人所得税税额=(税前收入—起征点额度)*适用税率—速算扣除数 其中,起征点额度是3500元,其他如下: 应纳税所得额税率速算扣除数 不超过1500元的部分 3% 0 超过1500元至4500元的部分 10% 105 超过4500元至9000元的部分 20% 555 超过9000元至35000元的部分 25% 1005 超过35000元至55000元的部分 30% 2755 超过55000元至80000元的部分 35% 5505 超过80000的部分 45% 13505 如:某人月收入5000元,则应纳个人所得税税额为(5000-3500)* 10% - 105 = 45元。 #include #include main() { float A,a,H,h,b; printf("父亲身高(厘米)\n"); scanf("%f",&A); printf("母亲身高(厘米)\n"); scanf("%f",&a); printf("孩子实际身高(厘米)\n"); scanf("%f",&H); printf("请选择孩子性别:女=0,男=1\n"); scanf("%f",&b); if(b) h=(A+a)*1.08/2; else h=(A*0.923+a)/2; if(fabs(H-h)<=3) printf("实际身高符合该公式\n"); else

c语言实验报告总结

篇一:《C语言上机实验心得》 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在

一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

C语言上机练习题

上机练习题 完成 1.输入一个不超过五位的正整数,输出其逆数。例如输入12345,输出应为54321。 完成 2.计算1+2+3…+n的值,n是从键盘输入的自然数。 完成 3.从终端(键盘)读入20个数据到数组中,统计其中正数的个数,并计算这些正数之和。完成 4.从终端(键盘)将5个整数输入到数组a中,然后将a逆序复制到数组b中,并输出b中 各元素的值。 完成 5.要将五张100元的大钞票,换成等值的50元,20元,10元,5元一张的小钞票,每种面 值至少1张,编程输出所有可能的换法,程序应适当考虑减少重复次数。 完成 6.求n以内(不包括n)同时能被3和7整除的所有自然数之和的平方根s,n从键盘输入。 例如若n为1000时,函数值应为:s=153.909064。 完成 7.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下 车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索找出车号。 完成 8.输入1~10之间的一个数字,输出它对应的英文单词。 完成 9.个位数为6且能被3整除但不能被5整除的三位自然数共有多少个,分别是哪些? 完成 10.用自然语言描述程序逻辑如下,试写程序。 ①设置环境; ②定义变量i、j、s,以及用于放置结果的变量sum,并令sum初值为0; ③i=1; ④如果i≤100,则转⑤,否则转⑧; ⑤令s=0,求前i个自然数之和,并放于变量s之中; ⑥sum=sum+s; ⑦i增加1,转④; ⑧输出和sum,结束。 完成 11.用自然语言描述的程序逻辑为: ①设置环境; ②定义变量i、flag和password,并令flag=0,i=0; ③用户回答口令,将其赋于password变量; ④口令正确?如果是,则flag=1,转⑥。否则转⑤; ⑤回答三次口令了吗?如果没有,计数器加1后(i++),转③,否则转⑥; ⑥根据flag之值输出相应信息。 12.用自然语言描述的程序逻辑如下: ①设置环境;

扬州大学C语言上机作业1-9整理

答案仅供参考 实验一 4.设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a; a=b; b=c; printf("%d,%d\n",a,b); getch(); } 5.设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #include void main() { int a,b,c; printf("enter first integer : "); scanf("%d",&a); printf("enter second integer : "); scanf("%d",&b); c=a+b; a=c; printf("a=%d,b=%d\n",a,b); getch(); } 6.从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。 #include void main() { int x,y; printf("enter first integer : "); scanf("%d",&x); y=x*x*x+3*x*x+x-10;

printf("x=%d,y=%d\n",x,y); getch(); } 实验二 1.编写程序,从键盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。 #include void main() { int a,b,hour,min; printf("enter first integer : "); scanf("%d",&a); b=60; hour=a/b; min=a%b; printf("hour=%d,min=%d\n",hour,min); getch(); } 2.编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。 #include void main() { int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; printf("%d,%d",c,d); getch(); } 3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。 #include void main() { int a,b,c,d; printf("enter first integer : "); scanf("%d",&a);

2016年C语言实验报告

通知 各位老师: 本学期非计算机专业《计算机程序设计基础(C语言)》课实验报告要求: 1.统一用《武汉科技大学实验报告》本写。本学期交三次实验报告。 ①循环结构程序设计。 ②数组。 ③函数。 要求学生在完成以下实验报告,参考《C语言程序设计课程实验与题解》中的要求认真完成。 实验1 循环结构程序设计 一、实验目的 1.熟悉用while语句,do-while语句和for语句实现循环的方法。 2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。 3.熟悉break语句和continue语句用法的不同之处。 二、实验内容 【例】以下程序,输出下三角形状的乘法九九表。 #include void main() { int i,j; for (i=1;i<=9;i++) /* 打印表头*/ printf(" %4d",i); printf("%c",'\n'); for (i=0;i<=50;i++) printf("%c",'_'); printf("%c",'\n'); for (i=1;i<=9;i++) /* 循环体执行一次,打印一行*/ { for (j=1;j<=i;j++) printf(" %4d",i*j); /* 循环体执行一次,打印一个数据*/ printf("%c",'\n'); /* 每行尾换行*/ } printf("%c",'\n'); } 输入并执行该程序,观察输出结果,试着修改程序打印上三角形状的乘法九九表。 三、编程序并上机调试运行。 1.打印出所有“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和正好等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33。 解题思路:根据题目要求只要分别求出一个三位数的个位、十位、百位上的数字,然后判断是否满足(某一三位数a=a的百位的立方+a的十位的立方+a的个位的立方)这个公式,满足这个三位数就是“水仙花数”。 2.李先生岁数的平方与他的夫人的岁数之和是1053,而他的夫人的岁数的平方与他

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> void main( ) {int a,b,c,d; printf( “ Please enter a,b: ”);

scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b; printf( “ %d+%d=%d\n” ,a,b,c); printf( “ %d*%d=%d\n” ,a,b,d); } 3、#include <> #include <> void main( ) { double x,s; printf( “ Please input value of x: ”); scanf( “%lf ” ,&x); s=cos(x); printf( “ cos(%lf)=%lf\n ”,x,s); } 4、#include <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> void main( ) { int x,y,t; printf( “ Please enter x and y: ”); scanf( “%d%d”,&x,&y); t=x; x=y; y=t; printf( “ After swap:x=%d,y=%d\n ” ,x,y); } 实验二简单的 C程序设计 (4 学时 ) 一、实验方式:一人一机 二、实验目的: 1、掌握 C语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

C语言程序设计实验上机报告

课程实验报告课程名称:C语言程序设计 专业班级:信息安全1302 学号: 姓名: 指导教师: 报告日期:2014年6月16日 计算机科学与技术学院

目录 1 实验概述 (1) 2 第一次实验 (2) 2.1 实验目的 (2) 2.2 实验内容 (2) 2.3 实验小结 (19) 3 第二次实验 (20) 3.1 实验目的 (20) 3.2 实验内容 (20) 3.3 实验小结 (35) 4 第三次实验 (36) 4.1 实验目的 (36) 4.2 实验内容 (36) 4.3 实验小结 (49) 5 第四次实验 (50) 5.1 实验目的 (50) 5.2 实验内容 (50) 5.3 实验小结 (62) 6 第五次实验 (63) 6.1 实验目的 (63) 6.2 实验内容 (63) 6.3 实验小结 (69) 7 第六次实验 (70) 7.1 实验目的 (70) 7.2 实验内容 (70) 7.3 实验小结 (83) 8 第七次实验 (84) 8.1 实验目的 (836) 8.2 实验内容 (84) 8.3 实验小结 (105) 9 实验总结 (106) 参考文献 (107)

1实验概述 本实验采用C语言常用的上机开发环境Visual C++6.0集成开发环境。其关键是掌握程序的编辑、修改、编译、链接和执行的方法,以及如何调试程序,跟踪程序,通过断点控制程序,观察变量、表达式在程序运行过程中的取值,如何综合运用这些方法定位程序中的的错误和排除错误。 在实验中除了传统的编程设计题外,增加了源程序改错题,源程序完善、修改、替换题,程序的调试跟踪题等,培养学生跟踪程序、设置断点、调试程序的能力,排除程序中语法、逻辑方面错误与故障的能力,并养成细致、周密、严谨的编程作风。 实验中的源程序改错题,先给出一些含有经典、常见错误的源程序,让学生通过编译或运行发现错误,并加以改正,从而纠正初学者易犯的常见错误,实验中的源程序修改替换题,也是先给出源程序,然后要求学生按要求编写修改替换原来程序中的部分代码。实验中的跟踪调试结果填空题,给出源程序,要求学生填写程序运行过程中的某些中间结果。强迫学生用断点设置、单步跟踪等调试程序,观察并填写相应的中间结果。实验中的编程设计题,只给出题目,要求学生完成从源程序的编程、编辑、修改,编译产生目标代码,链接产生可执行文件,运行程序得到正确结果的全部环节。 学习C语言与学习和使用任何一门其他程序设计语言一样。首先要理解程序设计语言的语法和语义,然后通过上机熟悉该语言集成开发环境,掌握编辑、修改、编译、链接、跟踪、调试程序等方面的技巧。最后,还要熟悉语言编译系统提供的库函数或类库,以便快速实现程序的设计与开发。上机实验就是学习与掌握上面三个环节的重要途径。 上机实验之前一定要预先编好有关程序,把上机的重点放到程序的编辑、修改、编译、链接、跟踪、调试程序等方面,放到观察程序运行过程中的中间结果和运行完毕后的运行结果方面来。最终使自己的大脑变成一台“计算机”,能够在脑袋中运行自己的程序,判断各种情况下程序的走向等等,从而提高上机的效率和程序设计的准确性。 总之,上机实验是进一步深刻了解C语言的语法、语义,掌握用C语言进行初步程序设计所需要的方法和技能的一个重要环节。

C语言期末上机考试题及答案

C语言上机考试题—01 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include main() { int k,m,s=0,i,b=0; for(k=10000;k<=20000;k++ ) { if(k%10==7) { for(i=2,b=0;i main() { int a; printf("请输入一个需要判 断的年份:\n"); scanf("%d",&a); if(a%4==0&&a%100!=0) printf("是闰年\n"); else if(a%400==0) printf("是闰年 \n"); else printf("不是闰 年\n"); } C语言上机考试题—02 1. //#include #include double fun( int n ) { double sum=0,a=1; for(;n>0;n--,a++) sum=sum+1/(a*(a+1)); return sum; } main() { // clrscr(); printf("%f\n", fun(10)); } 2. #include fun(int n) { int i,j=0; for(i=2;i #include main() { char str[81]; int i,j=0,w=1,s=0; printf("请输入一串字符: \n"); gets(str); for(i=0;i

C语言程序设计实验报告优秀范文

C语言程序设计实验报告优秀范文 实验名称计算出1000以内10个最大素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内最大的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i if(n%i==0)/* 如果不是素数,返回0 */ return 0; return n;/* 如果是素数,返回该数*/ } void main { int i,j=0,n,m=0,a[1000],x; /*clrscr;*/ printf("please input a number form 1 to 1000:"); scanf("%d",&x); if(x==2)/* x=2时的处理*/ printf("%dn",x); else if(x printf("error!n");

c语言上机练习题及答案[1]汇总

1.从矩形的长,宽,输出面积(长为 6.5,宽为4.5 ) #in elude mai n() float len gth,width,area; sca nf("%f%f", & le ngth,&width); area=le ngth*width; prin tf("area=%f\n",area); 2.定义符号常量,从键盘输入圆的半径 3.5,求圆的周长和面积 #defi ne PI 3.14 #in clude mai n() float r,c,area; sca nf("%f",&r); c=2* Pl*r; area=P l*r*r; prin tf("c=%f,area=%f\n",c,area); 3.练习上机手册P10 3,4, 5题,看看输出结果,并思考为什么 4.从键盘输入一个整数,输出其绝对值(采用两个if语句实现)int i; sea nf("%d",&i); if(i>=0) prin tf("i=%d\n",i); if(i<0) prin tf("i=%d\n",-i); 5.从键盘输入一个整数,输出其绝对值(采用if ―― else语句实现)#in elude mai n() int i; #in clude mai n()

sca nf("%d",&i); if(i>=0) prin tf("i=%d\n",i); else prin tf("i=%d\n",-i); 6.从键盘输入年份,判断是不是闰年,如果是,输出是闰年(上机考试重点) #in elude mai n()

C语言实验报告

郑州轻工业学院 实践报告 实现内容: OJ1123最佳校友(数组)、OJ1158又是升序(指针)、OJ1180成绩统计(结构)、OJ1203做幻方(文件) 学号:541507020140 学生姓名:王红旭 专业班级:电子信息科学与技术15-01 所在院系:计算机与通信工程学院 指导教师:王秉政 成绩: 实践名称:上机实验课 来源课程:[0404230]C程序设计进阶 实践时间:2016.03-05 实践地点:科学校区实验楼301 报告撰写时间:2016.05.10 1123最佳校友(数组)

1实践目的 为了方便数组的管理和使用,提高程序设计的效率。 2 实践要求 熟练使用数组解决问题。 3 使用的技术、知识点、工具等 C语言程序设计书本教材,数组等。 4 需求分析和功能描述 要求;北京校友会每年举办两次,所有校友都有校友编号,每次到会的校友都在签到簿上写下自己的编号和姓名,在校友会成立5周年的聚会上将颁发“最佳校友奖”,该奖项颁发给到会次数最多的校友。现在请你编写程序,找出这个奖项的得主。若有多个校友并列第一,则均可获奖。 5 系统总体设计 #include int main() { int a[100]={0}; int i,n,max,k; while(scanf("%d",&n),n>=0) a[n]++; max=a[0]; for(i=1;i<100;i++) { if(a[i]>max) max=a[i]; } k=0; for(i=0;i<100;i++) { if(a[i]==max) { if(k==0) printf("%d",i); else printf(" %d",i); k++; } }

C语言实验报告

实验一进制转换一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。

五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制 的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n");

} else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c;

大连理工c语言第五次上机作业参考答案

第五次上机作业:(请用指针实现) 1.数据移位 有n(n<=10)个整数,使前面各数顺序向后移m(m<=n)个位置,最后m 个数变成最前面的m个数,如图所示。编写函数shift(a,n,m)实现上述功能,在主函数中输入n个整数和输出调整后的n个数。 SAMPLE OUTPUT Input n(n<=10):10 Input 10 integers:1 2 3 4 5 6 7 8 9 10 Output the original:1 2 3 4 5 6 7 8 9 10 Input m(m<=10):4 Output the shifted:7 8 9 10 1 2 3 4 5 6 #include #define N 10 void shift(int a[ ],int n,int m); void main( ) { int i,n,m; int a[N]; printf("Input n(n<=10):"); scanf("%d",&n); printf("Input %d integers:\n",n); for(i=0;i=0;j--) a[j+1]=a[j]; a[0]=t; } } n

c语言实验报告心得总结

c语言实验报告心得总结 c语言实验报告心得总结一在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试编写一个比较复杂的程序系统。在为期一周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,感触良多。 在这次实训中,我对对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的实训,使我对C语言的学习产生浓厚的兴趣。 还是这次实训,最令人激动的就是合作做项目,虽然那只是一个很小很小的项目。每天大家来得很早,大家在一起学习,取长补短,我们很好的在实训中长知识,提高我们的学习热情。实训中深切体会到了老师认真负责的伟大的精神和热情为同学指导的促学方式,虽然对有些时候老师没给我们指出解决问题的方法有些小抱怨,但是到了结束时才知道,这种教学让我们自己学会了自学,学会了去看懂别人的代码。更多是老师给的感动,每天在我们来之前就到了教室,在讲

课中海给我们分享他在公司上班的一些心得和体会,还有那些我们应该注意的事项,这些是平时上课时无法学到的,是更深层次的巨大收获。 通过这次实训,也使我们发现了许多问题。 在实训中,我们认识到自己还有很多的知识没学好,基础知识没理清,而且许多东西还要去翻书,去上网搜索。而且遇到一些小错误运行不出来,就会烦躁不安,觉得有些自暴自弃或者抱怨项目的变态,以后要克服,尽量保持一颗良好的心态,学好C语言,也学好用C语言编写一个按要求的系统。 还有就是对于未来,近程就是下学期,我觉得我还有许多方面需要提高。 首先我要继续学习好C语言的基础知识,然后能在电脑上熟练的运用。然后每天都能写一些程序,上网时候多看一些优秀的教程和优秀的代码。遇到问题时多和同学讨论,并且多弄出几套方案,多锻炼自己结局问题的能力和与同学合作的能力。 总之,这一切都成为我记忆里面的一个篇章,更是在C 语言编程上的一个里程碑。 c语言实验报告心得总结二在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,

相关文档