为了提高自己的coding,最近在PTA平台刷题,顺便记录下一些刷过的题,方便日后复习和总结经验。
文章目录
练习5-1 求m到n之和
本题要求实现一个计算m~n(m<n)之间所有整数的和的简单函数。
函数接口定义:
int sum( int m, int n );
其中m和n是用户传入的参数,保证有m<n。函数返回的是m~n之间所有整数的和。
#include <stdio.h>
int sum(int m, int n);
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("sum = %d\n", sum(m, n));
return 0;
}
int sum(int m, int n)
{
int sum=0;
for(int i=m;i<=n;i++)
sum+=i;
return sum;
}
练习5-2 找两个数中最大者
本题要求对两个整数a和b,输出其中较大的数。
函数接口定义:
int max( int a, int b );
其中a和b是用户传入的参数,函数返回的是两者中较大的数。
#include <stdio.h>
int max( int a, int b );
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("max = %d\n", max(a, b));
return 0;
}
int max(int a,int b)
{
return a>b?a:b;
}
练习5-3 数字金字塔
本题要求实现函数输出n行数字金字塔。
函数接口定义:
void pyramid( int n );
其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。
#include<stdio.h>
void pyramid(int n);
int main()
{
int n;
scanf("%d",&n);
pyramid(n);
return 0;
}
void pyramid(int n)
{
int i,m,j;
for(int i=1;i<=n;i++)
{
for(m=1;m<=n-i;m++)
{
printf(" ");
}
for(j=1;j<=i;j++)
{
printf("%d ",i);
}
printf("\n");
}
习题5-1 符号函数
本题要求实现符号函数sign(x)。
函数接口定义:
int sign( int x );
其中x是用户传入的整型参数。符号函数的定义为:若x大于0,sign(x) = 1;若x等于0,sign(x) = 0;否则,sign(x) = −1。
#include<stdio.h>
int sign(int n);
int main()
{
int n;
scanf("%d",