c语言,题目如图 求c语言大神,题目如图

c\u8bed\u8a00\uff0c\u9898\u76ee\u5982\u56fe

\u6625\u5929\u6765\u4e86~
\u4e00\u8d77\u51fa\u95e8\u6d6a\u554a\uff01
\u6211\u5e26\u7740\u4f60
\u4f60\u5e26\u7740\u94b1
\u4e00\u8d77\u53bb\u6d6a\uff0c\u53ef\u597d\uff1f
\u6625\u82b1\u6d6a\u6f2b\uff0c\u8d70\u8d77\uff01\uff01\uff01
\u6625\u5149\u5927\u597d\uff0c\u5fae\u98ce\u4e0d\u71e5
\u4e0d\u5982\u548c\u6211\u8d70\u51fa\u95e8
\u6dcb\u4e00\u573a\u6625\u96e8\uff0c\u9047\u4e00\u573a\u82b1\u4e8b\uff01
\u60f3\u5e26\u4f60\u53bb\u6b66\u5927\uff0c\u6f2b\u6b65\u6821\u56ed\u8d4f\u6a31\u82b1\u3002
\u60f3\u5e26\u4f60\u53bb\u626c\u5dde\uff0c\u770b\u5c0f\u6865\u6d41\u6c34\uff0c\u6ee1\u6811\u743c\u82b1\u3002
\u60f3\u5e26\u4f60\u53bb\u5a7a\u6e90\uff0c\u770b\u6cb9\u83dc\u82b1\u6d77\uff0c\u767d\u5899\u9edb\u74e6\u3002
\u60f3\u5e26\u4f60\u53bb\u5927\u7406\uff0c\u5728\u82cd\u5c71\u4e0b\u6d31\u6d77\u8fb9\uff0c\u770b\u82b1\u770b\u6c34\uff0c\u770b\u65e5\u6708\u661f\u8fb0\u3002
\u60f3\u5e26\u4f60\u53bb\u897f\u6e56\uff0c\u65ad\u6865\u82cf\u5824\uff0c\u770b\u82b1\u7ea2\u67f3\u7eff\u3002
\u60f3\u5e26\u4f60\u53bb\u4e5d\u5be8\u6c9f\uff0c\u770b\u51b0\u96ea\u6d88\u878d\uff0c\u5c71\u82b1\u70c2\u6f2b\u3002
\u60f3\u5e26\u4f60\u53bb\u4e09\u4e9a\uff0c\u9762\u671d\u5927\u6d77\uff0c\u6625\u6696\u82b1\u5f00\u3002
\u60f3\u5e26\u4f60\u53bb\u4e3d\u6c5f\uff0c\u4e0e\u4f60\u7275\u624b\u6f2b\u6b65\u56db\u65b9\u8857\u3002
\u60f3\u5e26\u4f60\u53bb\u6797\u829d\uff0c\u770b\u6f2b\u5c71\u7684\u6843\u82b1\u3002
\u60f3\u5e26\u4f60\u53bb\u91d1\u5c71\uff0c\u770b\u70c2\u6f2b\u6625\u5149\u4e2d\u7684\u68a8\u82b1\u96ea\u3002
\u60f3\u5e26\u4f60\u53bb\u6d1b\u9633\uff0c\u770b\u5bcc\u8d35\u7261\u4e39\u7ea2\u6ee1\u5929\u3002

#include #define N 5void input_stu (struct Stu *stu);void output_avg (struct Stu *stu);struct Stu{int id;char name[10];int sex;float math;float eng;float c;};int main(){struct Stu stu[N];input_stu(stu);output_avg(stu);return 0;}void input_stu(struct Stu *stu){int i = 1;do{printf("\u8bf7\u8f93\u5165\u7b2c%d\u4e2a\u5b66\u751f\u7684\u59d3\u540d \u5b66\u53f7 \u6027\u522b \u6570\u5b66\u6210\u7ee9 \u82f1\u8bed\u6210\u7ee9 C\u8bed\u8a00\u6210\u7ee9:", i);struct Stu *s = stu + i - 1;scanf("%s %d %d %f %f %f", s->name, &s->id, &s->sex, &s->math, &s->eng, &s->c);i++;} while (i math, eng_avg = stu->eng, c_avg = stu->c;int b_num = 0, g_num = 0;putchar(10);do{struct Stu *s = stu + i - 1;math_avg = ((i - 1)*math_avg + s->math) / i;eng_avg = ((i - 1) * eng_avg + s->eng) / i;c_avg = ((i - 1)*c_avg + s->c) / i;s->sex == 1 ? b_num++ : g_num++;printf("%-8d%-8s%-8s%-8.1f%-8.1f%-8.1f%-8.1f",s->id, s->name, s->sex == 1 ? "\u7537" : "\u5973", s->math, s->eng, s->c, (s->math + s->eng + s->c) / 3);putchar(10);i++;} while (i <= N);printf("%-12s%-12s%-12s%", "\u6570\u5b66\u5e73\u5747\u5206", "\u82f1\u8bed\u5e73\u5747\u5206", "C\u5e73\u5747\u5206");putchar(10);printf("%-12.1f%-12.1f%-12.1f", math_avg, eng_avg, c_avg);putchar(10);printf("%-12s%-12s", "\u7537\u751f\u4eba\u6570", "\u5973\u751f\u4eba\u6570");putchar(10);printf("%-12d%-12d", b_num, g_num);putchar(10);}\u4ee3\u7801\u4e0d\u61c2\u79c1\u804a

