第6章 利用数组处理批量数据

例6.1对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆顺序输出。

#include<stdio.h> 
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; 
 }

运行结果如下:
在这里插入图片描述

例6.2用数组来处理求Fibonacci数列问题。

#include<stdio.h> 
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; 
 }

运行结果如下:
在这里插入图片描述

例6.3有10个地区的面积,每行输出5个数据。

#include<stdio.h> 
int main() 
{
 int a[10];
  int i,j,t; 
  printf("intput 10 number:\n"); 
  for(i=0;i<10;i++) 
  scanf("%d",&a[i]); 
  printf("\n"); 
  for(j=0;j<9;j++) 
  for(i=0;i<9-j;i++) 
  if(a[i]>a[i+1]) 
  {
   t=a[i];
   a[i]=a[i+1];
   a[i+1]=t;
    }
 printf("the sorted number:\n"); 
 for(i=0;i<10;i++) 
 printf("%d",a[i]);
  printf("\n");
   return 0; 
}

运行结果如下:
在这里插入图片描述

例6.4将一个二维数组行和列的元素互换,存到另一个二维数组中。

#include<stdio.h> 
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; 
    }

运行结果如下:
在这里插入图片描述

例6.5有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

#include<stdio.h> 
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]; 
  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\nrow=%d\ncolum=%d\n",max,row,colum); 
     return 0; 
}

运行结果如下:
在这里插入图片描述

例6.6输出一个已知的字符串。

#include<stdio.h> 
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;
 }

运行结果如下:
在这里插入图片描述

例6.7输出一个菱形图

#include<stdio.h> 
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;
    }

运行结果如下:
在这里插入图片描述

6.8输入一行字符,统计其中有多少个单词,单词之间用空格分开

#include<stdio.h> 
int main() 
{
 char string[81]; 
 int i,num=0,word=0;
  char c; 
  gets(string); 
  for(i=0;(c=string[i])!='\0';i++)
   if(c==' ')word=0; 
   else if(word==0) 
   {
    word=1;
     num++;
    } 
    printf("There are %d words in this line.\n",num); 
    return 0; 
}

运行结果如下:
在这里插入图片描述

例6.9有3个字符串,要求找出其中“最大”者

#include<stdio.h> 
#include<string.h> 
int main ( ) 
{
char str1[10],str2[10],str3[10];
 gets (str1);
  gets (str2);
   gets (str3);
    if (strcmp(str1,str2)>0) 
    if (strcmp(str1,str3)>0) 
    printf("the largest:%s\n",str1);
     else printf("the largest:%s\n",str3); 
     else if (strcmp(str2,str3)>0) 
     printf("the largest:%s\n",str2);
      else 
      printf("the largest is:%s\n",str3); 
      return 0; 
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值