C语言第七次作业

1,这个题想了很久没有想出来,查了很多资料,在网上也看了很多帖子,但还是有很多不理解的地方,实在写不出来,在网上仿照别人做好的程序写的,也有很多瑕疵,最后printf("%c:%-3d ",j,a[j]);,不明白%-3d是什么意思,希望老师可以帮忙解答一下.

#include<stdio.h>
int main()
{
    int a[100]={0},i,j; 
    char c;
    while((c=getchar())!='
')
    for (i=65;i<=90;i++)
    if(c==i||c==i+32)
    {
        a[i]++;
    }
    for (j=65;j<=90;j++)
    if (a[j]>0)
    printf("%c:%-3d
",j,a[j]);
    return 0;
}

2,第二题做的也有很多瑕疵,输入的数只能输10个,而不是随意输都能运行.

#include <stdio.h>
#include <string.h>
int main()
{
    int i;
    int a[10];
    printf("请输入十个个数:"); 
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<5;i++)
    {
        int t=a[i];
        a[i]=a[9-i];
        a[9-i]=t;
    }
    for(i=0;i<10;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

3,这个题是请教张照行同学的,根据他所说的思路写的,感觉还是很乱,用了很多次循环,自己也程序的时候也用稍微有点混乱,辛亏有张照行在旁边指导.

#include<stdio.h>
int main()
{
    int a[100];
    int b[100];
    int c,d,e,f,i,j,k,l;
    printf("第一组数包含几个数:");
    scanf("%d",&c);
    printf("请输入第一组数:");
    for(i=0;i<c;i++)
    {
        scanf("%d",&d);
        a[i]=d;
    }
    printf("第二组数包含几个数:");
    scanf("%d",&e);
    printf("请输入第二组数:");
    for(j=0;j<e;j++)
    {
        scanf("%d",&f);
        b[j]=f;
    }
    printf("两组数共有的元素有:");
    for(k=0;k<c;k++)
    {
        for(l=0;l<e;l++)
        {
            if(a[k]==b[l])
            printf("%d",a[k]); 
        }
    }
    return 0;
}

4,编辑这个代码也参照了网上找的代码,在编辑过程中也遇到了困难,但都已解决.

#include <stdio.h>
void a(int n)
{
    printf("请输入一个多位整数:"); 
    if(n>0)
    {
        printf("%d",n%10);
        a(n/10);
    }
}
int main()
{
    int x;
    scanf("%d",&x);
    a(x);
    return 0;
}

  总的来说这次的作业情况感觉不太好,有不少东西是照搬的,还有些知识没用弄懂,在编辑代码的过程中也遇到了很多问题没有解决,以后还需要在C语言编辑上多下功夫,多阅读书籍上的知识,需要多加练习.



原文地址:https://www.cnblogs.com/yypfd/p/6052964.html