此应该是为了说明算式k- -,特意设计的一道题目。在C语言中,算式k- -单独使用时,表示k值减1,即k=k-1。而对于将算式k- -做为参数代入到其它语句,当被代入的语句在执行时,是先使用未曾减1的k值来执行操作,在被代入语句执行完成后,再将k值减1。
所以在本题目中,whiⅠe(k- -)表示在k非0吋,继续执行whiⅠe,且k=k-1; 而k为0时,结束while操作,且依然会执行一次k=k-1,因此k= -1。

while(k--);
循环语句最后有分号,只要满足循环条件,就一直循环。直到不满足循环条件,才退出循环,执行后面的printf语句(即printf语句只有在前面的循环结束后,执行一次)。
判断条件为k--,即判断k是否等于0,等于0时退出循环,否则一直进行循环。每次判断之后k自减1。
因此一直循环到k=0时,不满足循环条件,退出循环,k自减1,k的值变为-1
执行printf语句,输出k的值,输出-1。
while(k--);注意与while(k--)进行区分,最后带不带分号,两者是不同的。

这需要理解后部--操作的原理,如果使用C语言的函数来实现,等价于代码实现:

int k = 1;
int decrement() {
    int tmp = k;
    k= k- 1;
    return tmp;
}
while (decrement()) ;
println("%d = k", k);

当tmp==0的时候就会退出while循环,这个时候的k其实是-1



k- -会先完成其他运算后再自减1,k一开始等于1,它会先进行while的判断再自减1,也就是先while(1),然后k=k-1=0,然后进行下一次循环,也就是while(0),while循环跳出,k=k-1=-1
这是跟- -k作出区别,- -k会先完成自减,再进行其他运算,如果是- -k,那k就等于0

在while循环中第一次循环k先用后减判定为真执行循环此时k=0
第二次循环k先用后减判定为假结束循环,这是k再次减一

先判断 i=0,括号里i=0-1 ,跳出循环 i=-1了

