C语言淘宝 有问题向你求助求助= =

求教c语言Home Work问题_百度知道
求教c语言Home Work问题
1≤N≤104)开头;i&
value=value+rt*a[p];=N) break。 现在就请你帮他安排一下,但是无法AC!;
for(i=0。 而做选择题的好处就在于工作量很少;n&quot、填空题。Output对应每组测试数据输出I_Love_C能获得的最大价值;i++)
scanf(&quot。暑假作业是很多张试卷;
for(i=0; int t[20]:目前为止还未开动(-_-,x2,每行包括两个整数T.2lf&#92。 I_Love_C决定就用这样的方法来蒙混过关,&v[i]);V&ltDescription临近开学了,x1、证明题等,value);
x2=t[i];10000),M,&t[i]:#include&M,sum=0; while(scanf(&M,分别表示试卷的数目和I_Love_C剩下的时间;i++)
sum+=t[i];%d %d&quot,虽然工作量很少,j,但表面上看起来也已经做了4&#47.00Hintfloat的精度可能不够;i++)
for(j=i+1;%d %d&%; double a[20];
for(i=0,但又因为选择题题目都普遍很长.h&gt,我们这些从试卷里爬出来的人都知道;
printf(&quot。保留小数点2位Sample InputOriginal
Transformed
4 204 105 2210 31 20 0Sample OutputOriginal
Transformed
37,value=0,选择题越多价值当然就越高咯),用他仅剩的一点时间来做最有价值的作业;;int main(void) { int i:每张试卷不一定需要全部做完。Input测试数据包括多组,N){
rt=N-(sum-t[p]);i&lt、简答题;M;=a[j])
x1=a[i],N(1≤M≤20;;
else if(sum=N)
value=value+v[p]。 接下来有M行,最后一张是填空题,&M;
t[j]=x2,大家都忙着收拾行李准备返校,0&
a[i]=a[j],分别表示做完这张试卷所需的时间以及做完后能得到的价值! 输入以0 0结束;j&
value+=v[i],但I_Love_C却不为此担心; } return 0;,可以得到一部分的价值。 每组测试数据以两个整数M;
p=i。他统计出了做完每一张试卷所需的时间以及它做完后能得到的价值(按上面的原理,代码如下,V(1≤T≤N。注意,其中4张是选择题;i&lt。 如果有5张试卷,很明显做最后一张所花的时间要比前4张长很多;
v[i]=v[j],N;5的作业了;
x3=v[i]。 你应该使用double类型,&N)==2) {
if(M==0&&N==0)
t[i]=t[j];
a[i]=(double)(v[i]&#47。我的代码运行结果正确。 但如果你只做了选择题;j++)
if(a[i]&M-1!还以为他有多冷静呢);t[i]),v[10000],p,卷子上的题目有选择题,x3,做一部分! 因为他的心思全在暑假作业上
提问者采纳
t[i]&M1;(M&-& int&&;M;1;
x3&nbsp,&=& } return&+=&&nbsp,相等的误用正确代码;x3;(sum&+&i++)
scanf(&=&(double)v[i]&&&amp,&nbsp.h&N)&=&j&&M;t[j];0;(j&&N&v[i]),&value&M;a[j])
t[j]&(sum&
v[i]&==&2) {
//&(a[i]&i++)
for&value);N)&=&t[p]);N)&N&t[i];初始化呢
value&t[i],&0;这里是==;M&
for&nbsp,&(i&=&v[j];=&nbsp,&(i&nbsp,&nbsp,&t[i];
for&1;=&N)
rt&j;a[20]; while&;=&rt*a[p];0;=&=&==&=&t[20];stdio,&0,&
a[j]&%d&x1;%d&&lt.2lf\n&+&
if&x2;/&%;i&v[10000];
p&=&a[j];0&
a[i]&nbsp,&=&t[i];N;
value&i++)
if&&&a[i];main(void){ int&=&&x3;=&==&(sum&;(sum&0)&nbsp,&v[p];value&nbsp:#include&=&&=&&(scanf(&+&
sum&value&nbsp,&nbsp,&v[i];=&
x2&//&&j++)
if&=&if&nbsp,不是=
value&p;i&x2;=&nbsp,&
for& double&
printf(&=&i&v[i];0;=&0;-&nbsp,忽略了初始化2;+=&i;
value&i;M;==&sum&=&0;x1;i&%d&-&%d&&(i&=&nbsp
提问者评价
来自团队:
其他类似问题
为您推荐:
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁问题一百:求数列之和
[plain]& Description&
数列的定义如下:&
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。&&
输入数据有多组,每组占一行,由两个整数n(n&10000)和m(m&1000)组成,n和m的含义如前所述。&
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。&
Sample Input&
Sample Output&
Description
数列的定义如下:
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。
输入数据有多组,每组占一行,由两个整数n(n&10000)和m(m&1000)组成,n和m的含义如前所述。
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留2位小数。
Sample Input
Sample Output
[plain]& #include &stdio.h&&
#include &math.h&&
int main()&
&&&& while(scanf(&%d %d&, &n, &m)!=EOF)&
&&&& {&&&&
&&&&&&&& sum= t= n*1.0;&
&&&&&&&& for(i=1; i&m; i++)&
&&&&&&&& {&
&&&&&&&&&&&& sum+=sqrt(t);&
&&&&&&&&&&&& t=sqrt(t);&
&&&&&&&& }&
&&&&&&&& printf(&%0.2f\n&, sum);&
&&&& return 0;&
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'c语言删除学生信息函数 有问题求指教!_百度知道
c语言删除学生信息函数 有问题求指教!
break,在这个删除函数调用时没有问题,但是如果在主函数调用输出函数;;
p1-&gt!=NULL
printf(&quotvoid del(struct student*head){ struct student*p1; q=(struct student*)malloc(sizeof(struct student));next=NULL;
if(p1-&这是我写的输出函数;已删除该学生信息&/next=NULL
p1-&//num==q-&
scanf(&quot!=1 &&
p2=p1;%d& while(p1;
if(i;)!=NULL) {
i++;next=p1-&已删除该学生信息\/不知道为什么一有这句运行程序就会出错
printf(&quot:\num);num==q-&num)
head=p1-&num)
next,*q;p1=p1-& printf(&num)
p2-&gt,&q-&已删除该学生信息&);); int i=0;n&
print(head);请输入要删除学生的学号;n& p1=),*p2;
free(p1),还是会输出我已经删掉的信息
head=create(); getchar(); getchar(); system(& print(head);cls&); getchar(););
del(head); getchar(); system(&cls& print(head)void main(){ struct student*head
提问者采纳
循环查找:\这里不需要再申请结构体空间;//这里需要得到头结点; struct student*&#47, &num);cls&quot,p==NULL;next = NULL;//&#47,直到找到或者链表结束为止 while (), *q;如果找到第一个p一定不为NULL; getchar();&#47,因为头结点可能改变了 getchar()!= NULL) {
q-&%d& p = head,所以需要返回头结点}void main(){ struct student* getchar(); } // print(head),则需要释放删除的节点的空间;next = p-&如果找到;next,则表示没有找到 &#47,避免内存泄露 if (q用来保存上一节点;//while结束后;// system(& printf(&quot,再删除当前节点时会用到; getchar()!= NULL && p-&&#47struct student* del(struct student* head){ if (NULL == head)/); 请输入要删除学生的学号,有不懂的再问不好意思;
head = del(head),因为第一句已经判断; scanf(&quot,见p;,head后移一次 if (p == head)
head = head-&由于可能改变了头结点;}按照上面的改就没问题了;/ system(& print(head); } &#47,直接放int变量就可以了 //cls&quot!= num) {
q =/); head=create();/头结点改变 else if (p != NULL)
free(p);断开要删除的节点
p-&gt!=NULL
p = p-&gt,则直接返回
n& 如果链表为空
提问者评价
十分感谢!
来自:求助得到的回答
其他类似问题
为您推荐:
c语言的相关知识
其他3条回答
那你这程序就会出错,除非你不改变头, 就是你删除的如果是头传地址也没用,你的头改变了的话是要返回的
struct student* del(struct student*head)
struct student*p1,*p2,*q;
printf(&请输入要删除学生的学号:\n&);
//q=(struct student*)malloc(sizeof(struct student)); 只是要输入学号,干嘛要定义个结构体指针,画蛇添足!
//scanf(&%d&,&q-&num);
scanf(&%d&,&num);
while(p1!=NULL)
if(p1-&num == num)
if(p1 == head)
head = p1-&
else if(p1-&next == NULL)
P2-&next = NULL;
p2-&next = p1-&
void main()
struct student*
head=create();
system(&cls&);
print(h...
print(head);//这是我写的输出函数,在这个删除函数调用时没有问题,但是如果在主函数调用输出函数,还是会输出我已经删掉的信息你把这句:struct student*写在主函数之外就不会有问题了
放主函数外头也不管用啊
放外面之后就不要return语句了,就是这句就不要了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求助C语言问题_百度知道
求助C语言问题
第二个参数存放较大的数
还望高手把详细的代码及程序写出来指教。要求:
编写函数order (nit *a,使调用函数中的第一个实参总是存放两个数中的较小的数,int *b)
我有更好的答案
*b){ / / return 0#include & getchar().h& b
int t = *a, b);
*b =void order(int *a;a = %d b = %d&#92,/ printf(&quot, b = 1, &b);交换一下a b的位置
*a = *b;; }}int main(void){ int a = 3, int *b){ if (*a &如果a & order(&a;n&&#47
if (*a & *b) order(int *b,int *a);else order(int
*b,int *a);
。。。。。。可以这样吗?函数返回不是一个值就是无值。
其他类似问题
为您推荐:
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用c语言for循环求1到100之和_百度知道
用c语言for循环求1到100之和
直接累加即可。#include&&stdio.h&int&main(){&&&&int&sum&=&0;&&&&for&(int&i&=&1;&i&&=&100;&i++)&&&&&&&&sum&+=&i;&//&累加到&sum&中&&&&printf(&sum:&%d\n&,&sum);&&&&return&0;}
其他类似问题
为您推荐:
提问者采纳
sum=0; for(i=0;void main(){ ;i++)//%d&这里不应该有分号 sum=sum+i; printf(&quot,sum);i&lt.h&gt#include &=100
来自团队:
for循环的相关知识
其他4条回答
=100;后面的分号去了试试;i&i++)for(i=0
for(i=0;i&=100;i++);后面不应该有分号。
#include &stdio.h&void main(){
int sum=0; for(int i=0;i&=100;i++)
sum=sum+i; printf(&%d&,sum);}
for循环括号后没有分号,鉴定完毕。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 电脑问题求助 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信