高分:帮忙做几道C语言编程题,急!

跪求高手帮忙做一下,要多少分自己可以提,我能给的分我都给,谢谢,急~1、有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,…,求出这个数列的前150项之... 跪求高手帮忙做一下,要多少分自己可以提,我能给的分我都给,谢谢,急~

1、有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,… ,求出这个数列的前150项之和。
2、已知一数组中存有100个int型数据,求出其中所有素数的和。
3、某学校图书室新购进100本图书,现编写一个C程序,首先需将新图书的数据输入,数据包括图书编号,书名,作者,单价,出版社,数量,并求出500本新书的平均单价,然后编写一函数能实现按书名进行图书的查找操作。
4、有100个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入100个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
嗯,非常感谢你的回答,那请问你的文库怎么进呢?不好意思,对这些不太熟悉。
展开
 我来答
云上心辰
2010-05-02
知道答主
回答量:17
采纳率:0%
帮助的人:21.4万
展开全部
第1题:
int main()
{
float sum = 0;
int i, tmp, a = 1, b = 2;
for (i = 0; i < 150; i++)
{
sum += (float)b / a;
tmp = a + b;
a = b;
b = tmp;
}
printf(“%f\n”, sum);
}

第2题:
int is_prime(int n)
{
if (n == 2)
return 1;
else if (n < 2 || n % 2 == 0)
return 0;

int i;
for (i = 3; i < n; i += 2)
{
if (n % i == 0)
return 0;
}

return 1;
}

int fn(int a[100])
{
int i, sum = 0;
for (i = 0; i < 100; i++)
{
if (is_prime(a[i]))
sum += a[i];
}
return sum;
}

第3题:
struct BOOK
{
char no[20];
char name[50];
char author[20];
float price;
char press[20];
int amount;
};

struct BOOK books[100];

int main()
{
int i;
float avg_price = 0;
for (i = 0; i < 100; i++)
{
struct BOOK *pb = &books[i];
printf("请输入第%d本书的图书编号,书名,作者,单价,出版社,数量: ",
i + 1);
scanf("%s %s %s %f %s %d",
&pb->no, &pb->name, &pb->author,
&pb->price, &pb->press, &pb->amount);
avg_price += pb->price;
}
avg_price /= 100;
printf("平均单价为:%f\n", avg_price);
}

int find_book_by_name(char *name)
{
int i;
for (i = 0; i < 100; i++)
{
if (strcmp(books[i].name, name) == 0)
return i;
}
return -1;
}

第4题:
struct STUDENT
{
char no[10];
char sex[10];
char name[10];
int scores[4];
float avg_score;
};

int main()
{
int i, max_index = 0;
struct STUDENT students[100];
for (i = 0; i < 100; i++)
{
struct STUDENT *ps = &students[i];
int *p = ps->scores;
printf("请输入第%d名学生的学号、性别、名字以及门课的成绩: ",
i + 1);
scanf("%s %s %s %d %d %d %d",
&ps->no, &ps->sex, &ps->name,
&p[0], &p[1], &p[2], &p[3]);
ps->avg_score = (p[0] + p[1] + p[2] + p[3]) / 4.0;
if (ps->avg_score > students[max_index].avg_score)
max_index = i;
}
struct STUDENT *pmax = &students[max_index];
printf("平均成绩最高的学生的学号、性别、姓名和平均成绩: %s %s %s %f\n",
pmax->no, pmax->sex, pmax->name, pmax->avg_score);
}

希望能帮到你哦
七七七的0E6
2010-04-22 · TA获得超过652个赞
知道答主
回答量:253
采纳率:0%
帮助的人:265万
展开全部
第一题:
#include<stdio.h>
#define N 150
void main()
{ float a[N]={2},b[N]={1},
sum=2;int i,j;
for(i=0,j=0;i<N-1,j<N-1;i++,j++)
{a[i+1]=a[i]+b[j];
b[j+1]=a[i];
sum+=a[i+1]/b[j+1];}
printf("sum=%f\n",sum);}

第二题:
#include<stdio.h>
#include<math.h>
void main()
{
int m,k,i,n=0;
for(m=1;m<=100;m=m+2)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
{
printf("%5d",m);
}
}

}这个是输出0~100的素数,不知道你100个int里面有什么,所以···自己改一下吧

第四题我有类似的题目,要的话去我的文库下载。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2010-04-28
知道答主
回答量:18
采纳率:0%
帮助的人:13.5万
展开全部
1。
#include<stdio.h>
int main()
{

double sum = 0 ;
long i = 2 ;
long j = 1;
int itemNum = 150 ;
int count = 1 ;
while(count<=itemNum)
{
sum += i / (j*1.0);
long int lastI = i;
printf("%d:%ld\t%ld\n",count ,i,j); // 此句是验证结果 可注释掉
i = i + j ;
j = lastI ;
count++ ;
}
printf("sum is :%lf\n",sum);

getchar();

return 0 ;
}

2。
int isPrime(int n )
{
int i ;
for(i = 2 ; i < n ; i ++ )
if(n % i == 0 )
return 0 ;
return 1 ;
}
long PrimeSum(int data[] ,int size)
{ // size 是data中元素的个数
int i ;
long sum = 0 ;
for(i = 0 ; i< size ; i ++ )
if(isPrime(data[i]))
sum += data[i] ;
return sum ;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式