c语言程序设计函数报告,c语言程序设计总结报告

C语言函数调用程序设计实验报告求解。

#include cstdio

十年建站经验, 网站设计、成都网站设计客户的见证与正确选择。成都创新互联公司提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。

void menu(){

printf("1.求两个数的和\n");

printf("2.求两个数的差\n");

printf("3.求两个数的积\n");

printf("4.求两个数的商\n");

printf("5.求两个数的余\n");

}

int add(int x,int y){return x+y;}

int sub(int x,int y){return x-y;}

int mul(int x,int y){return x*y;}

int drv(int x,int y){return x/y;}

int mod(int x,int y){return x%y;}

int main(){

int a,b,n;

printf("Please input 2 numbers:");

scanf("%d%d",a,b);

menu();

printf("Please input the number:");

scanf("%d",n);

switch(n){

case 1:printf("%d\n",add(a,b));break;

case 2:printf("%d\n",sub(a,b));break;

case 3:printf("%d\n",mul(a,b));break;

case 4:printf("%d\n",drv(a,b));break;

case 5:printf("%d\n",mod(a,b));break;

default:printf("Wrong number!");

}

}

望采纳

C语言程序设计实验报告

代码:

# include stdio.h

# includestdlib.h

char stu_no[10][10];

int c_math[10],c_en[10],c_computer[10],point[10],average[10];

int i,j,max;

char c;

void input()

{

for(i=0;i=9;i++) /*输入学生成绩*/

{

printf("请输入学号:");

scanf("%s",stu_no[i]);

printf("\n请输入数学成绩:");

scanf("%d",c_math[i]);

printf("\n请输入英语成绩:");

scanf("%d",c_en[i]);

printf("\n请输入计算机基础成绩:");

scanf("%d",c_computer[i]);

}

for(i=0;i=10;i++) /*计算总分跟平均分*/

{

point[i]=c_math[i]+c_en[i]+c_computer[i];

average[i]=point[i]/3;

}

}

void paixu()

{

printf("成绩按从高到低排列为:\n");

printf("\n学号 数学 英语 计算机基础 总分 平均分\n");

for (i=0;i=10;i++)

{ for(j=1;j=10;j++)

if (point[i]point[j])

max=i;

printf("%s,d,%d,%d,%d,%d,%d\n",stu_no[max],c_math[max],c_en[max],c_computer[max],point[max],average[max]);

}

}

void main()

{

input();

paixu();

}

C语言程序设计实验报告 (1)编写一个函数primeNum(int x),功能是辨别一个数是否为素数。

#include math.h

int primeNum(int p)

{

int i, q;

/* Negative number is not a prime */

if (p 0)

return 0;

q = (int) sqrt(p);

for (i = 2; i q; i++)

if ((p % i) == 0)

return 0;

/* No factor of p is found */

return 1;

}

/*原理::

从2-sqrt(x)的数中看是否有可以整除的, 如果没有, 则为素数.

*/

c语言程序设计实验报告

五、 课程设计小结心得体会

1设计思想

1)、设定一个一维数组,可先按员工序号设定每位员工的工资

2)、利用While语句和Prinft语句完成用户菜单的设计

功能为:第1项 设为员工编号和工资数据

第2项 设为修改员工工资数据

第3项 设为查询员工工资数据

第4项 设为结束系统

3)、当用户选择1、2项时,需输入员工编号,所以需要设计编号校正功能,如果出错可输出“The error employe number”

4)、当选择2时,进行工资数据的修改,并将新数据存回该员工的工资数组中

5)、利用for循环中判断语句,将用户工资数与数组中的工资数进行比较,如相同则输出,将计数器加1,如此下去,直到把整个数组遍历一遍

6)、判断计数器是否为0, 是0表示找不到相符的工资,如果不为0,则输出共查出几比相符的工资

以上当然里面也涉及了“函数的模块化”理念,可以避免但需要重复打印头文件时重复编写打印信头的语句。像这样的程序是多见的,这样不但降低了程序还发效率,而且耗时浪费资源“共用体”的使用简化了程序的“复杂”性,正如(4)中,学号与姓名同时表示一个人,但在函数使用了“共用体”,从而程序的简单可以便于纠错,查找问题,避免了代码的重复,这样就给编译时带来了一定的难度与“量”的繁杂。一般不采取这样的做法,力求“简单、明了、清晰”。

C语言程序设计实验报告怎么写啊

只是个例子,不可照抄。

实验内容与要求:

[实验内容]

1、 通过本试验初步培养计算机逻辑解题能力。熟练掌握赋值语句和if语句的应用;掌握switch多路分支语句和if嵌套语句的使用

2、 将前期所学习到的基本数据类型、运算符和表达式等程序设计基础知识运用于具体的程序设计。

3、 进一步熟练掌握输入输出函数scanf, printf和getchar的使用,熟悉math.h中常用数学函数的使用方法

4、 掌握循环语句的应用方法。

5、 了解随机数生成函数。

[实验要求]

在规定期限独立完成实验内容

1、 提交实验报告(电子版)

2、 提交相应源程序文件(文件名 EX6_x姓名.c, 如EX6_1彭健.c)

3、 要求从简单到复杂,后面的要求均在前面的基础上进行修改,前六题,每题均需要保留各自的程序,六题以后,每题均在前一题基础上修改,保留最后一个程序即可(如做到第九题,则保留EX6_9姓名.c,做到第11题,则保留ex6_11姓名.c)

二、实验原理和设计方案:

