第七次作业

  1. 定义一个含有8个存储单元的实型数组,从键盘上接收数,然后逆序输出

#include<stdio.h>

main()

{

double m[8];

int i;

for(i=0;i<=7;i++)

          scanf("%lf",&m[i]);

for(i=7;i>=0;i--)

          printf("%f",m[i]);

}

 

 

 

2,使用一维数组,从键盘上接收6个数,找出最大的那个元素并记录下它的下标

#include<stdio.h>

main()

{

double m[6],max;

int i,flag;

printf("输入6个数:\n");

for(i=0;i<=5;i++)

          scanf("%lf",&m[i]);

max=m[0];

flag=0;

for(i=1;i<=5;i++)

          if(m[i]>max)

          {

                   max=m[i];

                   flag=i;

          }

          printf("最大数值%f的下标为%d\n",max,flag);

}

 

 

 

⒊求Fibonacci数列的前10项的和

#include<stdio.h>

main()

{

int f[10]={1,1};

int i,sum;

sum=f[0]+f[1];

for(i=2;i<=9;i++)

{

          f[i]=f[i-1]+f[i-2];

          sum+=f[i];

}

printf("sum=%d\n",sum);

}

 

 

 

4.编写程序,定义一个二维数组,从键盘上接收变量,并以矩阵的形式输出

#include<stdio.h>

main()

{

int a[3][4];

int i,j;

printf("请输入12个整数:\n");

for(i=0;i<=2;i++)

for(j=0;j<=3;j++)

scanf("%d",&a[i][j]);

for(i=0;i<=2;i++)

{

for(j=0;j<=3;j++)

          printf("%4d",a[i][j]);

printf("\n");

}

}

 

 

 

 

5.已知有以下语句,编写程序,求二维数组m对角线元素之和

#include<stdio.h>

main()

{

int i,j,sum=0;

int m[5][5]={{1,2,3,4,5},

{6,7,8,9,10},

{11,12,13,14,15},

{16,17,18,19,20},

{21,22,23,24,25}};

for(i=0;i<=4;i++)

          for(j=0;j<=4;j++)

                   if(i==j||i+j==4)

                            sum+=m[i][j];

                   printf("sum=%d\n",sum);

}

 

 6.编写程序,通过一维数组接收5门课程的成绩,并输出平均分数。

#include<stdio.h>
main()
{
float score[5],ave=0;
int i;
printf("输入5门课程的成绩:\n");
for(i=0;i<=4;i++)
{
scanf("%f",&score[i]);
ave+=score[i];
}
ave/=5;
printf("Average:%.2f\n",ave);
}

 

 7.编写程序,实现一维数组中前,后元素的对调

#include<stdio.h>
main()
{
int m[7]={12,5,78,64,55,34,56};
int i,j,t;
printf("原有数据:\n");
for(i=0;i<=6;i++)
printf("%3d",m[i]);
printf("\n");
for(i=0,j=6;i<=j;i++,j--)
{
t=m[i];m[i]=m[j];m[j]=t;
}
printf("调换后顺序:\n");
for(i=0;i<=6;i++)
printf("%3d",m[i]);
printf("\n");
}

 

11.23作业

1、编写程序,统计字符串中大写字母个数。

#include<stdio.h>

main(){

    char str[20];

    int i,cnt;

    cnt=i=0;

    gets(str);

    while(str[i]!='\0')

    {

        if(str[i]>='A'&&str[i]<='Z')

            cnt++;

        i++;

    }

    printf("大写字母个数为:%d\n",cnt);

}

 

 

2、编写程序去掉字符串中所有的星号。

#include<stdio.h>

main(){

    char str[20];

    int i,j;

    j=i=0;

    gets(str);

    while(str[i]!='\0')

    {

        if(str[i]!='*')

            str[j++]=str[i];

        i++;

    }

    i=0;

    while(i<j)

        putchar(str[i++]);

}

 

3、编写程序,将字符数组a中的字母复制到b中要求每三个字符后插入一个空格。

#include<stdio.h>

main(){

    char a[20],b[20];

    int i,j;

    j=i=0;

    gets(a);

    for(i=j=0;a[i]!='\0';i++)

    {

        b[j++]=a[i];

        if((i+1)%3==0)

            b[j++]=' ';

    }

    b[j]='\0';

    puts(b);

}

 

4、输出字符串中位置为奇数ASCLL为偶数的字符。

#include<stdio.h>

main(){

    char str[80];

    int i=0;

    gets(str);

    while(str[i]!='\0')

    {

        if((i+1)%2==1&&str[i]%2==0)

            putchar(str[i]);

        i++;

    }

    printf("\n");

 

}

 

5、用循环结构求字符长度。

#include<stdio.h>

main(){

    char str[80];

    int i=0;

    int length=0;

    gets(str);

    puts(str);

    while(str[i++]!='\0')

        length++;

    printf("字符串长度为:%d\n",length);

 

}

 

posted @ 2021-11-23 09:35  未步乘风  阅读(10)  评论(0)    收藏  举报