a【】.s什么意思c语言中a b是什么意思

共有 6605 人关注过本帖
标题:新手
求S=a+aa+aaa+aaaa
等 级:论坛游民
帖 子:26
专家分:23
结帖率:100%
&&问题点数:0&&回复次数:15&&&
求S=a+aa+aaa+aaaa
# include &stdio.h&
# include &math.h&
int main(void)
&&& int i = 1, sum = 0, a, n,
&&& scanf(&%d%d&,&a,&n);
&&& for ( ; k != 0 && k &= n-i; i++)
&&&&&&&&sum = sum + pow( 10,k);
&&& sum = a * ( 1 + sum);
&&& printf(&结果是%d&,sum);
&&& return 0;
我想知道 ,我这个编的程序能运行,只显示窗口后,不显示结果
为什么呢》??
———————————————————分割线——————————————————————————————
我已经修改成这样
# include &stdio.h&
# include &math.h&
int main(void)
&&& int sum = 0,&&k = 1, n,
&&& scanf(&%d%d&,&a,&n);
&&& for ( ; k & k++)
&&&&&&&&sum = sum + pow( 10,k);
&&& sum = a * ( 1 + sum);
&&& printf(&结果是%d\n&,sum);
&&& return 0;
[ 本帖最后由 hanucvb 于
13:15 编辑 ]
搜索更多相关主题的帖子:
等 级:本版版主
威 望:303
帖 子:25403
专家分:48054
要学会逐行看程序代码,到for循环时,你用到k进行检测循环条件,k是多少?
授人以渔,不授人以鱼。
等 级:论坛游民
帖 子:26
专家分:23
回复 2楼 TonyDeng
唉,自卑呐
新手还是要经常错才能成长
非常感谢这位同志!!!!
等 级:本版版主
威 望:303
帖 子:25403
专家分:48054
我教你怎么调试程序,学会以后怎么写程序,愿意的话,就按照我说的一步一步做:
1.把scanf()后面的代码全部注释掉;
2.在scanf()后面加一行,写printf(&a = %d, n = %d\n&, a, n);
3.运行这个程序几次,输入各式各样不同的a、n值,检验程序确实正确读到了你的输入(你不要以为总能读正确,试过就明白了),学会怎么正确地输入数据
做完,再告诉你接下来怎么做,不做,就到此为止,让别人告诉你直接答案好了。
授人以渔,不授人以鱼。
等 级:论坛游民
帖 子:15
专家分:39
因为K既没有进行初始化的赋值,也不是通过键盘输入的,所以系统根本不知道K的值是多少。
要改进的话,先给K赋给初值,K++和I++同时用。
或者像楼上说的那样,单步调你就能看出错了,在int main()的大括号哪里设置个断点,再在sum=sum+pow(10,k)后设置一个断点,那然看下面K的值变化就能看出错了。
等 级:论坛游民
帖 子:80
专家分:75
for循环中;是啥意思?会不会出错啊
等 级:职业侠客
帖 子:286
专家分:308
#include&math.h&
#include&stdio.h&
#include&stdlib.h&
void main()
float sum=0;
scanf(&%f&,&a);
for(i=1;i&=4;i++)
{sum=pow(a,i)+}
printf(&a*a+a*a+a*a*a+a*a*a*a=%f&,sum);
system(&pause&);
刚开始也不行,我说几点哈:嗯 pow(x,y)&&&里的x要是float或double
慢慢来吧,祝你成功。。。
[ 本帖最后由 吴军旗 于
13:10 编辑 ]
附件: 只有本站会员才能下载或查看附件,请
最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
等 级:论坛游民
帖 子:26
专家分:23
回复 4楼 TonyDeng
我按你的那样去做!
输出的结果是:
————————————————————
a = , n = -
Press any key to continue
————————————————————
[ 本帖最后由 hanucvb 于
13:21 编辑 ]
等 级:本版版主
威 望:303
帖 子:25403
专家分:48054
回复 8楼 hanucvb
嗯,不能得到正确的输入了是吧。你看写的代码,scanf(&%d%d&, &a, &n),两个%d%d是紧密连在一起的,意思是如果你希望输入a=1、n=2,那么将被视为12,但问题是12也是整数,因此scanf()函数事实上无法判断你输入的是什么,所以,它会把12当作是一个数,得到a=12,然后等待你输入n的值。这就是你必须敲一下回车,输入另一个数字,程序才能继续执行下去的原因。因此,你这里修改,明确告诉scanf()分隔符是什么,改为如scanf(&%d,%d&, &a, &n),这样,你输入时用逗号隔一下就行,而原先的那个,也可以用空格、TAB或回车等分隔。这些scanf()的古怪规律,是你用scanf()函数时必须掌握的(但你掌握不等于别的人也掌握,当你的程序给别人用时更要注意)。
由于你使用的a、n是int数据类型,所以要注意不要输入超越int许可范围的数字,否则,会得到不确定的结果(C语言并没有规定int是多少字节,也没规定超越范围时怎么裁剪为适合的值,这些是编译器的自由领域,不同编译器有不同的处理办法,不要想当然一定是这样或那样,总之要警戒这种错误发生)。这就是你那个结果的原因。
知道以上问题的可能性,就可以进入下面的步骤了。for循环,无非是起始条件、终止条件、循环动作,你的for没有起始条件,但有终止条件。那么你要把自己当作是计算机,你在执行程序,这很重要!终止条件要检测是否k!=0,那么,第一次进入for时,k是多少呢?然后它将是多少?最终又应该是多少?根据初始条件,能进入这个循环吗?根据循环中的代码,会出现终止的条件吗?这些问题,都要在代码中寻找、要明确,带着这些问题进入循环体中,检查代码,得到全部答案为止。最基本的办法,是假定自己输入的a、n分别是多少,一步一步把整个循环执行一遍,确信得到正确的结果;然后改变一下a、n的值,再执行一次;再试另外很明显差异的数据。三五次之后,程序的正确性基本得到保障了,才完成这个循环的审查。
在审查的过程,随时提醒自己在做什么题目、希望得到怎样的结果、是否确实得到了希望的东西。比如,你要s=a+aa+aaa+……,第一次得到a了吗?第二次得到aa了吗?得到的东西给s了吗?如何知道真的是a、aa、aaa?把数据打印出来看看。验证、验证、再验证。任何简单的程序,都不是看起来那么简单,步进式检查,确保到目前为止是对的,再进行下面的编码,不要一气把程序写完,随时把握程序的动向,一定要非常非常清楚程序在任何时候、在什么情景中将会做什么、在做什么。
写程序的一个基本观点是,你的程序面对的是任何情况都可能发生的环境,假设越少,程序越强壮。不要想当然用scanf()接受输入时用户会按照你的知识体系行事,检查除数不能为零是你程序的责任,不是用户的责任,他什么数据都敢往里灌,程序抗不抗得住是你程序员的本事。因此,程序员写程序时必须要能够变换角色,把自己转换为用户,亲自使用一下自己的产品,看有什么问题,须知,最终用户比你还要严格、变态得多,如果你自己都不能过关,就不要幻想用户那关能过,被退货打回头是迟早的事,与其如此,宁愿迟交货也不要被回炉,交货迟了可以解释为精益求精,但经常被退货则被视为办事不牢,感观是截然相反的。一个优秀的程序员(即使是求伯君那样的高手),也不保证能一次写出没有错误的程序,他们改错的时间比你想象中的多得多。
[ 本帖最后由 TonyDeng 于
14:13 编辑 ]
授人以渔,不授人以鱼。
等 级:本版版主
威 望:303
帖 子:25403
专家分:48054
不要写自己也不清楚结果的代码。比如,你这个程序用到了pow()函数,估计你从什么地方看到这个函数的,但你了解它的后果吗?告诉我,pow()返回什么东西?是什么数据类型?它跟int做加法,结果是什么数据类型?你确定这些操作是完全在意图之中的?
事实上,看了你的代码,我反而搞不清楚题目到底是什么意思?
授人以渔,不授人以鱼。
版权所有,并保留所有权利。
Powered by , Processed in 0.033671 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights ReservedC语言里 s-&s&a[i].s中的s-是什么意思
C语言里 s-&s&a[i].s中的s-是什么意思 5
整个程序如下:
#include &stdio.h&#include &string.h&#include &conio.h&#define& N&10typedef struct ss{&char num[10];&}STU;
fun (STU a[],STU *s){& &*s=a[0];&for(i=0;i&N;i++)&&if(s-&s&a[i].s) *s=a[i];}
main (){&STU&&a[N]={{"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},{"A06",90}},m;&&system("cls");&for(i=0;i&N;i++)&&printf("No=%s Mark=%d\n",a[i].num,a[i].s);&fun(a,&m);&printf("The lowest:%s,%d\n",m.num,m.s);}
这个程序运行出来有错误,但是这是题集上的原题,提示是
--------------------Configuration: Cpp1 - Win32 Debug--------------------Compiling...Cpp1.cppE:\C程序\Cpp1.cpp(17) : warning C4508: 'fun' : function s 'void' return type assumedE:\C程序\Cpp1.cpp(24) : error C2065: 'system' : undeclared identifierE:\C程序\Cpp1.cpp(29) : warning C4508: 'main' : function s 'void' return type assumed执行 cl.exe 时出错.
Cpp1.exe - 1 error(s), 0 warning(s)为什么system错误?还有变量m能解释一下吗?最后的m.num,m.s为什么不是啊a[m].num和a[m].s呢?m不是a[N]中的一项吗?
不是s-,是s-&s:第一个s是一个结构体指针,运算符-&用来访问其中的分量s
要用system,包含头文件stdlib.h
那为什么这样用呢?s-&s是一个值吗?能用*s&a[i].s吗
c语言的语法这么规定的,要访问一个结构体中的分量得用运算符.或-&,例如:
typedef struct ss{&char num[10];&}STU;
STU aa, *//bb一个是指针,本来是要分配内存后才能访问的,这里为了简单就不申请了.
现在访问s这个分量:aa.s,bb-&s//可以看出是指针需用-&,否则就用.运算符
*s&a[i].s这中用法不对,可以这样:(*s).s&a[i].s,但这样没s-&s直观
的感言:谢谢了 相关知识
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号0&&parseInt(document.getElementById('custompage').value)页&&1&&parseInt(document.getElementById('custompage').value)楼&&
回复:9 &查看:8700 &
字母A、B、C、D、R、S、T、分别代表什么意思啊?
鸟大了,啥子林子都...
财产: 51240 爱卡币
来自: 四川省|成都市
字母A、B、C、D、R、S、T、分别代表什么意思啊?
& & 川A数字数字数字数字A、B、C、D、R、S、T、
& & 字母分别代表什么意思啊?懂的同学帮我普及哈嘛。。。
鸟大了,什么林子都有…呼号BH8AJT/频率439450
[每日热点]:
鸟大了,啥子林子都...
财产: 51240 爱卡币
来自: 四川省|成都市
为什么帖子不审核了???
鸟大了,什么林子都有…呼号BH8AJT/频率439450
[每日热点]:
财产: 9628 爱卡币
来自: 四川省|成都市
还应该加个Q
[每日热点]:
鸟大了,啥子林子都...
财产: 51240 爱卡币
来自: 四川省|成都市
对的,我还搞忘记Q了,但是我晓得Q是什么资讯单位啊那些挂的嘛,呵呵。。。
鸟大了,什么林子都有…呼号BH8AJT/频率439450
[每日热点]:
财产: 7638 爱卡币
来自: 四川省|绵阳市
ABCD据说是4大班子哇
其他的QRST就是原来那些川蛋换的,不是说除了GA系统保留蛋蛋,其他的蛋蛋全部换成QRST了
【爱猫联盟】花花
[每日热点]:
财产: 8540 爱卡币
来自: 四川省|成都市
不知道........
[每日热点]:
鸟大了,啥子林子都...
财产: 51240 爱卡币
来自: 四川省|成都市
ABCD据说是4大班子哇
其他的QRST就是原来那些川蛋换的,不是说除了GA系统保留蛋蛋,其他的蛋蛋全部换成QRST了 对的嘛,但是肯定具体到什么行业啊,部门啊,呵呵。反正我看Q的最多,也是最不牛的,好象S的在路上还比较牛,呵呵。现在又开始出T了,搞不清楚罗
鸟大了,什么林子都有…呼号BH8AJT/频率439450
[每日热点]:
财产: 1829 爱卡币
来自: 四川省|成都市
对的嘛,但是肯定具体到什么行业啊,部门啊,呵呵。反正我看Q的最多,也是最不牛的,好象S的在路上还比较牛,呵呵。现在又开始出T了,搞不清楚罗 ABCD就不说了,按规律来。
QRST是省级企事业单位(如省级国企、省级媒体,反正就是公家的),当然里面也穿插了特殊单位的车,而且是很牛逼的单位。
[每日热点]:
财产: 1829 爱卡币
来自: 四川省|成都市
补充:QRST是不分具体单位或行业的,Q排完了,就是R,R完了就是S,S完了就是T。
QRST不一定就不牛,我主任亲眼见过,在人民南路上QRST开着喊话器,让前面ABCD让道的。
[ 本帖最后由 办公室的李主任 于
22:12 编辑 ]
[每日热点]:
财产: 2234 爱卡币
来自: 四川省|成都市
反正开川O.AXXXX的相当有钱
[每日热点]:
回复成功,收到1个大米!
10&&parseInt(document.getElementById('custompage_down').value)页楼
100 爱卡币
36 元98.00
299 元1280.00
已有 2096 人申请
经销商推荐
综合经销商
地&址:四川省成都市金牛区羊西线蜀西
地&址:成都市绕城高速双流出口(时代
地&址:成都市三环路南三段121号(
地&址:四川省成都市天府新区麓山大道
地&址:全国五星级经销商;南三环三段
地&址:成都市羊西线蜀西路173号国
地&址:四川省成都市武侯区新光路11
地&址:四川省南充市高坪区航空港工业百度拇指医生
&&&普通咨询
您的网络环境存在异常,
请输入验证码
验证码输入错误,请重新输入c语言 if(s-&s&a[i].s) 是什么意思?_百度知道
c语言 if(s-&s&a[i].s) 是什么意思?
例如定义了这样一个结构数组;struct
....}a[i];A *s;s是指向结构数组a的某一个值,这实际就是比较结构数组a里面的2个元素的s的值的大小。不知道这样你能明白了不?
其他类似问题
为您推荐:
第一个s应该是数组a[i]同一个类型数据的一个指针,这儿是判断s指向的这个结构里的成员s是否比a[i]里的s大,能懂不?
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 s.p.a是什么意思 的文章

 

随机推荐