第四周《C语言及程序设计》实践项目7 返回指针的函数

Posted weixin_35827498

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四周《C语言及程序设计》实践项目7 返回指针的函数相关的知识,希望对你有一定的参考价值。

【项目1-k次方之和】

/*  
 * Copyright (c) 2016, CSDN学院  
 * All rights reserved.  【项目1-k次方之和】
 * 文件名称:【项目3-求最大公约数】.cpp  
 * 作    者:张易安  
 * 完成日期:2016年 9 月 4 日  
 * 版 本 号:v1.0  
 *  
 * 问题描述:设计程序,计算:f(k,n)=1^k+2^k+.....+n^k 

 */ 
#include<stdio.h>  
int power(int m,int n); //求m的n次方(m^n)  
int sum_of_power(int k,int n);  //从1^k到n^k的累加和  
int main( )  
  
    int k, n;  
    scanf("%d %d", &k, &n);  
    printf("f(%d, %d)=%d\\n", k, n, sum_of_power(k,n));  //m^k的累加和  
    return 0;  
  
int power(int m,int n)  //求m的n次方(m^n)  

	int i,sum;
	sum=1;
    for(i=1;i<=n;++i)
	
		sum*=m;
	  
	 return sum;
  
int sum_of_power(int k,int m)   //从1^k到n^k的累加和  
 
    int sum,i;
    sum=0;
	for(i=1;i<=m;++i)
	
		sum+=power(i,k);//这中间的两个未知数应该没有什么意义 
	
	return sum;   

    //在这个函数中调用 power函数求幂  
  

运行结果


【项目2-歌手大奖赛计分系列】

/*  
 * Copyright (c) 2016, CSDN学院  
 * All rights reserved.  
 * 文件名称:【项目2-歌手大奖赛计分系列】.cpp  
 * 作    者:张易安  
 * 完成日期:2016年 9 月 4 日  
 * 版 本 号:v1.0  
 *  
 * 问题描述:(2)进一步完善(1)的程序。输入时,难免有录入错误发生,如果输入的成绩不在0-10之间,
 *要求用户立即重新输入(在函数calScore中修改);一次运行程序只计算一位选手成绩太麻烦,要求输出当前选手的最后得分后,
 * 提示“按任意键计算下一位选手的成绩,退出请选择N:”如果输入的不是N或n,可以为下一位选手计算成绩(在main函数中进行控制即可)。
 */ 
#include<stdio.h>
void average(int);
int main()

	int n;
	char c; 
	printf("输入评委人数:");
	scanf("%d",&n);
	do  
      
        average(n);//不能加int  
        printf("******************* SUCCESS ***********************\\n");  
        printf("按 N 退出,其他键继续....");  
        fflush(stdin);   //读入字符前,常要清空“输入缓存区",没有想到 
        scanf("%c", &c); //用choice=getchar();也行  
        printf("\\n");  
      
    while(c!='N' && c!='n');  //不管输入大小写,全算数  
    return 0;  

 
void average(int n)

	int i;
	double m,max,min,sum,average;
	max=0;
	min=10; 
	sum=0;
	printf("请输入选手的成绩(0-10)\\n");
	for(i=1;i<=n;++i)
	
		printf("第 %d 位评委给分: ",i);
		scanf("%lf",&m);//开始马虎把lf改成了d,结果输出的值一直为0 
		sum+=m; 
		if(max<m)
		  max=m;
		if(min>m)
		  min=m;
	 
	average=(sum-min-max)/(n-2);
	printf("减去一个最高分: %.2f", max);  
    printf(", 减去一个最低分: %.2f \\n", min);  
    printf("当前选手的最后得分是:%.3f \\n", average); 
	//为啥不能加返回值呢? 

运行结果




【项目3-编制三角函数表】

。。。欠的债总要还的。。明天补起来

【项目4 - 让吃货失望的菜单】

/*  
 * Copyright (c) 2016, CSDN学院  
 * All rights reserved.  
 * 文件名称:【项目4 - 让吃货失望的菜单】.cpp  
 * 作    者:张易安  
 * 完成日期:2016年 9 月 4 日  
 * 版 本 号:v1.0  
 *  
 * 问题描述:计算机中的应用程序,常常用“菜单”的形式,提供给用户便捷的操作。当然, 里面没有菜。
下面的程序段给出了一些提示,请在此基础上拓展,使程序的运行如图所示(不限于此,可以拓展)
 */ 
#include<stdio.h> 
char getChoice();  
void eat();  
void sleep();  
void hitdoudou();  
void cry(); 
int main()  
  
    char cChioce;  
    while(1)  
      
        cChioce = getChoice();  
        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;  
  
  
char getChoice()  
  
    char c;  
    printf("\\n ********************\\n");  
    printf(" *  1. 吃饭         *\\n");  
    printf(" *  2. 睡觉         *\\n");  
    printf(" *  3. 打豆豆       *\\n");  
    printf(" *  4. 找豆豆妈诉苦 *\\n");  
    printf(" *  0. 退出         *\\n");  
    printf(" ********************\\n");  
    fflush(stdin);  
    scanf("%c", &c);  
    return c;  
  
void eat()  
  
    printf("吃饭\\n");  
  
void sleep()  
  
    printf("睡觉\\n");  
  
void hitdoudou()  
  
    printf("打豆豆\\n");  
  
void cry()  
  
    printf(" 哇! 你家豆豆骨头硬,害得我手疼... ...\\n");  //死东西,没啥意思,有时间做一个银行存取款之类的程序框架 
 
运行结果



心得

函数的调用还是要多运用,熟能生巧。。。


以上是关于第四周《C语言及程序设计》实践项目7 返回指针的函数的主要内容,如果未能解决你的问题,请参考以下文章

第四周《C语言及程序设计》实践项目5 认识递归

第四周《C语言及程序设计》实践项目5 认识递归

第四周《C语言及程序设计》实践项目39 问题求解——求素数

第四周《C语言及程序设计》实践项目2 模块化程序设计及C语言中的函数

第四周《C语言及程序设计》实践项目11 体验结构体

第四周《C语言及程序设计》实践项目11 体验结构体