《计算机科学》课程主页在:http://blog.csdn.net/sxhelijian/article/details/13705597
1、阅读程序:阅读下面的程序,写出运行结果,上机时运行程序,记录结果,从而能够理解函数的用法
(1)
#include <stdio.h>
void fun(int x, int y)
{
x=x*10;
y=y+x;
printf("%d\t%d\n",x,y);
}
int main()
{
int a=2, b=3;
fun(a+b,a*b);
printf("%d\t%d\n",a,b);
return 0;
}
你认为运行结果为:_________________
实际运行的结果为:_________________
(2)
#include<stdio.h>
int runc(int a,int b)
{
return(a+b);
}
int main()
{
int x=2,y=5,z=8,r;
r=runc(runc(x,y),z);
printf("%d\n",r);
return 0;
}
你认为运行结果为:_________________
实际运行的结果为:_________________
(3)
#include<stdio.h>
void func(int x){
x=10;
printf("%d ",x);
}
int main( ){
int x=20;
func(x);
printf("%d", x);
return 0;
}
你认为运行结果为:_________________
实际运行的结果为:_________________
(4)
#include <stdio.h>
int t; //全局变量
int f(int a){
if(a>5 && a<=10)
return a;
t++;
return 0;
}
int main(){
int n;
t = 0;
for( n=1; n<=10; n++ )
{
printf("%d ", f(n));
}
printf("\nt=%d\n", t);
return 0;
}
你认为运行结果为:_________________
实际运行的结果为:_________________
2、程序设计
(1)编程序,输入x的值,用自定义函数实现求f(x)值的功能,输出按下面公式计算得到的值
请在main函数中调用自定义函数完成任务。
参考解答:
#include <stdio.h>
float f1(float x)
{
float y;
if(x<0.5)
y = -3 * x;
else
y = x - 2;
return y;
}
int main()
{
float x, y;
scanf("%f",&x);
y = f1(x);
printf("x=%5.1f, y=%5.1f\n",x,y);
return 0;
}
(2)编一段程序,要求能输出给出的图案
请在下面程序基础上补充,利用好用于输出一行m个ch符号的printchs函数,可以使你的工作简单一些。
#include<stdio.h>
void printchs(int m, char ch);
void printGraph(int n);
int main()
{
printGraph(6);
return 0;
}
//定义能输出m个符号ch的函数
void printchs(int m, char ch)
{
int j;
for (j=1; j<=m; ++j)
printf("%c",ch);
}
//下面定义能输出要求图案的函数printGraph
#include<stdio.h>
void printchs(int m, char ch);
void printGraph(int n);
int main()
{
printGraph(6);
return 0;
}
//定义能输出m个符号ch的函数
void printchs(int m, char ch)
{
int j;
for (j=1; j<=m; ++j)
printf("%c",ch);
}
//定义能输出要求图案的函数
void printGraph(int n)
{
int i;
for(i=1; i<=n; ++i)
{
printchs(i-1,' ');
printchs(2*(n-i)+1,'*') ;
printf("\n");
}
}
(3)计算机中的应用程序,常常用“菜单”的形式,提供给用户便捷的操作。
下面的程序段给出了一些提示,请在此基础上拓展,使程序的运行如图所示(不限于此,可以拓展)
鼓励根据自己掌握的一些需求,例如银行存取款、学生档案管理、法律诉讼受理等,做出应用程序的“框架”,界面的表现形式也可以更美观一些。
int main()
{
char cChioce;
while(1)
{
printf("* 1. 吃饭\n");
……
printf("* 请选择(0-3):");
scanf("%c", &cChioce);
fflush(stdin);
if (cChioce=='1')
eat();
else ……
}
return 0;
}
void eat()
{
printf("我吃吃吃... ...\n");
}
参考解答:
#include <stdio.h>
void eat();
void sleep();
void hitdoudou();
void cry();
int main()
{
char cChioce;
while(1)
{
printf(" ********************\n");
printf(" * 1. 吃饭 *\n");
printf(" * 2. 睡觉 *\n");
printf(" * 3. 打豆豆 *\n");
printf(" * 4. 找豆豆妈诉苦 *\n");
printf(" * 0. 退出 *\n");
printf(" ********************\n");
printf(" 请选择(0-4):");
scanf("%c", &cChioce);
fflush(stdin);
if (cChioce=='1')
eat();
else if (cChioce=='2')
sleep();
else if (cChioce=='3')
hitdoudou();
else if (cChioce=='4')
cry();
else if (cChioce=='0')
break;
else
{
printf("\007选择错误!\n");
continue;
}
printf("恭喜你完成了一项工作!\n");
}
return 0;
}
void eat()
{
printf("我吃吃吃... ...\n");
}
void sleep()
{
printf("我睡觉觉... ...\n");
}
void hitdoudou()
{
printf("我打打打... ...\n");
}
void cry()
{
printf("哇,管管你家豆豆... ...\n");
}