c语言程序设计的实验报告,C语言程序设计实验报告

以下为《C语言程序设计实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

a32b730bb4640e4b5064576d68ada4dc.png

湖南科技大学

2019-2020第二学期

C语言程序设计实验报告

专业班级:19级建筑环境与能源应用工程2班

姓 名: 冶海龙

学 号: ***24

任课教师: 赵某某

时 间: 2020年6月

地 点: 线上

指导教师评语:

签名:

年 月 日

实验题编号

实验题编号

1

代码

#include

int main()

{

int i , n;

scanf("%d",&n);

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

{

n=n/10;}

printf("%d",i);

}

运行截图

/

/

/

解题思路或步骤

用for循环逐次减少输入数的位数(循环一次输入数除以十)。循环执行次数即为输入数的位数。

经验或错误总结

尽量使循环控制变量的取值采用半开半闭区间写法。

尽量使循环体内工作量达到最小。

要避免在循环体内修改循环变量。

实验题编号

5

代码

#include

int main()

{

int i;

i=getchar();

if(i>=97&&i<=122||i>=65&&i<=90)

printf("\"lphabetic character\"");

else if(i<=59&&i>=48)

printf("\"digital character\"");

else

printf("\"other character\"");

}

运行截图

/

/

/

解题思路或步骤

将从键盘获得的字符用get car()函数转化成相应的ASCII值

再根据ASCII码表,用if()将其分成三类,并输出相应的语句。

经验或错误总结

1.逻辑运算符&&的优先级高于||所以 i>=97&&i<=122||i>=65&&i<=90 相当于(i>=97&&i<=122)||(i>=65&&i<=90)。

2.如果用scanf()代替getchar()则无法实现程序,应为getchar()返回的是ASCII值而scanf()不是。

3.运用printf()函数如果要将” ”打印出来可用转义符 \ 实现。

实验题编号

6

代码

#include

int main()

{

int i, j, n, t = 0;

scanf("%d", &n);

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

{

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

{

if (i%j == 0)

break;

}

if (i%j != 0)

{

t++;

}

}

printf("%d",t+1);

}

运行截图

/

//

解题思路或步骤

1.先创建一个循环从2开始到n

2.对其逐个判断其是否是质数,设置一个计数器t。

3.

判断结果为真时t++。最后打印输出t+1。

经验或错误总结

输出质数的个数时应输出t+1。

因为,对2判断时程序认为2不是质数。所以需要在输出时某某。在第一次判定时(if(i%j == 0))

使用break;语句可以提高程序效率。

实验题编号

3

代码

#include

int main()

{

int i , j ;

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

{

for(j=9;j>=i ; j--)

{

printf("%d*%d=%2d ",i ,j ,i*j);

}

printf("\n");

}

}

运行截图

/

/

解题思路或步骤

由于是两数相乘并且两数都是递增。所以可以设计两个循环嵌套使用。

设相乘的第一个数为i,第二个数设为j。i作为外循环变量,j为内循环变量。

因为输出类型为倒三角形,所以当j大于等于i时,打印出相应的式子,当外循环一次时换入下一行。

经验或错误总结

1.要理清思路,正确处理两个变量之间的大小关系,i要逐级递增而j要逐级递减,所以外层循环进行条件为i<=9或i<10。

2.内层循环进行条件为j>=i,否则容易陷入死循环,或重复出现相同的乘式。

3.换行应在外循环内进行才能输出倒三角的结果。每个乘式之间用空格隔开,乘式的结果应该为右对齐占两个长度。

实验题编号

10

代码

#include

#define N 3

#define M 5

int main()

{

int n, m,max=0,a[N][M];

for(n=0;n

for(m=0;m

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

for(n=0;n

for(m=0;m

{

if(max

max=a[n][m];

}

printf("%d",max);

}

运行截图

/

/

解题思路或步骤

用循环将数组储存在a[3][5]中,设置max=0将其余数值元素逐个比较,将两者中大的赋值给max,最后再输出max。

经验或错误总结

使逻辑判断语句置于循环语句外层

以上为《C语言程序设计实验报告》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值