C语言初学常见(应试)程序类型 —— 一、小白篇(5.)

22、求分数序列(例子)

//用for循环求分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…,前20项之和序。
#include<stdio.h>

int main()
{
	double i = 1, k = 2, n = 1, sum = 0;

    for (i = 1; n < 21; i = k-i)
    {
        sum = sum + k/i;
        k = k+i;
        n++;
    }
    printf ("sum=%.2f\n",sum);

	return 0;
}
//分子(k)和 分母(i)之间有规律:eg: k = i + k; k = i - k  

23、好题当赏(1)

# include<stdio.h>

int main ()
{
	int i = 0,s = 0;
	
	do
	{
		if(i%2)
		{
			i++;
			continue;//直接跳到17行 
			
		}
		i++;
		s+=i;
	}while(i < 5);
	
	printf ("%d\n",s); 
	return 0;	//结果是9 
}

24、好题当赏(2)

//更好地理解 break 和 continue 
# include<stdio.h>

int main ()
{
	int a = 1,b; 
	for (b = 1; b <= 10; b++)
	{
		if(a >= 8)
		 		break;
		if(1 == a%2)
		{
			a += 5;
			continue;
		}
		a -= 3;
		
	}
	printf("b = %d\n",b);
 return 0;
}

25、计算每一门课程的平均成绩和每一位学生的平均成绩。

//输入M 个学生的数学、语文、英语 N 门课程的成绩,计算并输出每一门课程的平均成绩和每一位学生的平均成绩。
#include<stdio.h>

int main()
#define M  5
#define N  3//自定义
{
    int score[5][3], i, j;
    float M_sum, E_sum, C_sum,b;
    for(i = 0; i < 5; i++)
      for(j = 0; j < 3; j++)
        scanf("%d",&score[i][j]);
    for(i=0;i<5;i++)
    {
    	M_sum+=score[i][0];
    	E_sum+=score[i][1];
    	C_sum+=score[i][2];
	}
    printf("每个学生的平均分:\n");
    for(i = 0; i < 5; i++)
    {
      b=0;
      for(j = 0; j < 3; j++)
      { 
      	b+=score[i][j];
      	printf("%d\t",score[i][j]);
	  }
	  printf("%.1f",b/3);
	  printf("\n");
    }
	printf("每门课的平均分:\n");
	printf("%.1f\t%.1f\t%.1f\t",M_sum/5,E_sum/5,C_sum/5);
     
	return 0;	
}

26.矩阵 求出最大元素的值,以及行号与列号。

//有一矩阵,编程求出其中最大的那个元素的值,以及它所在的行号与列号。 
#include<stdio.h>
#define M 3 
#define N 4//矩阵可自定义 (3x4) 
int main()
{  
    int a[M][N]; 
    int i, j, k, max, row=0, colum=0; 
    for (i = 0; i < M; i++)              
      for (j = 0; j < N; j++)           
      	{ 
          scanf("%d",&a[i][j]);   
        } 
    max = a[0][0]; 
    for (k = 0; k < M*N - 1; k++)
    {
        for (i = 0; i < M; i++)
        	for (j = 0; j < N; j++)
           		if (a[i][j] > max)
           			max = a[i][j];
    }
    /*for (i = 0; i < M; i++)
    {
	   for (j = 0; j < N; j++)
        {
            printf ("%d\t",a[i][j]);
        }
            printf ("\n");
    }*/                    //把输入的数再整齐输出 
    for (i = 0; i < M; i++)
        for (j = 0; j < N; j++)
        	if(a[i][j]==max)
    			 {
           		 row = i;
            	 colum = j;
        		} 
 	 printf("max:%d\nrow:%d\ncolum:%d\n",max, row+1, colum+1); //注意行列还要+1 
    return 0; 
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值