第一次作业
一、写出下列每个程序运行后的输出结果
1. #include<>
void main()
{
    int x=5;
switch(2*x-3)
{
        case 4:printf("%d ",x);
        case 7:printf("%d ",2*x+1);
        case 10:printf("%d ",3*x-1);break;
        default:printf("%s ","default\n");
    }
    printf("%s\n","switch end.");
    }
   
2. #include<>
void main()
{
    int i,s=0;
    for(i=1;i<=6;i++)
        s+=i*i;
    printf("s=%d\n",s);
}
3. #include<>
void main()
{
    int i,s1=0,s2=0;
    for(i=0;i<10;i++)
        if(i%2)s1+=i;
        else s2+=i;
        printf("%d %d\n",s1,s2);
}
4. #include<>
void main()
{
    int n=10,y=1;
    while(n--){y++;y++;}
    printf("y=%d\n",y);
}
5. #include<>
void main()
{
    int f,f1,f2,i;
    f1=f2=1;
    printf("%d %d ",f1,f2);
    for(i=3;i<=10;i++){
        f=f1+f2;
        printf("%d ",f);
        if(i%5==0)printf("\n");
        f1=f2;
        f2=f;
    }
    printf("\n");
}
6. #include<>
#include<>
void main()
{
    int i,n;
    for(n=2;n<=20;n++){
        int temp=(int)sqrt(n);#include<>
#include<>
const int M=20;
void main()
{
   
    int i,c2,c3,c5;
    c2=c3=c5=0;
    for(i=1;i<=M;i++){
        if(i%2==0)c2++;
        if(i%3==0)c3++;
        if(i%5==0)c5++;
    }
    printf("%d %d %d\n",c2,c3,c5);
}
8. #include<>
编程递归函数
#include<>
const int M=20;
void main()
{
   
    int i,s;
    for(i=1,s=0;i<15;i++){
        if(i%2==0 || i%3==0)continue;
        printf("%d ",i);
        s+=i;
    }
    printf("%d\n",s);
}
参考答案:
1、答案:11 14 switch end.
2、答案:s=91.
3、答案:25 20.
4、答案:y=21.
5、答案:1 1 2 3 5
8 13 21 34 55
6、答案:2 3 5 7 11 13 17 19
7、答案:10 6 4
8、答案:1 5 7 11 13 37
第二次作业
一、根据下列每个题目要求编写程序
1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。
2.编写一个函数,函数头格式为“double Mean(double a[M][N] , int m , int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程是采用变量v存放平均值。
3.编写一个递归函数“int FF(int a[] , int n)”,求出数组a中所有元素n个元素之积并返回。
4.编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+……+1/n>5的最小n值。
5.编写一个主函数,求满足不等式22+42+……+n2<1000的最大n值,假定分别用is
取偶数值和累加值的变量,并限定使用do循环编程。
6.编写一个主函数,计算并输出n!的值,其中n值由键盘输入。