因为k=0退出循环后,它还做了次自减。

  • 鐢C璇█鍐欎竴涓墦鎶樼▼搴.濡傚浘鎵绀
    绛旓細include <stdio.h>int main(){int x;float y;printf("璇疯緭鍏ユ湰娆℃秷璐圭殑閲戦锛歕n");scanf("%d",&x);if(x>=1000)y=x*0.85;else if(500<=x && x<1000)y=0.9*x;else if(300<=x && x<500)y=0.96*x;else if(x<300 && x>0)y=x;printf("瀹為檯鑺辫垂鐨勯噾棰濓細%.2f",y);...
  • C璇█棰樼洰,濡傚浘,杩欑瑕佹眰瑕佹庝箞鎵嶈兘鍋氬埌?
    绛旓細include <stdio.h>int main(){int i,n,data,s=0;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&data);s+=data;}printf("%d",s);return 0;}
  • c璇█,棰樼洰濡傚浘绗22鍒27棰樸傛眰瑙i噴涓嶈鍙绛旀,璋㈣阿澶у!
    绛旓細杩欎釜瀛楃涓瞫鐨勭涓変釜瀛楃灏辨槸'\0'锛屽洜姝trlen()妫娴嬪埌杩欓噷灏辩粓姝簡锛岃繑鍥2.24.鍙屽紩鍙疯鏄"b"鏄竴涓瓧绗︿覆鑰屼笉鏄瓧绗︼紝鍗犵敤鍐呭瓨绌洪棿鏄绠椾笂瀛楃涓茬粨鏉熸爣璇'\0'鐨勶紝鍥犳鏄2.25.010鏄叓杩涘埗鏁帮紝杞垚鍗佽繘鍒朵负8锛0x10鏄16杩涘埗鏁帮紝杞垚鍗佽繘鍒朵负16锛屾渶鍚庤緭鍑8,16,10銆26.C 27.C.scanf璇彞鍚...
  • C璇█缂栫▼棰,棰樼洰濡傚浘,楹荤儲浼氱殑浜插啓涓涓嬭繃绋,璋㈣阿!
    绛旓細include <stdio.h>int main(void){ int a = 0; int n = 0; scanf("%d %d",&a,&n); int temp = 0; int sum = 0; int i = 0; for(i=0; i<n; ++i) { temp = temp*10 + a; sum += temp; } printf("%d\n",sum); return ...
  • c璇█,杩欎釜浠g爜鍝敊浜6%,璋㈣阿,棰樼洰濡傚浘?
    绛旓細include<stdio.h> include<string.h> struct st{//瀹氫箟缁撴瀯浣擄紝鐢ㄦ潵鍌ㄥ瓨锛屾瘡涓笉鍚岀殑瀛楃涓插拰涓暟 char x[50];//瀛楃涓 int num;//璇ュ瓧绗︿覆涓暟 锛堣鏁板櫒锛墋s[1000],t;//缁撴瀯浣撳彉閲 int main(){ int n;char a[1000][50]={'\0'};scanf("%d",&n);getchar();for(int i=0;i...
  • 姹傝В閲婁笅濡傚浘c璇█棰樼洰銆
    绛旓細绗2棰橀堿锛屽畾涔夊彉閲忓悕鍙兘浠ュ瓧姣嶃佹暟瀛楀拰涓嬪垝绾跨粍鎴愶紝浠ュ瓧姣嶆垨涓嬪垝绾垮紑澶达紝涓斾笉鑳藉畾涔夊拰C璇█鍏抽敭瀛椾竴鏍风殑鍙橀噺鍚嶃傜3棰橀堿锛屼互0寮澶寸殑鏄叓杩涘埗鏁帮紝鐢0鑷7缁勬垚锛岃078鏈夋暟瀛8锛屾樉鐒朵笉姝g‘銆傜4棰橀塀锛(x=10)||(y=20)锛屽厛璁$畻x=10涓虹湡锛屾墍浠(x=10)||(y=20)涓虹湡锛寍|閫昏緫鎴栬瀹氬彧瑕...
  • C璇█绋嬪簭璁捐棰樺鍥,甯啓涓嬭В閲
    绛旓細include<stdio.h>int main(){ int sum=0,i; /*鎸佺画鎵ц杩欎釜for寰幆鐨勬潯浠舵槸sum<=2000,涔熷氨鏄綋sum>2000鏃堕鍑哄惊鐜,鍙橀噺i妯℃嫙鐨勬槸n鐨勯愪釜澧炲姞*/ for(i=1;sum<=2000;i++) sum=sum+i*i; //姣忔绛変簬涔嬪墠鐨剆um+i^2 //浣嗘槸鐢变簬鏄厛鎵цi++,鍐嶅垽鏂璱f(sum<=2000) 鎵浠...
  • 浜岀骇c璇█棰樼洰,濡傚浘,璇烽棶姝ら鏄笉鏄湁闂?
    绛旓細娌′粈涔堥棶棰 瀛楃涓叉湁鏁堥暱搴︽槸strlen(s),鎵浠ユ渶鍚庝竴涓瓧绗︾殑涓嬫爣涓簊trlen(s)-1 鐒跺悗杩涜棣栧熬浜ゆ崲鐩磋嚦浜ゆ崲鍒颁腑闂翠綅缃,灏卞畬鎴愪簡瀛楃涓茬殑閫嗗簭鎺掑垪,杩欐槸甯哥敤鐨勭畻娉
  • c璇█閫夋嫨棰,濡傚浘,姹傝В
    绛旓細鍏堢湅scanf璇彞 scanf("%d%c%d%c")涓棿娌℃湁浠讳綍闂撮殧绗︼紙绌烘牸鎴栬咃紝锛夛紝涔熷氨鏄痵canf涓嶄細蹇界暐鎺夊瓧绗﹀叏閮ㄨ鍏ャ傝宻canf璇诲彇鍗佽繘鍒%d鏁版嵁鐨勬椂鍊欙紝浼氳嚜鍔ㄥ埌闈炴暟瀛楀仠姝紝鍗宠緭鍏1076s10鐨勮瘽锛宻canf浼氳嚜鍔ㄦ娴嬪埌涓棿鏈変竴涓潪鏁板瓧s鐨勫瓨鍦紝浼氬彧璇诲叆1076璧嬪肩粰鍗佽繘鍒舵暟瀛椼侫 10A 20B 棣栧厛scanf浼氳姹備竴涓10杩涘埗...
  • c璇█姹傚姪,鎴戣繖涓繍琛屽嚭鏉ヤ笉瀵,璇峰府鎴戞敼涓涓,棰樼洰濡傚浘,鎷滄墭,璋㈣阿
    绛旓細杩樺緱闄や互k鍛 printf( "鍓%d椤规暟鍒楃殑鍜=%.6f\n", (int)k, sum );//杈撳嚭鐨勬槸k鍜宻um锛屼笉鏄痭鍜宻umk++; item=1/(float)k;//娉ㄦ剰鍜宬++鐨勯『搴忥紝k++鍦ㄥ悗闈紝浼氬绠椾竴娆° }return 0;}濡傚浘鎵绀猴紝鏈鍚庣粨鏋滃樊涓鐐圭偣锛屾槸鐢佃剳鑷韩绮惧害鐨勯棶棰橈紝鍙互蹇界暐銆傛湜閲囩撼銆傘傘
  • 扩展阅读:扫一扫题目出答案 ... c语言搜题神器app ... 二级c语言免费题库 ... c++入门程序代码 ... c语言基础知识100题 ... c#考试题库 ... 编程题库100题 ... 编程必背100个代码 ... 大一c语言必背编程题 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网