本文介绍: 实验五 C语言函数程序设计习题 3. 使用函数输出字符矩阵:输入矩形的长度len、宽度width和字符ch,输出一个长宽分别为len和width的实心字符矩阵。4. 使用函数求最大公约数和最小公倍数:输入两个正整数m和n(0
1. 使用函数计算两点间的距离:给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离(保留2位)小数。要求定义和调用dist(x1,y1,x2,y2)计算两点间的距离。坐标中两点坐标之间的距离公式如下:
#include <stdio.h>
#include <math.h>
double dist(x1,y1,x2,y2){
return sqrt(pow((x1-x2),2)+pow((y1-y2),2));
}
int main(){
printf("%lfn",dist(4,7,7,11));
return 0;
}
2. 请编写函数fun,它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。
sum=1113
#include <stdio.h>
#include <math.h>
int fun(int n){
int i,sum=0;
if(n == 1){
return 1;
}
if(n<1 || n>100) {
printf("Error!n");
return 0;
}
for(i=2;i<n;i++){
// 如果 n 能被 i 整除
if(!(n%i)){
sum += pow(i,2);
}
}
return sum;
}
int main(){
int n;
printf("Enter n:");
scanf("%d",&n);
printf("sum=%dn",fun(n));
return 0;
}
3. 使用函数输出字符矩阵:输入矩形的长度len、宽度width和字符ch,输出一个长宽分别为len和width的实心字符矩阵。要求定义并调用函数matrix(len, width, ch),实现在屏幕上显示长度为len、宽度为width,由字符ch组成的实心矩阵图案。
GGGGG
GGGGG
#include <stdio.h>
void matrix(int len,int width,char ch){
int i,j;
for(i=0;i<width;i++){
for(j=0;j<len;j++){
printf("%c",ch);
}
printf("n");
}
}
int main(){
int len,width;
char ch;
printf("Enter len,width,ch:");
// 接收一个空格
scanf("%d%d %c",&len,&width,&ch);
matrix(len,width,ch);
return 0;
}
4. 使用函数求最大公约数和最小公倍数:输入两个正整数m和n(0<m,n<=1000),输出最大公约数和最小公倍数。要求定义和调用函数gcd(m,n)计算m和n的最大公约数,定义和调用函数lcm(m,n)计算m和n的最小公倍数。
Enter m,n:511 292
gcd = 73
lcd = 2044
#include <stdio.h>
/**
* 最大公约数
*/
int gcd(int m,int n){
int c = m%n;
while(c)
{
m = n;
n = c;
c = m%n;
}
return n;
}
/**
* 最小公倍数
*/
int lcm(int m,int n){
// 选出 m 和 n 中大的一个
int c=(m>n?m:n);
while(1)
{
// 如果 c 同时能被 m 和 n 整除
if(!(c%m)&&!(c%n)){
break;
}
c++;
}
return c;
}
int main(){
int m,n;
printf("Enter m,n:");
scanf("%d%d",&m,&n);
if(m<0 || n<0 || n>1000 || m>1000 ){
printf("Error!n");
return 0;
}
printf("gcd = %dn",gcd(m,n));
printf("lcd = %dn",lcm(m,n));
return 0;
}
原文地址:https://blog.csdn.net/m0_46745664/article/details/134707806
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_41032.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。