C语言程序设计课程设计
评语: | |||||
考勤(10) | 纪律(10) | 过程(40) | putchar函数 设计报告(30) | 答辩(10) | 总成绩(100) |
专 业: 电气工程及其自动化
班 级: 电气1203
姓 名: 熊董
学 号: 201209837
指导教师: 王思华
兰州交通大学自动化与电气工程学院
2013 年07月 20日
1、基础题
1.1题目
编写函数,求取两个整数m,n的最大公约数和最小公倍数。
1.2题目分析
求两个整数的最大公约数和最小公倍数可以用辗转相除法,用两个函数max和min分别求出最大公约数和最小公倍数。在主函数中输入两个整数m和n,并传递给函数max,求出最大公约数返回主函数并赋给整型变量h,然后h和两个整数m,n一起作为实参传递给函数min,从而求出最小公倍数,返回主函数赋给l。输出最大公约数和最小公倍数。
主函数:N-S图如图一
输入两个整数m和n |
调用max函数求出最大公约数h |
调用min函数求出最小公倍数l |
输出两个整数的最大公约数和最小公倍数 |
图一主函数
max函数:N-S图 如图二 min函数:N-S图如图三
输入m和n | ||
Y | n>mcute是什么意思 N | |
t=m;m=n;n=t | ||
当(r=m%n)!=0 | ||
m=n,n=r | ||
向主函数返回n的值 | ||
输入m,n和h |
向主函数返回m*n/h的值 |
图二max函数 图三min函数
1.3源程序
#include<stdio.h>
int main()
{ int max(int,int);
int min(int,int,int);
int m,n,h,l;
scanf("%d,%d",&m,&n);
h=max(m,n);
printf("最大公约数是%d\n",h);
l=min(m,n,h);
printf("最小公倍数是%d\n",l);
return 0;
}
int max(int m,int n)
int max(int m,int n)
{ int t,r;
if(n>m);
{t=m;m=n;n=t;}
while((r=m%n)!=0)
{m=n;
n=r;}
return(n);
}
int min(int m,int n,int h)
int min(int m,int n,int h)
{
return(m*n/h);
}
1.4程序运行结果如图四:
图四基础题运行截图
2、改错题
2.1题目
#include <stdio.h>
#include <conio.h>
void fun(int a, b)
{
int t;
t = b; b = a ; a = t;
}
main( )
{
int a, b;
clrscr( );
动漫制作技术专业主要学什么 printf("Enter a,b :"); scanf("%d%d", &a, &b);
fun(&a, &b);
printf("a=%d b=%d\n", a, b);
}
2.2题目分析
该源程序的目的是交换两个数的值,有主函数可以看出该函数是应用指针交换两个数的值。所以调用函数中的a,b都要改成*a,*b, void fun(int a, b)改成void fun(int *a,int *b)。clrscr( )只能在Turbo-C中可用所以改用webserver测试工具system("cls")。
输入*a,*b |
t=*b;*b=*a;*a=t |
viod fun函数:N-S图如图五 main函数:N-S图如图六
清屏 |
输入a,b |
将a,b赋值到&a,&b中。 |
调用viod fun函数交换两个数的值 |
输出a,b的值 |
图五vthis love翻译中文iod fun函数
图六main函数
2.3正确的源程序
#include <stdio.h>
#include <conio.h>
void fun(int *a, int *b)
{
int t;
雪崩是怎么样的 t= *b;
*b = *a ;
*a = t;
}
main( )
{
int a, b;
system("cls");
printf("Enter a,b :");
scanf("%d%d", &a, &b);
fun(&a,&b);
printf("a=%d b=%d\n", a, b);
}
2.4程序运行结果如图七:
图七改错题运行结果截图
3、综合题
3.1题目
设计课题四:猜数字游戏
一、问题描述:
该游戏可以由程序随机产生或由用户输入四个0到9之间的数字,且不重复。玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。
二、功能要求:
1.本游戏显示这样的菜单:
(1) 随机产生数据
(2) 用户输入数据
(3) 退出游戏
2.游戏成功与否都能返回主菜单
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论