湖北理工学院C语言实验四
n++;
scanf("%f", &a);
}
ave=;
printf ("Output : \n");
printf ("ave = %f\n", ave);
for (i=0; i<n; i++)
if () printf("%f\n", x[i]);
}
解答:
(1)源代码:
#include <stdio.h>
解答:
(1)源代码:
#include <stdio.h>
#define SIZE 20
void main()
{
printf("请输入10个整数:\n");
int a[SIZE];
int n=10,i,j,k,b;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
int c;
scanf("%d",&c);
n=n+1;
for(i=0;i<n-1;i++)
{
if(c>=a[i])
{
for(j=n-1;j>i;j--)
{
a[j]=a[j-1];
}
a[i]=c;
printf("插入后的数组为:\n");
for(k=0;k<n;k++)
{
printf(" %d ",a[k]);
#include <stdio.h>
#define N 10
voidmain( )
{ int i,a[N],av;
for(i=0;i<N;i++)
scanf("%d",a[i]);
for(i=0;i<N;i++)
{ printf("%d",a[i]);
if(i%3==0)
printf("\n");
}
char str1[100],str2[100];
scanf("%s%s",str1,str2);
strcpy(a,strlen(str1)<strlen(str2)?str1:str2);
strcpy(b,strlen(str1)>strlen(str2)?str1:str2);
printf("a = %s\n",a);
while((str1[i]==str2[i])&&(str1[i]!=(2)))
i++;
s=(3);
printf("%d\n",s);
}
解答:
(1)源代码:
#include <stdio.h>
void main ( )
{ char str1[100],str2[100];
printf("b = %s\n",b);
}
(2)运行结果:
(3)运行结果分析:
10.阅读下面的程序,然后回答后面的问题:
#include <stdio.h>
#include <string.h>
void main( )
{char s1[80], s2[40];
int i = 0, j = 0;
printf(" \n Please input string1:");
if(c>d)
for(k=0;k<d;k++)
{ ch=a[k];a[k]=b[k];b[k]=ch;}
printf("a=%s\n",a);
printf("b=%s\n",b);
}
解答:
(1)源代码:
#include<stdio.h>
#include<string.h>
void main()
{
char a[100],b[100];
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
b=a[i];
a[i]=a[j];
a[j]=b;
}
}
}
printf("排序后的数为:\n");
for(i=0;i<n;i++)
{
printf(" %d ",a[i]);
}
printf("\n");
printf("请输入要插入的一个数:\n");
scanf("%s", s1);
printf(" \n Please input string2:");
scanf("%s", s2);
while (s1[i]!= '\0' )
i++;
while (s2[j]!= '\0' )
s1[i++]=s2[j ++];
s1[i]= '\0';
printf("\n New string: %s", s1);
for(i=0;i!=N;i++)
av+=a[i];
printf("av=%f\n",av);
}
解答:
(1)源代码:
#include <stdio.h>
void main( )
{
int i,n,a[10];
float avg;
n = 10;
for(i=0;i<n;i++)
scanf("%d",&a[i]);
}
ave= sum/n ;
printf ("Output : \n");
printf ("ave = %f\n", ave);
for (i=0; i<n; i++)
if (x[i]<ave )
printf("%f\n", x[i]);
}
(2)运行结果:
(3)运行结果分析:
8.综合编程题:打印如下杨辉三角形
void main( )
{
float x[1000], sum=0.0, ave, a;
int n=0, i;
printf ("Enter mark : \n");
scanf("%f", &a);
while (a>=0.0 && n<1000)
{
sum+=a ;
x[n]=a ;
n++;
scanf("%f", &a);
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max){max源自a[i][j];row=i;
colum=j;
}
printf("max=%d,row=%d,colum=%d\n",max,row,colum);
}
(2)运行结果:
(3)运行结果分析:
实验四数 组
实验课程名:C语言程序设计
专业班级:学号:姓名:
实验时间:实验地点:K4-102指导教师:杨慧
一、实验目的和要求
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;
2.掌握字符数组和字符串函数的使用;
3.掌握与数组有关的算法(特别是排序算法)。
二、实验内容
1.调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。
#include <stdio.h>
void main( )
{int i, a[5], sum = 0;
scanf("%d,%d,%d,%d,%d", a );
for (i = 0; i <= 4; i ++)
sum += a[i];
printf("sum = %d \n", sum);
}
该程序中有哪些错误?如何修改?写出正确运行后的结果。
if(x==a[i])
{
printf("%d",i); break;
}
if(i==10)
printf("not found\n");
}
(2)运行结果:
(3)运行结果分析:
5.编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
#include <stdio.h>
voidmain( )
{ float x[1000], sum=0.0, ave, a;
int n=0, i;
printf ("Enter mark : \n") ;
scanf("%f", &a);