当前位置:
文档之家› C语言程序设计(实验六~数组)
C语言程序设计(实验六~数组)
loca=-1;
while((!sign)&&(top<=a[N-1]))
{
mid=(bott+top)/2;
if(number==a[mid])
{
loca=mid;
printf("has found %d,its position is %d\n",number,loca+1);
sign=1;
}
else if(number<a[mid])
a[i]=a[min];
a[min]=t;
}
printf("the sorted:\n");
for(i=0;i<=9;i++)
printf("%d ",a[i]);
printf("\n");
}
3、输出以下的杨辉三角形(要求输出十行)。
#include<stdio.h>
void main()
{
int a[10][10],i,j;
printf("%d ",a[i]);
printf("\n");
}
9、
#include<stdio.h>
#define N 15
vHale Waihona Puke id main(){int i,number,top,bott,mid ,loca,a[N],flag=1,sign;
printf("enter date:\n");
for(i=0;i<N;i++)
{
int a[11]={1,5,7,9,15,36,47,78,92,98};
int c,b,num,i,j;
printf("a:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
printf("input a number:");
scanf("%d",&num);
中国石油大学(北京)
实
验
报
告
实验课程:C语言程序设计
实验名称:实验六:数组
班级:自动化10-1学号:2010044116姓名:李新明
实验台号:成绩:
实验日期:2012年4月29日
一、实验目的
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法。
2.掌握字符数组和字符串函数的使用。
3.掌握与数组有关的算法(特别是排序法)。
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
{
if(i==j)
a[i][j]=1;
else if(j==0)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
printf("shulie:\n");
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
二、实验内容
编程并上机调试程序。
1、用筛选法求100以内的素数。
#include<stdio.h>
#include<math.h>
void main()
{
int a[100],i,j,k;
printf("素数:\n");
for(i=0;i<100;i++)
a[i]=i;
for(j=0;j<100;j++)
if(num>a[9])
a[10]=num;
else
{
for(i=0;i<10;i++)
{
if(a[i]>num)
{
c=a[i];
a[i]=num;
for(j=i+1;j<11;j++)
{
b=a[j];
a[j]=c;
c=b;
}
break;
}
}
}
printf("new a:\n");
for(i=0;i<11;i++)
break;
}
}
printf("output result:%d\n",d);
}
7、数组逆序存放。
#include<stdio.h>
#define N 5
void main()
{
int a[N],i,t;
printf("input a:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(j=0;str2[j]!='\0';j++)
{
str1[i]=str2[j];
i++;
}
str1[i]='\0';
printf("the new string is:\n%s\n",str1);
}
6、字符串比较。
#include<stdio.h>
void main()
{
int i,d;
char str1[100]={0},str2[100]={0};
printf("input ten number:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<=8;i++)
{
min=i;
for(j=i+1;j<=9;j++)
{
if(a[min]>a[j])
min=j;
}
t=a[i];
for(i=0;i<N/2;i++)
{
t=a[i];
a[i]=a[N-i-1];
a[N-i-1]=t;
}
printf("new a:\n");
for(i=0;i<N;i++)
printf("%d ",a[i]);
printf("\n");
}
8、插入一个数。
#include<stdio.h>
void main()
scanf("%s",str2);
for(i=0;str2[i]!='\0';i++)
str1[i]=str2[i];
str1[i]=str2[i];
printf("output str1:\n%s\n",str1);
}
5、将两个字符串连接起来。
#include<stdio.h>
void main()
printf("%d ",a[i][j]);
printf("\n");
}
}
4、将字符数组s2中的全部字符复制到字符数组s1中。
#include<stdio.h>
void main()
{
char str1[100]={0},str2[100]={0};
int i;
printf("input str2:\n");
printf("input str1:\n");
gets(str1);
printf("input str2:\n");
gets(str2);
for(i=0;str1[i]!='\0'||str2[i]!='\0';i++)
{
if(str1[i]==str2[i])
d=0;
else
{
d=str1[i]-str2[i];
{
char str1[100]={0},str2[100]={0};
int i,j;
printf("input str1:\n");
scanf("%s",str1);
printf("input str2:\n");
scanf("%s",str2);
for(i=0;str1[i]!='\0';i++);
scanf("%d ",&a[i]);
printf("\n");
while(flag)
{
printf("input number to look for:");
scanf("%d",&number);
sign=0;
top=0;
bott=N-1;
if((number<a[0])||(number>a[N-1]))
{
k=sqrt(a[j]);
for(i=2;i<=k;i++)
if(a[j]%i==0)
break;