c语言实验作业(截屏)
数组与函数 一.实验目的 1.掌握一维数组和二维数组的定义、赋值和输入输出方法。
2.掌握与数组有关的算法。
3.掌握字符数组和字符串函数的使用方法。
4.能正确定义数组的指针,熟练使用指针访问数组元素。
5.学会使用字符串的指针和指向字符串的指针变量。
6.学会使用指针数组处理多个字符串数据。
7.了解函数的基本结构。
8.理解函数参数传递的机制,理解过程程序设计思想。
9.理解函数调用的过程。
10.理解函数的嵌套调用和递归调用。
11.了解局部变量和全局变量的作用范围。
二.实验内容:
6—2:
<1>.编程求出一维数组其中最小元素的值,以及它所在的下标号。该程序的变量说明和输出语句如下所示,根据所描述的步骤,补充完成该程序。
#include "stdio.h" main(){ int i,index=0,MIN,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);MIN=a[0];for(i=1;i<10;i++)if(MIN>a[i]){MIN=a[i];index=i;} printf("MIN=%d,index=%dn",MIN,index);} <2>.模仿第二题对一个三行四列的矩阵,求出其中最大的那个元素值以及他所在的行号和列号,补充完成下面的程序。
#include "stdio.h" main(){ int i,j,row,colum,a[3][4],max;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);max=a[0][0],row=0,colum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(max 4.有下面一个矩阵: 10-1 9 8 11 14 7 2 3 4 6 19 4 2 7 13 编写程序,分别求出矩阵的主 次对角线之和,周边元素之和,主对角线及下方之和。 #include "stdio.h" main(){ int i,j,sum1=0,sum2=0,sum3=0,sum4=0;int a[4][4]={{10,-1,9,8},{11,14,7,2},{3,4,6,19},{4,2,7,13}};for(i=0;i<4;i++)for(j=0;j<4;j++){if(i==j)sum1=sum1+a[i][j];if(i+j==3)sum2=sum2+a[i][j];if(i==0||j==0||i==3||j==3)sum3=sum3+a[i][j];if(i>=j)sum4=sum4+a[i][j];} printf("sum1=%d,sum2=%d,sum3=%d,sum4=%dn",sum1,sum2,sum3,sum4);} 5.程序功能为连接两个字符串 S1 和 S2,按要求完成程序: (1)不使用 strcat 函数实现程序功能,阅读程序并填空。 #include "stdio.h" #include "string.h" main(){ char s1[80],s2[20];/*s2 连接 S1后面,S1 应该足够大*/ int i=0,j=0;printf("nInputstring1:");scanf("%s",s1);/输入串 S1*/ printf("nInputstring2:");scanf("%s",s2);/输入串 S2*/ while(s1[i]!=" ")i++;while(s2[j]!=" ")s1[i++]=s2[j++];/将 S2 串的各个字符放到 S1 串适当的位置*/ s1[i]=" ";/*加结束标记*/ printf("Thenewstringis:%s",s1);/*显示连接后的串*/ }(2)调用 strcat 函数实现程序功能。 源程序:#include "stdio.h" #include "string.h" main(){ char s1[80],s2[20];int i=0,j=0;printf("nInputstring1:");scanf("%s",s1);printf("nInputstring2:");scanf("%s",s2);strcat(s1,s2);printf("Thenewstringis:%s",s1);} 6.输入 10 个数据,按冒泡法从小到大排序并显示排序结果。然后再输入个数插入其中,要求插入后仍然有序,请编写此程序。 #include "stdio.h" main(){ int i,j,input,temp,a[11];printf("nenter data:n");for(i=1;i<=10;i++){ printf("a[%d]=",i);scanf("%d",&a[i]);} printf("n");for(i=1;i<=10;i++)printf("%5d",a[i]);printf("n");for(i=1;i<=9;i++)for(j=1;j<=10+1-i;j++)if(a[j] data:n");scanf("%d",&input);i=1;while(input>a[i]&&i<=10){a[i-1]=a[i];i++;} a[i-1]=input;for(i=0;i<=10;i++)printf("%5d",a[i]);} 7-4、编写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。函数功能分析(1).函数接收一个整数;(2)判断这个整数是否为素数,是素数则返回值 1,不是则返回 0.#include "stdio.h" int isaprime(int n){int i;if(n==2)return 1;for(i=2;i<=n/2;i++)if(n%i==0)return 0;return 1;} main(){ int n;printf("请输入一个整数:n");scanf("%d",&n);if(isaprime(n)==1)printf("%d 是素数",n==1);else printf("%d 不 是 素 数",n==0);} 7-5.在第是题基础上,编写函数,函数功能为求数组中素数的个数。源程序如下:将程序填写完整并上机验证.#include "stdio.h" int isaprime(int n){int i;if(n==2)return 1;for(i=2;i<=n/2;i++)if(n%i==0)return 0;return 1;} int isprime(int a[],int n){int i,x=0;for(i=0;i
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《c语言实验作业(截屏)》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
