C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据

文章目录

  • C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据
    • 源码
    • 6-1逆序输出数组
    • 6-2斐波那契数列
    • 6-3冒泡排序
    • 6-4二维数组互换
    • 6-5 二维数组最大值
    • 6-6输出数组
    • 6-7输出菱形图
    • 6-8统计单词个数
    • 6-9三个字符串最大值

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据

源码

源码: github.

6-1逆序输出数组

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第1张图片

#include 
int main()
{
  	int i,a[10];
  	
  	for (i=0; i<=9;i++)
    	a[i]=i;
    	
  	for(i=9;i>=0; i--)
    	printf("%d ",a[i]);
    	
  	printf("\n");
  	
  	return 0;
 }

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第2张图片

6-2斐波那契数列

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第3张图片

#include 
int main()
{
  	int i;
  	int f[20]={1,1};
  	
  	for(i=2;i<20;i++)
    	f[i]=f[i-2]+f[i-1];
    	
  	for(i=0;i<20;i++)
    {
     	if(i%5==0) printf("\n");
       	printf("%12d",f[i]);
    }
    
  	printf("\n");
  	return 0;
}

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第4张图片

6-3冒泡排序

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第5张图片

#include 
int main()
{
	int a[10];
   	int i,j,t;
   	
   	printf("input 10 numbers :\n");
   	for (i=0;i<10;i++)                    
     	scanf("%d",&a[i]);                  
   	printf("\n");
   	
   	for(j=0;j<9;j++) 
	{                          // 进行9次循环,实现9趟比较
		for(i=0;i<9-j;i++)
		{                     // 在每一趟中进行9-j次比较                  
	  		if (a[i]>a[i+1])                     // 相邻两个数比较 
	    	{
				t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;
			}
		}
	}	
		
	printf("the sorted numbers :\n");
	
	for(i=0;i<10;i++)
	{
		printf("%d ",a[i]);	
	} 	
	printf("\n");
	
   	return 0;
}

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第6张图片

6-4二维数组互换

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第7张图片

#include 
int main()
 {
   int a[2][3]={{1,2,3},{4,5,6}};
   int b[3][2],i,j;
   
   printf("array a:\n");
   
   	for (i=0;i<=1;i++)
	{
      	for (j=0;j<=2;j++)
    	{
          	printf("%5d",a[i][j]);
          	b[j][i]=a[i][j];
        }
      	printf("\n");
    }
   	printf("array b:\n");
   	for (i=0;i<=2;i++)
   	{
      	for(j=0;j<=1;j++)
        printf("%5d",b[i][j]);
       	printf("\n");
   	}
   return 0;
 }    

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第8张图片

6-5 二维数组最大值

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第9张图片

#include 
int main()
{
	int i,j,row=0,colum=0,max;
  	int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};   // 定义数组并赋初值
  	max=a[0][0];                                       // 先认为a[0][0]最大
  	for (i=0;i<=2;i++)
  	{
	    for (j=0;j<=3;j++)
	    {
		    if (a[i][j]>max)                              // 如果某元素大于max,就取代max的原值
		    {
				max=a[i][j];
		       	row=i;                                    // 记下此元素的行号
		       	colum=j;                                  // 记下此元素的列号
		    } 	
		} 
	} 

  printf("max=%d\nrow=%d\ncolum=%d\n",max,row,colum);
  return 0;
}   

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第10张图片

6-6输出数组

在这里插入图片描述

#include 
int main()
{
	char c[15]={'I',' ','a','m',' ','a',' ','s','t','u','d','e','n','t','.'};
  	int i;
  	for(i=0;i<15;i++)
    	printf("%c",c[i]);
  	printf("\n");
  	return 0;
}  

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第11张图片

6-7输出菱形图

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第12张图片

#include 
int main()
{
	char diamond[][5]={	{' ',' ','*'},
						{' ','*',' ','*'},
						{'*',' ',' ',' ','*'},
						{' ','*',' ','*'},
						{' ',' ','*'}};
  	int i,j;
  	for (i=0;i<5;i++)
    {
		for (j=0;j<5;j++)
        printf("%c",diamond[i][j]);
     	printf("\n");
    }
  	return 0;
}

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第13张图片

6-8统计单词个数

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第14张图片
C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第15张图片

#include 
int main()
{
  	char string[81];
  	int i,num=0,word=0;
  	char c;
  	gets(string);                           // 输入一个字符串给字符数组string
  	for (i=0;(c=string[i])!='\0';i++)       // 只要字符不是'\0'就继续执行循环
    {
		if(c==' ') 
			word=0;                    		// 如果是空格字符,使word置0
	    else if(word==0)              		// 如果不是空格字符且word原值为0
		{
			word=1;                          // 使word置1
	     	num++;                           // num累加1,表示增加一个单词
		}
	}	

  printf("There are %d words in this line.\n",num);  //输出结果
  return 0;
}

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第16张图片

6-9三个字符串最大值

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第17张图片

#include
#include
int main ( )
{
  	char str[3][20];                 // 定义二维字符数组
  	char string[20];                 // 定义一维字符数组,作为交换字符串时的临时字符数组
  	int i;
  	
  	for (i=0;i<3;i++)
      gets (str[i]);                 // 读入3个字符串,分别给str[0],str[1],str[2]   
	
	if (strcmp(str[0],str[1])>0)     // 若str[0]大于str[1]
	  	strcpy(string,str[0]);       // 把str[0]的字符串赋给字符数组string
	else                             // 若str[0]小于等于str[1]
		strcpy(string,str[1]);       // 把str[1]的字符串赋给字符数组string 

	if (strcmp(str[2],string)>0)     // 若str[2]大于string
		strcpy(string,str[2]);       // 把str[2]的字符串赋给字符数组string     
	
	printf("\nthe largest string is:\n%s\n",string);  // 输出string
	return 0;
}

C程序设计(谭浩强)随书代码验证-第六章 利用数组处理批量数据_第18张图片

你可能感兴趣的:(C语言,#,谭浩强《C程序设计》例程笔记)