10.21作业(C)

来源:互联网 发布:北京九州连城网络 编辑:程序博客网 时间:2024/06/08 15:45

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

#include<stdio.h>
main()
{
char ch;
int char_num=0,kongge_num=0,int_num=0,other_num=0;
while((ch=getchar())!='\n'){
    if(ch>='a'&&ch<='z'||ch<='z'&&ch>='a'){
        char_num++;
    }
    else if(ch==' '){
        kongge_num++;
    }
    else if(ch>='0'&&ch<='9'){
        int_num++;
    }
    else{
        other_num++;
    }
}

    printf("字母=%d,空格=%d,数字=%d,其他=%d\n",char_num,kongge_num,int_num,other_num);
    return 0;
}

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

#include<stdio.h>
void main(){
    float sum=1.0, t, s= 1;
    int i;
    for(i=1;i<100;i++){
    t=s/i;
    sum = sum+t;
    s=-s;
    }
    printf("1-1/2+1/3-1/4+...+1/99-1/100=%5.4f\n",sum);
}

3.矩阵转置:将一个m行n列矩阵的每一行转置成另一个n*m矩阵的相应列

例如:将2*3的矩阵转置后输出:

即将1 2 3转置1 4

4 5 6 2 5

3 6

#include<stdio.h>
#define n 3
#define m 3
main()
{
int i,j;
int a[n][m],b[n][m];
printf("请输入%d*%d方阵:",n,m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
b[j][i]=a[i][j];
for(j=0;j<m;j++)
{
for(i=0;i<n;i++)
printf("%d",b[j][i]);
printf("\n");
}
printf("\n");
}