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;
}