十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
创新互联公司长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为邛崃企业提供专业的做网站、成都网站制作,邛崃网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
int main()
{
int sum(int);
int factorial(int);
int n,s;
long int p;
printf("请输入n值:\n");
scanf("%d",n);
s=sum(n);
p=factorial(n);
printf("1+2+3+...+n=%d\n",s);
printf("n!=%ld\n",p);
return 0;
}
int sum(int x)
{
int a=0;
for(int i=0;i=x;i++)
a=a+i;
return a;
}
int factorial(int y)
{
int b=1;
for(int i=1;i=y;i++)
b=b*i;
return b;
}
因为阶乘会得到很大的结果,会超出p的范围,所以n值不能太大,否则阶乘没有结果(或不对),只有加法的结果;
五、 课程设计小结心得体会
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)中,学号与姓名同时表示一个人,但在函数使用了“共用体”,从而程序的简单可以便于纠错,查找问题,避免了代码的重复,这样就给编译时带来了一定的难度与“量”的繁杂。一般不采取这样的做法,力求“简单、明了、清晰”。
这个题目很简单!
你可以把我这个程序的输出部分修改一下(不修改也可以)
程序如下:
#include stdio.h
#define STU_NUM 10//学生数目
#define SCORE_NUM 3//课程数目
typedef struct /*定义结构体数组*/
{
char num[20]; /*学号*/
char name[20]; /*姓名*/
float score[SCORE_NUM]; /*成绩*/
float total;//总分
float average;//平均分
} Student;
Student stu[STU_NUM];
//输入学生信息
void input()
{
int i,j;
printf("请输入%d个学生的信息:\n",STU_NUM);
for(i=0;iSTU_NUM;i++)
{
printf("学号:");
scanf("%s",stu[i].num);
printf("姓名:");
scanf("%s",stu[i].name);
for(j=0;jSCORE_NUM;j++)
{
printf("科目%d的成绩:",j+1);
scanf("%f",stu[i].score[j]);
}
}
}
//输出学生信息
void output(void)
{
int i,j;
for(i=0;iSTU_NUM;i++)
{
printf("学生的信息如下:\n");
printf("学号:%s\n",stu[i].num);
printf("姓名:%s\n",stu[i].name);
for(j=0;jSCORE_NUM;j++)
{
printf("科目%d的成绩:%f\n",j+1,stu[i].score[j]);
}
printf("总分:%f\n",stu[i].total);
printf("平均分:%f\n",stu[i].average);
}
}
//计算总分和平均分
void process()
{
int i,j;
for(i=0;iSTU_NUM;i++)
{
stu[i].total=0;
for(j=0;jSCORE_NUM;j++)
{
stu[i].total+=stu[i].score[j];
}
stu[i].average=stu[i].total/SCORE_NUM;
}
}
//按总分进行排序(冒泡法)
void sort()
{
Student tStu;
int i,j;
for(i=0;iSTU_NUM;i++)
{
for(j=STU_NUM-1;ji;j--)
{
if(stu[j].totalstu[j-1].total)
{
tStu=stu[j];
stu[j]=stu[i];
stu[i]=tStu;
}
}
}
}
main()
{
input();
process();
sort();
output();
}
#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)的数中看是否有可以整除的, 如果没有, 则为素数.
*/
#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!");
}
}
望采纳
晕报告也要人教啊,我教你写
一、程序主要功能∶
某校规定,学习成绩超过全班平均成绩的%10者得第一等奖,学习成绩超过全班平均成绩的%5者得第二等奖,某班有30名学生,请编写一个C语言程序,实现下列功能:
1,输入全班学生成绩(学生用学号代表);
2,分别输出得一等奖和二等奖同学的学号和成绩。
二、程序设计说明:(算法设计思路与流程图)
在脑海中不知道怎么表达谢谢。
三、实验结果与结论:我太聪明了怎么变态的题目都做出来了哈哈狂笑哈哈还是狂笑。
四、实验中遇到的问题及解决方法:
由于本人聪颖过人,程序未遇任何错误,有何不足之处还望不吝赐教。