苏嵌10 16.11.9

来源:互联网 发布:百货批发软件哪个好 编辑:程序博客网 时间:2024/05/16 02:04

今天课前练习了2个二维数组程序 课上也敲了4个一维数组的问题  加上课后敲的1个 感觉除了有时候对逻辑方面没有完全理清楚外 对数组的运用还是比较熟练了

1、对一个二维数组进行行列互换

#include<stdio.h>


int main()
{
    int i;
    int j;
    
    int a[2][3]={{1,2,3},{2,3,4}};
    int b[3][2];
    
    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[j][i]);
}
printf("\n");
    }


    return 0;
}


2、求出3×4矩阵中最大元素的值以及其所在的行号和列号

#include<stdio.h>


int main()
{
    int i;
    int j;
    int max;
    int row = 0;
    int colum = 0;


    int a[3][4] = {{1,2,5,6},{12,5,6,7},{8,9,10,11}};
    
    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 is:%d\n",max);
    printf("row = %d\n",row);
    printf("colum = %d\n",colum);
    return 0;
}


3、求一段字符串中数字的个数

#include <stdio.h>
#include <string.h>


int main()
{
    int i;
    int sum = 0;


    char str[20];
    
    
    printf("the string is:\n");
    gets(str);


    for(i = 0; str[i] != '\0'; i++)
    {
        if(str[i] >= '0' && str[i] <= '9')
{
   sum++;
}
    }


   
    printf("%d",sum);
    return 0;
}


4、将一段数字字符串以整型输出

#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    int k = 0;


    char str[MAX_SIZE];
    
    printf("the str is:\n");
    gets(str);


    for(i = 0; i <= strlen(str) - 1; i++)
    {
        k = k * 10 + (str[i] - '0');
    }


    printf("%d\n",k);
    return 0;
}


5、将整型数字以字符串形式输出

#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    int len;
    int num;


    int count = 0;
    
    char temp;
    char str[MAX_SIZE];


    printf("the string is:\n");
    scanf("%d",&num);
    
    i = 0;
    while(num != 0)
    {
        str[i] = num % 10 + '0';
num = num / 10;
i++;
    }
    
    str[i] = '\0';
    len = strlen(str);


    for(i = 0; i < len / 2 ; i++)
    {
        temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
    }
    
    printf("%s\n",str);
    return 0;
}


6、将字符串中的数字相加求和

#include <stdio.h>
#include <string.h>


#define MAX_SIZE 100


int main()
{
    int i;
    
    int sum = 0;
    int k = 0;


    char a[MAX_SIZE];


    printf("the string is:\n");
    scanf("%s",a);
    


    for(i = 0; a[i] != '\0'; i++)
    {
        while(a[i] >= '0' && a[i] <= '9')
{    
    k = k * 10 + (a[i] - '0');
    i++;
}


sum = sum + k;


k = 0;
    }
    


    printf("%d\n",sum);
    return 0;
}


7、求出字符串中最长的数字子串的长度

#include<stdio.h>


#define MAX_SIZE 100
int main()
{
    int i;
    int num = 0;
    int count = 0;
    int result = 0;
    
    char a[MAX_SIZE];


    printf("the string is:\n");
    scanf("%s",a);


    for(i = 0; a[i] != '\0'; i++)
    {
        while(a[i] >= '0' && a[i] <= '9')
{
   count++;
   i++;
}


if(count >= result)
{
   result = count;
}


count = 0;
    }


    printf("%d",result);
    return 0;
}


数组的语句还是挺简单的 关键在于逻辑

★键盘上输入字符时候,用字符数组定义

★使用宏定义

★数组名为数组首元素的地址

★连续判断用while

0 0
原创粉丝点击