文档视界 最新最全的文档下载
当前位置:文档视界 › 程序设计基础C实验报告201303教材

程序设计基础C实验报告201303教材

程序设计基础C实验报告201303教材
程序设计基础C实验报告201303教材

《程序设计基础C》

教学班级:_______ 学号:__________ 姓名:___________ 课程教师:______________ 实验辅导教师:_____________

重庆理工大学计算机学院

2012年2月

实验5 循环程序设计

教学班级:_______ 学号:__________ 姓名:___________

实验日期:___________ 实验地点:_________(机房)

实验成绩:___________

一、实验目的

(1) 了解C语言循环结构的使用范围。

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

(3) 熟练掌握C语言的三种循环结构:whilc语句、do……whilc语句、for语句的特点和使用方法。

(4) 能够编写一些有实际应用意义的循环结构程序。

二、实验内容

1.基本内容

题目1:计算1-3+5-7+......-99+101的值。(提示:注意符号的变化)#include

void main()

{ int i,t=1,s=0; /* t标识正负符号*/

for (i=1;i<101; i+=2) /*error*/

{ s+=i*t;

t= -t;

}

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

}

①请改错,并运行程序。

②分别用do……while语句和while语句改写以上程序。

题目2:分析程序,运行时输入:24579(注:表示回车换行)。

#include

void main()

{ int c;

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

{ switch(c-'2')

{ case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break;

case 3: putchar(c+3);

case 4: putchar(c+2);break;

default:putchar(c);

}

}

printf("\n");

}

题目3:下面程序的功能是打印100以内个位数为3且能被3整除的所有数,选择合适的语句填入该空格中。

#include

void main()

{

int i,j;

for(i=0;__________________ ;i++)

{ j=i*10+3;

if(__________________)

continue;

printf("%4d",j);

}

}

题目4:编程输出:用0~4任意组成无重复数字的三位数?都是多少?每行输出10个数。

#include void main() { int i,j,k,count=0; printf("\n");

for(i=1;i<5;i++)/*以下为三重循环*/ for(j=0;j<5;j++) for (k=0;k<5;k++) {

if (__________________) /*确保i 、j 、k 三位互不相同*/ {

printf("%6d",i*100+j*10+k);

count++; if(________________)

printf("\n");

} }

printf("\n");

}

题目5:根据公式 ......!

31!21!111++++

=e 求e 的近似值,精度要求为10-6。 题目6:输入一行字符,将小写字母转换为大写字母显示,其它字符原样输出。

2.选择内容

题目7:打印出如下图案

*

* * * * * * * * * * * * * * * * * *

* * * *

* *

#include

void main()

{int i,j;

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

{ for(j=1;j<=8-i;j++) //理解数字8的作用

printf(" ");

for(j=1;j<=2*i-1;j++)

printf("* ");

printf("\n");

} /* 上面的程序输出上三角形*/

/* 下面的程序输出下三角形*/ for(i=3;i>=1;i--)

{for(j=1;j<=8-i;j++)

printf(" ");

for(j=1;j<=2*i-1;j++)

printf("* ");

printf("\n"); }

}

①运行以上程序,验证实验结果。

②模仿上面程序,打印出如下图案

1

2 2 2

3 3 3 3 3

三、实验结果(用截图说明)

四、调试心得(选作)

实验6 数组实验

教学班级:_______ 学号:__________ 姓名:___________ 实验日期:___________ 实验地点:_________(机房)

实验成绩:___________

一、实验目的

(1) 理解数组的特点及其与普通变量的区别及特点;

(2) 掌握一维数组的定义、赋值和输入输出的方法;

(3) 掌握二维数组的定义、赋值和输入输出的方法;

(4) 掌握字符数组和字符串函数的使用;

(5) 掌握与一维数组和字符数组有关的程序与算法;

(6) 理解与二维数组有关的程序与算法。

二、实验任务

1.基本内容

【题目1】读程序,写结果。

#include

void main()

{

int i,s=0,a[10]={1,2,3,4,5,6,7,8,9,10};

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

s=s+a[i];

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

}

【题目2】下面程序给数组a输入数据,以每行4个数据形式输出,请填空。

##include

#define N 8

void main()

{

int i, a [N];

for(i=0; i

scanf("%d",_____________);

for(i=0; i

{

if(_____________)

printf("\n");

printf("%11d",_________);

}

printf("\n");

}

【题目3】用简单选择法对10个整数排序,将程序补充完整。

#define N 10

#include

void main()

{

int i,j,min,temp,a[N]={1,5,4,3,7,0,9,8,2,6};

for (i=0;i

{

min=i;

for (j=i+1;______________;j++)

if (a[min]>a[j])

min=j;

if(min!=i)

{_______________________________________} }

printf("\n 排序结果为:\n");

for (i=0;i

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

printf("\n");

}

相关文档