程序设计c实验报告江苏理工学院Word下载.docx

上传人:b****6 文档编号:17257215 上传时间:2022-11-29 格式:DOCX 页数:20 大小:98.68KB
下载 相关 举报
程序设计c实验报告江苏理工学院Word下载.docx_第1页
第1页 / 共20页
程序设计c实验报告江苏理工学院Word下载.docx_第2页
第2页 / 共20页
程序设计c实验报告江苏理工学院Word下载.docx_第3页
第3页 / 共20页
程序设计c实验报告江苏理工学院Word下载.docx_第4页
第4页 / 共20页
程序设计c实验报告江苏理工学院Word下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

程序设计c实验报告江苏理工学院Word下载.docx

《程序设计c实验报告江苏理工学院Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计c实验报告江苏理工学院Word下载.docx(20页珍藏版)》请在冰豆网上搜索。

程序设计c实验报告江苏理工学院Word下载.docx

printf("

输入x:

"

);

scanf("

%d"

&

x);

if(x<

{y=x;

printf("

x=%3d,y=x=%d\n"

x,y);

}

elseif(x<

{y=2*x-1;

x=%d,y=2*x-1=%d\n"

}

else

{y=3*x-11;

x=%d,y=3*x-11=%d\n"

return0;

}

运行结果贴图:

2.给出一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。

90分以上为’A’,80-90分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。

{

floatscore;

chargrade;

请输入学生成绩:

%f"

score);

while(score>

100||score<

0)

{

\n输入有误,请重输"

scanf("

switch((int)(score/10))

{case10:

case9:

grade='

A'

;

break;

case8:

B'

case7:

C'

case6:

D'

case5:

case4:

case3:

case2:

case1:

case0:

E'

成绩是%5.1f,相应的等级是%c\n"

score,grade);

3.从键盘输入1~12之间的任一数字,输出表示一年中对应该月的英文单词。

intm;

请输入月份:

\n"

m);

m=%d\n"

m);

while(m>

12||m<

\n输入有误,请重输!

switch(m)

{case12:

printf("

month:

December\n"

case11:

November\n"

case10:

October\n"

September\n"

August\n"

July\n"

June\n"

May\n"

April\n"

March\n"

February\n"

January\n"

心得体会

注意各种运算符的优先次序。

“&

&

”和“||”是双目运算符,它要求有两个运算对象;

“!

”是一目运算符,只要求有一个运算对象。

逻辑表达式的值应该是一个逻辑量“真”或“假”,逻辑运算的结果不是“0”就是“1”。

实验2

循环结构程序设计

1.熟悉掌握用while语句、do…while语句和for语句实现循环的方法;

2.掌握在程序设计中用循环的方法实现一些常用方法;

3.进一步学习调试程序。

1.n从键盘输入,当n为偶数时,求1/2+1/4+…+1/n的值;

当n为奇数时,求1/1+1/3+…+1/n的值。

intn,i;

floatsum=0;

请输入n:

n);

if(n<

输入有误,请重新输入!

if(n%2!

=1)

{for(i=1;

i<

(n/2+1);

i++)

sum=sum+1.0/(2*i);

1/2+1/4+...+1/n=%f\n"

sum);

else

{for(i=1;

(n+3)/2;

sum=sum+1.0/(2*i-1);

1/1+1/3+...+1/n=%f\n"

2.输出1,2,3,4四个数字能组成的所有无重复数字的三位数。

inti,j,k;

intm=0;

请输出1,2,3,4组成的无重复三位数:

for(i=1;

5;

for(j=1;

j<

j++)

for(k=1;

k<

k++)

{

if(i!

=j&

k!

i!

=k)

{printf("

%d%d%d"

i,j,k);

m++;

}

}

printf("

\n组合三位数的个数:

%d\n"

return0;

3.输出一个正整数的反序数,例如输入4578,则应输出8754。

intx;

请输入一个数字:

反序的数字:

while(x!

=0)

x%10);

x/=10;

While与do…while区别为前者先判断条件表达式,后执行循环体语句;

后者先执行循环体,然后在检查条件是否成立,若成立,再执行循环体。

在while中不要忽略给i和sum赋初值,否则它们的值是不可预测的。

While、do…while、for,都可以用break语句跳出循环,用continue语句结束本次循环。

实验3

利用数组处理批量数据

4学时

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

2.掌握字符数组和字符串函数的使用;

3.掌握与数组有关的算法。

1.输入一个3*3的整型矩阵,统计其中正数、负数以及零的个数并输出。

inta[3][3];

inti,j;

intsum_0=0,sum_1=0,sum_2=0;

请输入3*3矩阵:

for(i=0;

3;

{for(j=0;

%5d"

a[i][j]);

for(i=0;

{for(j=0;

a[i][j]);

}

{

for(j=0;

{if(a[i][j]<

sum_2++;

elseif(a[i][j]>

sum_1++;

elsesum_0++;

0有:

%d个\n"

sum_0);

正数有:

%d个\n负数有:

sum_1,sum_2);

2.从键盘输入10个数,找出10个整数中的最大数并与第一个数交换位置,找出最小数与最后一个数交换位置,输出变换后的结果。

inta[10];

intmax=0,min=0;

inti,temp;

请输入10个整数:

10;

a[i]);

if(a[i]>

a[min])

min=i;

temp=a[min];

a[min]=a[0];

a[0]=temp;

if(a[i]<

a[max])

max=i;

temp=a[max];

a[max]=a[9];

a[9]=temp;

变换后的10个数:

%3d"

a[i]);

3.从键盘输入一字符串s,将该字符串中下标为偶数的字符删除,串中剩余字符形成的新串放在t数组中。

#include<

string.h>

chars[50];

chart[50];

inti;

请输入字符串:

%s"

s);

memset(t,0,sizeof(t));

for(i=0;

strlen(s)/2;

i++)

{t[i]=s[i*2];

t[i]='

\0'

%s\n"

t);

一位数组在比较大小排序时用“起泡法排序”,二维数组用“打擂台算法”

在字符数组的初始化中如果初值个数小于数组长度,则只将这些字符数组赋给数组中前面的那些元素,其余的元素自动定位空字符。

注意字符串的两端实用双撇号而不是单撇号括起来的。

实验4

用函数实现模块化程序设计

1.掌握定义、声明函数的方法;

2.掌握调用函数时实参和形参的对应关系,以及“值传递”的方式;

3.熟悉函数的嵌套调用和递归调用的方法;

4.熟悉全局变量和局部变量的概念和用法。

1.函数intflag(intx0,intx1,intd[])的功能是找出x0至x1之间所有能被3整除的数存入d数组中,返回d数组中元素的个数。

编写main函数,调用flag函数求出15~50之间所有满足条件的整数。

intflag(intx0,intx1);

inta,b,n;

请输入区间范围:

%d~%d"

a,&

b);

n=flag(a,b);

能被3整除的数的个数是:

n);

intflag(intx0,intx1)

intd[40],m,i=0;

m=x0;

for(;

m<

=x1;

m++)

{if(m%3==0)

{

d[i]=m;

i++;

return(i);

2.函数voidmove(inta[],intn,intm)的功能是将有n个元素的数组a中前面各数顺序向后移m个位置,最后m个数变成最前面m个数。

编写main,调用move函数,输出变换后的结果。

voidmain()

voidmove(inta[10],intn,intm);

intn,m;

请输入你要的数组长度\n"

输入你要交换的数组:

n;

输入你要交换前多少个数字:

move(a,n,m);

voidmove(inta[10],intn,intm)

int*p,array_end;

if(m>

p=a+n-1;

array_end=*(a+n-1);

for(p;

p>

a;

p--)

*p=*(p-1);

*a=array_end;

m--;

3.函数voidjssort(inta[],intn)的功能是对a数组中前n个元素的后三位的大小进行升序排序。

要求:

在main中输入a数组的10个元素;

调用函数jssort实现对a数组的排序;

输出排序后的各元素。

测试数据:

6012,5099,9012,7025,8088,9096,8080,3046,5082,2345

运行结果:

6012,9012,7025,3046,8080,5082,8088,9096,5099,2345

源程序代码如下:

{voidjssort(intb[]);

voidwritedat(intb[]);

inta[10],i;

请输入需要排序的数组:

jssort(a);

writedat(a);

voidjssort(intb[])

inti,j,min,t;

9;

{min=i;

for(j=i+1;

if(b[min]%1000>

b[j]%1000)min=j;

if(min!

=i)

{t=b[min];

b[min]=b[i];

b[i]=t;

voidwritedat(intb[])

{inti;

排序后的数组:

for(i=0;

b[i]);

了解了如何定义函数,如何调用函数,明白全局变量的应用范围。

区别内部函数与外部函数。

学会运用函数。

实验5

用指针处理链表

1.掌握指针的概念,会定义和使用指针变量;

2.掌握结构体类型变量定义和使用;

3.掌握链表的概念和操作方法。

1.综合教材第9章例9.9(建立链表的函数creat)、例9.10(输出链表的函数print)和第9章习题第7题(删除链表中结点的函数del)、第8题(插入结点的函数insert),再编写一个主函数,先后调用这些函数。

用5个函数组成一个程序,实现链表的建立、输出、删除和插入,在主函数中指定需要删除和插入的结点的数据。

链表是常见的数据结构,它是动态的进行存储分配的结构,链表中各元素在内存中的地址可以是不连续的。

链表这种结构必须利用指针变量才能实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1