字符计算 矩阵转置 1-1/2+1/3-1/4+......+1/99-1/100

输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
注意:要考虑到空格的读取,scanf会忽略空格

#include <stdio.h>
#include <stdlib.h>

int main()
{
    char a[10000];
    gets(a);
    printf("输入的字符串为:\n");
     printf("%s\n", a);
    int length = strlen(a);
    int Lnum=0, Knum=0, Snum=0, Qnum=0;
    int i=0;
    for(i=0; i<length; i++)
    {
        if((a[i]>='a' && a[i]<='z') || (a[i]>='A' && a[i]<='Z'))
            Lnum++;
        else if(a[i] == ' ')
            Knum++;
        else if(a[i]<='9' && a[i]>='0')
            Snum++;
        else
            Qnum++;
    }
    printf("字母个数为:%d\n", Lnum);
    printf("数字个数为:%d\n", Snum);
    printf("空格个数为:%d\n", Knum);
    printf("其他字符个数为:%d", Qnum);
    return 0;
}

求下列式子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i=0;
    float result=0;
    for(i=1; i<=100; i++)
    {
        if(i%2 == 1)
        {
            result = result+(1/(double)i);
        }
        else
        {
            result = result-(1/(double)i);
        }
    }
    printf("计算结果为:%lf", result);
    return 0;
}

矩阵转置:将一个m行n列矩阵(即m×n矩阵)的每一行转置成另一个n×m矩阵的相应列
例如:将2*3的矩阵转置后输出:
即将 1 2 3 转置 1 4
4 5 6 2 5
3 6
注意:先了解矩阵转置的规则

#include <stdio.h>
#include <stdlib.h>

int main()
{
     int m, n;
     scanf("%d%d", &m, &n);
     int a[m][n];
     int b[n][m];
     int i=0, j=0;
     for(i=0; i<m; i++)
     {
         for(j=0; j<n; j++)
         {
             scanf("%d", &a[i][j]);
         }
     }
     printf("原矩阵:\n");
     for(i=0; i<m; i++)
     {
         for(j=0; j<n; j++)
         {
             printf("%5d", a[i][j]);
         }
         printf("\n");
     }
     printf("转置后:\n");
     for(i=0; i<n; i++)
     {
         for(j=0; j<m; j++)
         {
             b[i][j]=a[j][i];
         }
     }
     for(i=0; i<n; i++)
     {
         for(j=0; j<m; j++)
         {
             printf("%5d",b[i][j]);
         }
         printf("\n");
     }
}

猜你喜欢

转载自blog.csdn.net/zhanghuali0210/article/details/78409330
今日推荐