P4,C开发笔试题三道

来源:互联网 发布:深圳岂凡网络 林秋敏 编辑:程序博客网 时间:2024/06/10 07:01

1、输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

/* * countData.c *输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。 *  Created on: 2017年10月25日 *      Author: 花花 * */#include<stdio.h>#define MAX 100void countData(){    int countChar=0;    int countNull=0;    int countNumber=0;    int countOther=0;    char data[MAX];    int n=0;    int i=0;    printf("请输入一行数据:\n");    while((getchar()!='\n')){        scanf("%c",&data[n]);        n++;    }    for(i=0;i<=n;i++){        if(((data[i]>='A')&&(data[i]<='Z'))||((data[i]>='a')&&(data[i])<='z')){            countChar++;        }        else if(data[i]==' '){            countNull++;        }        else if((data[i]>='0')&&(data[i]<='9')){            countNumber++;        }        else{            countOther++;        }    }//for循环结束    printf("字母的个数为:%d\n",countChar);    printf("空格的个数为:%d\n",countNull);    printf("数字的个数为:%d\n",countNumber);    printf("其它字符的的个数为:%d\n",countOther);}void main(){    countData();}

这里写图片描述

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

/*求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。*/#include<stdio.h>#include<math.h>double getSum(int n){    double sum=0;    int i;    int flag;    for(i=1;i<=n;i++){        flag=(int)(pow(-1,i+1));        sum=sum+flag*(1.0/i);    }    return sum;}void main(){    int n;    printf("请输入一个整数n(n>=1):\n");    scanf("%d",&n);    printf("和为:%f\n",getSum(n));}

这里写图片描述

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

/* * 矩阵转置:将一个m行n列矩阵(即m×n矩阵)的每一行转置成另一个n×m矩阵的相应列   例如:将2*3的矩阵转置后输出:   即将       1 2 3       转置  1  4            4 5 6               2  5                                3  6*/#define MAX 100#include<stdio.h>void main(){    int m,n,i,j;    int a[MAX][MAX];    int b[MAX][MAX];    printf("请输入矩阵的行数,列数:\n");    scanf("%d%d",&m,&n);    printf("请输入矩阵的元素:\n");    for(i=0;i<m;i++){            for(j=0;j<n;j++){                scanf("%d",&a[i][j]);            }        }    for(i=0;i<n;i++){          //转置        for(j=0;j<m;j++){            b[i][j]=a[j][i];        }    }    printf("\n当前矩阵为:\n");        for(i=0;i<m;i++){            for(j=0;j<n;j++){                printf("%d ",a[i][j]);            }            printf("\n");        }    printf("\n转置之后的矩阵为:\n");    for(i=0;i<n;i++){            for(j=0;j<m;j++){                printf("%d ",b[i][j]);            }            printf("\n");        }        printf("\n");}

运行结果:
这里写图片描述

原创粉丝点击