C语言第六章例题

例6.1 对十个数组元素依次赋值为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("%3d", 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 冒泡顺序:有十个地区的面积,要求对它们按由小到大的顺序排列

代码

#include <stdio.h>
int main()
{
 int a[10];
 int j,i,t;
 printf ("input 10 numbers:\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 second numbers:\n");
  for (i=0;i<10;i++)
  printf ("%d",a[i]);
  printf ("\n");
  return 0; 
 }
 } 

结果
在这里插入图片描述

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

代码

/*例6.4 将一个二维数组行和列的元素互换存到另一个二维数组中,例如:a={1  2  3 } b={1  4 }
                                                                4  5  6      2  5        
                                                                             3  6*/
#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有一个三乘四的矩形要求编程序,求出其中值最大的那个元素的值,以及其所在的行号和列号

代码

/*例6.5有一个三乘四的矩形要求编程序,求出其中值最大的那个元素的值,以及其所在的行号和列号*/
#include<stdio.h>
 int main() 
 { 
    int i, j;
    int max, row, colum;
 int a[3][4] = { { 1, 2, 3, 4 }, { 9, 8, 7, 6 }, { -10, 10, -5, 2 } }; 
 max = a[0][0]; 
 for (i = 0; i < 3; i++)  
 for (j = 0; j < 4; j++)   
 if (max < a[i][j]) 
 {    
    max = a[i][j];    
    row = i;    
    colum = j;   
 } 
 printf("max=%d row=%d colum=%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.8 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

代码

#include<stdio.h>
int main()
{ 
    char string[81]; 
 int i,count=0,word=0; 
 char c; gets(string);//输入一个字符串给字符数组string 
 for (i = 0;(c=string[i])!='\0'; i++) 
 {  
 if (c == ' ')//如果是空格字符,使word置0  
 {   
 word = 0;  
 }  
 else if (word == 0)//如果不是空格字符,且word原来的值为0,使word置1  
 {   
 word = 1;   
 count++; } 
 } 
 printf("count=%d\n",count);
 return 0;
 }

结果
在这里插入图片描述

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

代码

#include <stdio.h>
#include <string.h>
int main()
{
    char m[3][50], max[50];
    for (int i=0; i<3; gets(m[i]), i++);
    strcmp(m[0], m[1])>0?strcpy(max, m[0]):strcpy(max, m[1]);
    strcmp(m[2], max)>0?strcpy(max, m[2]):strcpy(max, max);
    printf("Max=%s\n", max);
    return 0;
}

结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Garuy/article/details/87877870
今日推荐