C语言Word文档下载推荐.docx
- 文档编号:21141291
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:12
- 大小:92.97KB
C语言Word文档下载推荐.docx
《C语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
(11)了解局部变量和全局变量的使用方法和作用范围。
二、实验内容:
1.
(1)补全下面的程序,程序的功能是求一位数组的中最小元素的值及其所在的下标号。
#include"
stdio.h"
main()
{
inti,a[10],min,index;
for(i=0;
i<
10;
i++)/*利用一充循环给数组a赋值*/
scanf(“%d”,&
a[i]);
for(i=0,min=a[0],index=1;
i++)/*求数组a中的最小值mim及其对应的下标index*/
if(min>
a[i]){min=a[i];
index=i+1;
}
printf("
MIN=%d,index=%d\n"
min,index);
}
(2)模仿1
(1)对一个3行4列的矩阵b[3][4],求出其中最大的元素的值及其所在的行号和列号。
提示:
二维数组有两个下标,极值所在的行标和列表可以使用两个变量(row和col)来表示,先将它们初始化为0,最大值用max表示,先初始化为b[0][0],然后利用双重循环遍历二维数组元素,如果有比最大值大的元素,就用max记录下它的值,用row和col分别记录最新的最大值所在的行号和列号,循环结束后max记录下所出现过的最大值,row和col分别记录最大值所在的行号和列号,最后输出max、row和col的值就完成要求。
#include<
stdio.h>
voidmain()
{
inti,j,row,col,max,b[3][4];
printf("
请输入一个3行4列的矩阵\n"
);
for(i=0;
3;
i++)
for(j=0;
j<
4;
j++)
scanf("
%d"
&
b[i][j]);
max=b[0][0];
row=0;
col=0;
i++)
for(j=0;
j++)
if(b[i][j]>
max)
{
max=b[i][j];
row=i+1;
col=j+1;
}
max=%d,row=%d,col=%d\n"
max,row,col);
2.有下面一个矩阵:
101541
231387
2481
22965
编写程序,要求完成以下功能:
(1)分别求该矩阵的主次对角线元素之和。
(2)求该矩阵的周边元素之和。
(3)求该矩阵主对角线及其上方元素之和。
=g
#include<
voidmain()
inta[4][4]={{10,15,4,1},{23,13,8,7},{2,4,8,1},{22,9,6,5}};
inti,j;
intsum1=0;
//主次对角线之和
intsum2=0;
intsum3=0;
//周边元素之和
intsum4=0;
//主对角线及其上方的元素之和。
{for(j=0;
printf("
%4d"
a[i][j]);
\n"
if(i==j||i+j==3)
sum1+=a[i][j];
sum2+=a[i][j];
sum3+=sum2-a[1][1]-a[1][2]-a[2][1]-a[2][2];
if(i<
=j)
sum4+=a[i][j];
此矩阵主次对角线之和为%d周边元素之和为%d主对角线及其上方的元素之和为%d\n"
sum1,sum3,sum4);
3.有两个字符串S1和S2,编程将S1串中出现的和S2串中相同的字符删掉,输出新的字符串S1。
stdlib.h>
voidmain(intargc,char*argv[])
inti,j,k=0;
chars1[20],s2[20],s3[20];
请输入字符串s1和s2:
gets(s1);
gets(s2);
s1[i]!
='
\0'
;
{
s2[j]!
{
if(s1[i]==s2[j])//如果相等则代表匹配了字符,则退出内层循环,并且此时s2[j]!
break;
}
if(s2[j]=='
)//如果s2[j]=='
则代码未发生匹配,则存入s3
s3[k++]=s1[i];
s3[k]='
//此处应用单个=,为赋值,设置字符串结束
新的字符串为:
%s\n"
s3);
4.将字符串S1和S2中的字符按照字符ASCⅡ码由小到大的顺序连接在一起形成S3,输出S1和S2和S3。
string.h>
#defineN8
chars1[]="
hqwt"
s2[]="
alpb"
s3[8],s;
s1=%s\ns2=%s\n"
s1,s2);
strcat(s1,s2);
for(i=1;
N;
N-1;
if(s1[j]>
s1[j+1])
{s=s1[j];
s1[j]=s1[j+1];
s1[j+1]=s;
strcpy(s3,s1);
{printf("
s3=%s\n"
5.编写一个函数intisaprime(intx),函数功能是判断参数n是不是素数,是素数返回1,不是返回0.
intisaprime(intx)
intn;
if(x<
=1)
return0;
if(x==2)
return1;
for(n=2;
n<
x;
n++)
if(x%n==0)return0;
return1;
intmain(intargc,char*argv[])
intn,i;
请输入一个数:
"
scanf("
n);
i=isaprime(n);
if(i==1)
%d是素数\n"
n);
else
%d不是素数\n"
return0;
6.在第2题基础上,编写程序判断给定的数组中含有的素数的个数。
源程序如下:
补全程序并上机验证。
(提示:
判读素数的功能可以用第2题编写的函数完成)
intisaprime(intn)
inti;
if(n<
if(n==2)
for(i=2;
=n/2;
if(n%i==0)return0;
intisprime(intx[],intn)
{intj,total=0;
for(j=0;
n;
if(isaprime(x[j])==1)total++;
returntotal;
intx[10],i;
for(i=0;
scanf("
x[i]);
数组中含有%d个素数"
isprime(x,10));
7.下面程序使用递归函数实现将一个整数转化成2进制数输出。
(给程序填空并添加注释)
voidchange(inti)
{if(i<
0){i=-i;
putchar('
-'
}//将负数转化成正数
if(i/2>
=1)change(i/2);
/*递归调用*///正数除以2取商
i%2);
//正数除以2取余数
inti;
charch;
do{
\nPleaseinputaninterger!
i);
//输入的整数
getchar();
change(i);
//调用change()函数
\nDoyouwanttocontinue?
YorN?
ch=getchar();
}while(ch=='
y'
||ch=='
Y'
8.分析下面两个程序的异同,哪一个能改变a和b的值,为什么?
voidswap(intx,inty)
{intz;
z=x;
x=y;
y=z;
inta,b;
a=3;
b=5;
a=%d,b=%d\n"
a,b);
swap(a,b);
voidswap(int*x,int*y)
z=*x;
*x=*y;
*y=z;
swap(&
a,&
b);
答:
第二个程序改变a和b的值。
因为第二个程序中形参和实参是指针变量,属于参数中的按地址传递,即实参的值能够传递给形参,而形参的改变也会影响到实参。
三、实验心得:
回想学习C语言的过程中,我遇到很多困难。
《C语言程序设计》到底事有什么用。
这门课程是用来做什么的。
这些我都不知道,我感觉自己学c语言就是一张白纸。
后来慢慢的接触多了,渐渐的有了点认识。
说实在的,我对这门课程是充满了好奇心的,可惜我知道的不多,真的。
当上机操作程序,经过编译,调试和运行后,出现界面,这些我都不懂,不过我还是想真正的学好这门课程的。
通过半个学期的学习,我掌握了基本知识。
只是基本而已,但对于好奇的东西我勇于去学习,我觉得我对自己很满意的了。
最难的就是修改和删除这两个模块,这也是我们在最后几周要解决的重点问题。
在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。
没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。
开始编写修改和删除时,很头疼,去向其他人寻求帮助,在别人的帮助和提示下,我编完了修改程序,但编译时老出错,修改后的内容将文本内的信息全部覆盖了。
困难之时,老师和同学帮助了我,完成了修改和删除。
这样以来,整个程序基本上全部完成了,就剩下完善工作了。
课程设计结束了,但是这段时间里,我又学到了更多C知识,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。
也看到了团队精神和互帮互助的重要性。
现在我觉得学习c语言不乏味了,而且我觉得学好c语言说不定哪天能发大财,所以我现在对c语言越来越有兴趣了,我想我会在课外更多的跟c语言接触,希望学到更多的东西,同时能够更多的学习到c语言。
了解c语言。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言