日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

全国计算机等级考试题库二级C操作题100套(第19套)

發(fā)布時(shí)間:2023/12/10 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全国计算机等级考试题库二级C操作题100套(第19套) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第19套:

程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲了學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù)fun的功能是將形參a所指結(jié)構(gòu)體變量s中的數(shù)據(jù)進(jìn)行修改,并把a(bǔ)中地址作為函數(shù)值返回主函數(shù),在主函數(shù)中輸出修改后的數(shù)據(jù)。

例如:a所指變量s中的學(xué)號、姓名、和三門課的成績依次是:10001、" ZhangSan "、95、80、88,修改后輸出t中的數(shù)據(jù)應(yīng)為:10002、"LiSi "、96、81、89。
請?jiān)诔绦虻南聞澗€處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。

注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!

給定源程序:

#include <stdio.h> #include <string.h> struct student { long sno; char name[10]; float score[3]; }; __1__ fun(struct student *a) { int i; a->sno = 10002; strcpy(a->name, "LiSi"); for (i=0; i<3; i++) __2__ += 1; return __3__ ; } main() { struct student s={10001,"ZhangSan", 95, 80, 88}, *t; int i; printf("\n\nThe original data :\n"); printf("\nNo: %ld Name: %s\nScores: ",s.sno, s.name); for (i=0; i<3; i++) printf("%6.2f ", s.score[i]); printf("\n"); t = fun(&s); printf("\nThe data after modified :\n"); printf("\nNo: %ld Name: %s\nScores: ",t->sno, t->name); for (i=0; i<3; i++) printf("%6.2f ",t->score[i]); printf("\n"); }

解題思路:

本題是利用形參對結(jié)構(gòu)體變量中的值進(jìn)行修改并通過地址把函數(shù)值返回。
第一處:必須定義結(jié)構(gòu)指針返回類型,所以應(yīng)填:struct student *。
第二處:分別對成績增加1分,所以應(yīng)填:a->score[i]。
第三處:返回結(jié)構(gòu)指針a,所以應(yīng)填:a。


給定程序MODI1.C中函數(shù)fun的功能是:從N個(gè)字符串中找出最長的那個(gè)串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放入一個(gè)字符串?dāng)?shù)組中。
請改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。

給定源程序:

#include <stdio.h> #include <string.h> #define N 5 #define M 81 fun(char (*sq)[M]) { int i; char *sp; sp=sq[0]; for(i=0;i<N;i++) if(strlen( sp)<strlen(sq[i])) sp=sq[i] ; return sq; } main() { char str[N][M], *longest; int i; printf("Enter %d lines :\n",N); for(i=0; i<N; i++) gets(str[i]); printf("\nThe N string :\n",N); for(i=0; i<N; i++) puts(str[i]); longest=fun(str); printf("\nThe longest string :\n"); puts(longest); }

解題思路:

第一處: 要求返回字符串的首地址,所以應(yīng)改為:char *fun(char (*sq)[M])。
第二處: 返回一個(gè)由變量sp控制的字符串指針,所以應(yīng)改為:return sp;。


函數(shù)fun的功能是:將a、b中的兩個(gè)兩位正整數(shù)合并形成一個(gè)新的整數(shù)放在c 中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的百位和個(gè)位上,b中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上。

例如,當(dāng)a=45,b=12。調(diào)用該函數(shù)后,c=2415。
注意: 部分源程序存在文件PROG1.C中。數(shù)據(jù)文件IN.DAT中的數(shù)據(jù)不得修改。

請勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入
你編寫的若干語句。

給定源程序:

#include <stdio.h> void fun(int a, int b, long *c) { } main() { int a,b; long c; printf("Input a, b:"); scanf("%d%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c); NONO(); }

解題思路:

本題是給出兩個(gè)兩位數(shù)的正整數(shù)分別取出各位上的數(shù)字,再按條件組成一個(gè)新數(shù)。

取a十位數(shù)字的方法:a/10
取a個(gè)位數(shù)字的方法:a%10

參考答案:

void fun(int a, int b, long *c) { *c = (b%10)*1000+(a/10)*100+(b/10)*10+a%10; } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的全国计算机等级考试题库二级C操作题100套(第19套)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。