首页 > 代码库 > 张照行 的第七次作业

张照行 的第七次作业

1.第一题就放大招,难以招架啊,实在是难,而且课外知识涉及的也不少,偏偏放在第一题上,这是让我们知难而进吗,纠结了两天不是盖的,请教了同学也查了资料,最后总算是弄出来了,不容易啊,为了表示真的好难,就展示三个版本好了

#include <stdio.h>
int main()
{
    int a[26]={0};
    char zzh[13]={
        z,h,a,n,g,z,h,a,o,h,a,n,g
    };
    
    int i;
    for(i=0;i<13;i++)
        a[zzh[i]-a]++;
    for(i=0;i<26;i++)
        printf("%c:%d个\n",A+i,a[i]);    
    return 0;
} 

这个是初级版,不用输入,就直接是我的名字,哈哈是挺简陋的,不过这就已经很费劲了,而且其实三个版本都请教了同学,只是我的理解程度不同罢了

#include <stdio.h>
int main()
{
    char zzh[50];
    int many[26]={0},i,n,m;
    printf("您的名字拼音有几个字母:");
    scanf("%d",&n); 
    printf("请输入您名字的拼音,非常抱歉,这个机器有些笨,所以请您一个字每一个字母的输入,用空格隔开哦:\n");
    for(i=0;i<n;i++)
        {
            scanf("%c",&m);
            zzh[i]=m;
        }
    for(i=0;i<n;i++)
        many[zzh[i]-a]++;
    for(i=0;i<26;i++)
        printf("%c:%d个\n",A+i,many[i]);    
    return 0;
} 

其实这个才是最后打出来的,不过是我理清了之后按自己思路打的,这也算是把那些课外的东西消化了为我所用了,虽然要打一个字母空一格,但是就算是拼写了嘛,有些欠缺,但是我还是比较满意的

#include <stdio.h>
#include <string.h>
int main()
{
    char zzh[100];
    int length,many[26]={0},i;
    printf("输入名字的拼音:");
    scanf("%s",zzh);
    length=strlen(zzh);
    for(i=0;i<length;i++)
        many[zzh[i]-a]++;
    for(i=0;i<26;i++)
        printf("%c:%d个\n",A+i,many[i]);    
    return 0;
} 

这个呢,就厉害了,又简洁,又精准,一开始请教的时候很吃力,不过慢慢还是能理解了。

很难,也学到了很多

2.

#include<stdio.h>
int main()
{
    int n,d;
    printf("请输入n的值:");
    scanf("%d",&n); 
    int a[10];
    int b[10];
    printf("请输入这些数:");
    int i;
    for(i=0;i<n;i++)
        {
            scanf("%d",&d);
            a[i]=d;
        }
    printf("这些数倒过来为:");    
    for(i=0;i<n;i++)
         {
             b[i]=a[n-i-1];
             printf("%d ",b[i]);
         }
    return 0;
}

3.

#include<stdio.h>
int main()
{
    int n,m,d,e,i,j;
    printf("第一组数有几个数:");
    scanf("%d",&n); 
    int a[10];
    int b[10];
    printf("请输入第一组数:");
    for(i=0;i<n;i++)
        {
            scanf("%d",&d);
            a[i]=d;
        }
    printf("第二组数有几个数:");
    scanf("%d",&m);    
    printf("请输入第二组数:");
    for(i=0;i<m;i++)
         {
             scanf("%d",&e);
            b[i]=e;
         }
     printf("它们的共有元素有:");    
     for(i=0;i<n;i++)
         {
             for(j=0;j<m;j++)
                 {
                     if(a[i]==b[j])
                         printf("%d ",a[i]);
                 }
         }    
    return 0;
}

4.

#include<stdio.h>
int other(int n)
{
    if(n==0)
        return 0;
    else
        {
            printf("%d",n%10);
            return other(n/10);
        }    
}
int main()
{
    int m; 
    printf("请输入整数(不为0):");
    scanf("%d",&m);
    printf("将这个数反序输出为:");
    other(m);
    return 0;
}

心得:总的来说,这次作业,除了第二题,但是第二题因为做第一题做的脑子很混乱,也出现了不小的失误,所以每一题都卡了很久,第四题是没好好看题目一开始就做错了,都挺难的,但就第一题烧脑,作业一次比一次难,挑战越来越大,同学们,加油吧!

 

张照行 的第七次作业