1、函数头的选则,while循环语句,switch(case)语句,条件表达式,if else条件语句,自增运算符,设置复杂变量,输出随机操作数。

2、 变量要有分数变量和等级变量,要有选择算法题数的变量和计算正确与否的变量,要有随机输出的两个操作数变量和自己按运算符号输入结果的变量,最后还有判断是否要进行的变量字符。中间结果有选择运算符的switch()和分数等级的switch()和错题对题的自增和选择运算符计算的自增。

3、 问题的分析方法:先考虑设置整形变量和字符变量,考虑到要不断循环计算,选择用while语句来循环。在循环体中,将前面的输出提示运算符,和自行选择运算符、答案及输出随机操作数完成。再用switch语句对选择的运算符进行判断,并用变量进行自增运算,计算出错题于对题个数和选择了那种运算符号。在循环体最后用if else语句来判断是否继续执行还是跳出循环。最后根据自增计算的结果和公式进行分数计算,并用switch语句来是想等级的制定。

三、源代码

#includestdio.h

#includestdlib.h

#includetime.h

void main()

{

..........

}

四、试验结果和启发

因为输入y要继续循环,所以选择用while语句。在while语句中要结合前面的按提示计算,并嵌套switch语句并用条件表达式,来计算结果正确与否,计算的题型是什么。最后再用switch语句来完成分数等级的判断。

五、实验体会:

描述自己在编程或程序编译运行中遇到的难点和问题及解决的办法。

c语言设计程序报告

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

void cut();

void in();

void display();

int keep();

int enter();

struct msg

{

int num;

char name[20];

float score1;

float score2;

float score3;

double ave;

}

main()

{

struct msg student[10];

int i,n=0,k,m;

printf("请输入学员信息.\n");

n=enter(student);

printf("\n排序前学员信息如下:\n");

printf("\t学号 \t姓名 \t平均成绩\n");

for(i=0;in;i++)

printf("\t%d \t%s \t%f\n",student[i].num,student[i].name,student[i].ave);

printf("\n");

printf("\n排序后学员信息如下:\n");

display(student,n);

printf("\n\n是否要插入新学员?y or n");

k=keep();

if(k==0) exit(k); //如果输入的不是y退出程序

else

{

in(student,n);

}

printf("\n\n是否要删除某个学员?y or n");

k=keep();

if(k==0) exit(k);

else

{

m=n+1; //之前插入了一个学生,所以数组增加1

cut(student,m);

}

}

int keep() //是否继续条件判断函数

{

char ans;

fflush(stdin);

ans=getchar();

if (ans=='y')

return 1;

else

return 0;

}

int enter(struct msg student[10]) //录入结构数据函数

{

int i,k,n=0;

for(i=0;;i++)

{

student[i].num=i+1;

printf("\n学号:%d\n",student[i].num);

printf("姓名: ");

fflush(stdin);

gets(student[i].name);

if(i==0) printf("\n三门成绩:\n");

printf("成绩1:");

scanf("%f",student[i].score1);

printf("成绩2:");

scanf("%f",student[i].score2);

printf("成绩3:");

scanf("%f",student[i].score3);

student[i].ave=(student[i].score1+student[i].score2+student[i].score3)/3.0;

n++;

printf("是否要继续?y or n");

k=keep();

if(k==1)

continue;

else

{

break;

}

}

return n;

}

void display(struct msg student[],int n) //排序函数,多次调用

{

int i,j,temp1;

char temp2[20];

double temp;

printf("\t学号 \t姓名 \t平均成绩\n");

for(i=0;in;i++)

{

for(j=0;jn-i-1;j++)

{

if(student[j].avestudent[j+1].ave)

{

temp=student[j].ave;

student[j].ave=student[j+1].ave;

student[j+1].ave=temp;

temp1=student[j].num;

student[j].num=student[j+1].num;

student[j+1].num=temp1;

strcpy(temp2,student[j].name);

strcpy(student[j].name,student[j+1].name);

strcpy(student[j+1].name,temp2);

}

}

}

for(i=0;in;i++)

printf("\t%d \t%s \t%f\n",student[i].num,student[i].name,student[i].ave);

}

void in(struct msg student[],int n) //插入函数

{

int k;

k=n+1;

printf("\n请输入要插入学员的信息\n");

student[n].num=k;

printf("\n学号:%d\n",student[n].num);

printf("姓名:");

fflush(stdin);

gets(student[n].name);

printf("\n三门成绩:");

printf("\n成绩1:");

scanf("%f",student[n].score1);

printf("成绩2:");

scanf("%f",student[n].score2);

printf("成绩3:");

scanf("%f",student[n].score3);

student[n].ave=(student[n].score1+student[n].score2+student[n].score3)/3.0;

printf("\n插入新学员后学员的信息如下\n");

display(student,k);

}

void cut(struct msg student[],int n)//删除函数

{

int i,k1,j,m;

printf("输入要删除的学员的学号:");

scanf("%d",k1);

for(i=0;in;i++)

{

if(student[i].num==k1)

break;

}

for(j=i;jn-1;j++)

{

student[j].num=student[j+1].num;

strcpy(student[j].name,student[j+1].name);

student[j].ave=student[j+1].ave;

}

m=n-1;

printf("\n删除后学员的信息如下:\n");

display(student,m);

}

这个也是和你差不多的学生成绩设计,对其进行排序,删除,添加,研究一下你那个应该就差不多了


网站栏目:c语言程序设计函数报告,c语言程序设计总结报告
地址分享:http://pwwzsj.com/article/dsiciis.html