diff --git a/万维25届C语言调考试题.md b/万维25届C语言调考试题.md index db28ae7..df2582a 100644 --- a/万维25届C语言调考试题.md +++ b/万维25届C语言调考试题.md @@ -1,26 +1,26 @@ -### 第一次 +### һ ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:在此程序中,函数fun 的功能是:将十进制正整数m 转换成k(1 -// 函数声明 +// void fun(int m, int k); int main() { int m, k; - printf("【请输入十进制正整数m 和进制k(1 < k < 26):】"); + printf("ʮm ͽk1 < k < 26"); scanf("%d %d", &m, &k); if (k <= 1 || k >= 26) { - printf("错误:k 的值必须在 2 到 25 之间。\n"); + printf("k ֵ 2 25 ֮䡣\n"); return 1; } fun(m, k); @@ -43,15 +43,15 @@ void fun(int m, int k) ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:键盘输入一个整数n,由这n 个人围成一圈,顺序排号。从第一个人开始报数 -(从1 到3 报数),凡报到3 的人退出圈子,问最后留下的是原来第几号的那位 -输入输出如下 -【请输入整数n: 】99 -最后留下的是原来第88 号的那位 +Ŀһn,n ΧһȦ˳źšӵһ˿ʼ +(1 3 )3 ˳Ȧӣµԭڼŵλ + +n: 99 +µԭ88 ŵλ ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,函数中所需变量根据需要自定义变量名。 +ע⣺ĶеݣҪԶ ------------------------------------------------------------------------*/ #include int josephus(int n) @@ -64,28 +64,28 @@ int main() { int n; int result; - printf("【请输入整数n: 】"); + printf("n: "); scanf("%d", &n); result = josephus(n); - printf("最后留下的是原来第%d 号的那位\n", result); + printf("µԭ%d ŵλ\n", result); return 0; } ``` -### 第二次 +### ڶ ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ----------------------------------------------------------------------- -键盘输入五个正整数,编写函数求其中偶数之和,并输出结果 -示例: -【请输入五个正整数:】100 222 656 899 65 -【这五个正整数中的偶数之和为:】978 +дż֮ͣ +ʾ +100 222 656 899 65 +еż֮Ϊ978 ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,请勿重新定义变量名。 +ע⣺Ķеݣ¶ ------------------------------------------------------------------------*/ #include int sum_of_even(int arr[], int size); @@ -94,22 +94,22 @@ int main() int numbers[5]; int i; int even_sum; - printf("【请输入五个正整数:】"); + printf(""); for (i = 0; i < 5; i++) { if (scanf("%d", &numbers[i]) != 1) { - printf("输入有误,请确保输入了五个整数。\n"); + printf("ȷ\n"); return 1; } if (numbers[i] <= 0) { - printf("输入有误!请确保输入的是正数。\n"); + printf("ȷ\n"); return 1; } } even_sum = sum_of_even(numbers, 5); - printf("【这五个正整数中的偶数之和为:】%d\n", even_sum); + printf("еż֮Ϊ%d\n", even_sum); return 0; } int sum_of_even(int arr[], int size) @@ -126,19 +126,19 @@ int sum_of_even(int arr[], int size) ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ----------------------------------------------------------------------- -规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:将字符串中的前 -导*号全部 -删除, 中间和尾部的* 号不删除。例如, 字符串中的内 -容:"*******A*BC*DEF*G****",删除 -后字符串编写函中的内容应当是:"A*BC*DEF*G****"编写函数时,不得使用C 语 -言提供的字符 -串函数。 +涨ַֻĸ*šдfun书:ַеǰ +*ȫ +ɾ мβ* Ųɾ磬 ַе +:"*******A*BC*DEF*G****"ɾ +ַдеӦ:"A*BC*DEF*G****"дʱʹC +ṩַ + ------------------------------------------------------------------------- -注意:请勿改动主函数main 和其它函数中的任何内容, -仅在函数fun 的花括号中填入你编写的若干语句,根据情况可以定义新变量。 -根据情况可以自定义变量 +ע:Ķmain еκ, +ںfun Ļд,Զ± +Զ ------------------------------------------------------------------------*/ #include void fun(char *a) @@ -150,31 +150,31 @@ void fun(char *a) main() { char s[81]; - printf("【Enter a string:】\n"); + printf("Enter a string:\n"); gets(s); fun(s); - printf("【The string after deleted:】\n"); + printf("The string after deleted:\n"); puts(s); } ``` -### 第三次A +### A ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ----------------------------------------------------------------------- -编写函数找出能同时满足用3 除余2,用5 除余3,用7 除余2 的所有整数并输出。 -输入输出如下: -【请输入区间的起始值: 】1 -【请输入区间的结束值:】 100 +дҳͬʱ3 25 37 2 +£ +ʼֵ: 1 +Ľֵ: 100 23 ------------------------------------------------------------------------- -注意:请勿改动主函数main 和其它函数中的任何内容, -仅在函数isMeetCondition 的花括号中填入你编写的若干语句,根据情况可以定义新变量。 -根据情况可以自定义变量 +ע:Ķmain еκ, +ںisMeetCondition Ļд,Զ± +Զ ------------------------------------------------------------------------*/ #include int isMeetCondition(int num); @@ -182,9 +182,9 @@ int main() { int start, end; int i; - printf("【请输入区间的起始值: 】"); + printf("ʼֵ: "); scanf("%d", &start); - printf("【请输入区间的结束值: 】"); + printf("Ľֵ: "); scanf("%d", &end); for (i = start; i <= end; i++) { @@ -207,34 +207,34 @@ int isMeetCondition(int num) ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ----------------------------------------------------------------------- -定义一个函数判断一个字符串是否是另一个字符串的子字符串,要求用指针实现。 -输入输出如下: -【请输入第一个字符串:】abcdefg1234qwert -【请输入第二个字符串:】4q -字符串'4q'是字符串'abcdefg1234qwert'的子字符串 +һжһַǷһַַҪָʵ֡ +£ +һַ:abcdefg1234qwert +ڶַ:4q +ַ'4q'ַ'abcdefg1234qwert'ַ ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,请勿重新定义变量名。 +ע⣺Ķеݣ¶ ------------------------------------------------------------------------*/ #include #include -// 函数声明,用于判断子字符串 +// жַ int isSubstring(char *str1, char *str2); int main() { char str1[100], str2[100]; - printf("【请输入第一个字符串:】"); + printf("һַ:"); gets(str1); - printf("【请输入第二个字符串:】"); + printf("ڶַ:"); gets(str2); if (isSubstring(str1, str2)) { - printf("字符串'%s'是字符串'%s'的子字符串\n", str2, str1); + printf("ַ'%s'ַ'%s'ַ\n", str2, str1); } else { - printf("字符串'%s'不是字符串'%s'的子字符串\n", str2, str1); + printf("ַ'%s'ַ'%s'ַ\n", str2, str1); } return 0; } @@ -252,19 +252,19 @@ int isSubstring(char *str1, char *str2) -### 第三次B +### B ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:随机输入一字符串(不包含空格,长度不超过100),删除字符串中的数字 -字符后输出。 -例如 -【请输入字符串:】I will graduate from high school in June 2025 -【去掉数字后的字符串为:】I will graduate from high school in June +Ŀһַո񣬳Ȳ100ɾַе +ַ + +ַI will graduate from high school in June 2025 +ȥַֺΪI will graduate from high school in June ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,请勿重新定义变量名。 +ע⣺Ķеݣ¶ ------------------------------------------------------------------------*/ #include #include @@ -272,7 +272,7 @@ int main() { char a[100], b[100]; int l, i, j; - printf("【请输入字符串:】"); + printf("ַ"); gets(a); l = strlen(a); j = 0; @@ -280,7 +280,7 @@ int main() /********** End **********/ b[j] = '\0'; - printf("【去掉数字后的字符串为:】"); + printf("ȥַֺΪ"); puts(b); return 0; } @@ -290,15 +290,15 @@ int main() ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:以下程序的功能是删去一维数组str 中所有相同的数,使之只剩一个。数组 -中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。 -若一维数组中的数据是: +Ŀ³Ĺɾȥһάstr ͬʹֻ֮ʣһ +еѰС˳Уɾݵĸ +һάеǣ 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 7 7 7 7 7 7 7 7 8 8 9 -结果是:2 3 4 5 6 7 8 9 +ǣ2 3 4 5 6 7 8 9 ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,请勿重新定义变量名。 +ע⣺Ķеݣ¶ ------------------------------------------------------------------------*/ #include int del(int str[], int n) @@ -325,23 +325,23 @@ int main() -### 第四次 +### Ĵ ```c /*--------------------------------------------------------------------- -程序设计 + --------------------------------------------------------------------- -王老师通过课题专利研发赚到了人生的第一个100 万,他存入银行账户用于理财, -每年可以 -获得4%的收益,在每年的最后一天,他会取出10 万来消费,剩下的继续理财。编 -写程序计算 -过多少年以后,账户上的钱会被取完(使用do....while)。 +ʦͨרз׬ĵһ100 ˻ƣ +ÿ +4%棬ÿһ죬ȡ10 ѣʣµļơ +д +Ժ˻ϵǮᱻȡ(ʹdo....while) --------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main 或其它函数中给出的内容,仅 -在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķmain иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ---------------------------------------------------------------------*/ #include #include @@ -352,7 +352,7 @@ int main() /**********Program**********/ /********** End **********/ - printf("%d 年后账户上的钱会被花完", year); + printf("%d ˻ϵǮᱻ", year); printf("\n"); return 0; } @@ -362,17 +362,17 @@ int main() ```c /*--------------------------------------------------------------------- -程序设计 + --------------------------------------------------------------------- -通过指针传递实现将一数组中的数据按相反顺序存放。 -例如:输入20 24 4 13 11 -输出:11 13 4 24 20 +ָͨ봫ʵֽһеݰ෴˳š +磺20 24 4 13 11 +11 13 4 24 20 --------------------------------------------------------------------- -注意:部分源程序给出如下。请勿改动主函数main 或其它函数中给出的内容,仅 -在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķmain иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ---------------------------------------------------------------------*/ #include void sort(int *, int); @@ -401,19 +401,19 @@ void sort(int *p, int n) -### 第五次 +### ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:编写函数实现输入一串字符串,删除字符串中的重复的字符,然后输出新的 -字符串(重复字符保留第一次出现的字符) -输入输出如下所示 -请输入一串字符串: mn,mn.,mzxcv,nkh021215468796468765465 -去除重复字符后的字符串为: mn,.zxcvkh021546879 +ĿдʵһַɾַеظַȻµ +ַظַһγֵַ +ʾ +һַ: mn,mn.,mzxcv,nkh021215468796468765465 +ȥظַַΪ: mn,.zxcvkh021546879 ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,请勿重新定义变量名。 +ע⣺Ķеݣ¶ ------------------------------------------------------------------------*/ #include #include @@ -421,11 +421,11 @@ void removeDuplicates(char *str); int main() { char str[100]; - printf("【请输入一个字符串: 】"); + printf("һַ: "); fgets(str, sizeof(str), stdin); str[strcspn(str, "\n")] = 0; removeDuplicates(str); - printf("【去除重复字符后的字符串为:】 %s\n", str); + printf("ȥظַַΪ: %s\n", str); return 0; } void removeDuplicates(char *str) @@ -449,11 +449,11 @@ void removeDuplicates(char *str) ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:编写函数实现用除二取余的方法,把任意一个十进制正数的二进制序列输出 -(不考虑溢出) -程序输入输出如下所示 +ĿдʵóȡķһʮĶ + +ʾ Enter a decimal number: 2 The binary representation is: 10 ------------------------------------------------------------------------- @@ -479,30 +479,30 @@ void decimalToBinary(int decimal) int main() { int number; - printf("【Enter a decimal number: 】"); + printf("Enter a decimal number: "); scanf("%d", &number); - printf("【The binary representation is: 】"); + printf("The binary representation is: "); decimalToBinary(number); } ``` -### 第六次 +### ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第 -二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩 -下的一半零一个。直到最后一天早上想再吃时,见只剩下一个桃子了。通过输入来 -控制吃桃的最后一天,编写函数求第一天共摘了多少桃子。 -输入输出如下所示: -【输入猴子还剩1 个桃子的最后一天: 】10 -猴子第一天摘了1534 个桃子 +Ŀӵһժɸӣһ룬񫣬ֶһ +ֽʣµӳԵһ룬ֶһԺÿ϶ǰһʣ +µһһֱһٳʱֻʣһˡͨ +Ƴҵһ죬дһ칲ժ˶ӡ +ʾ +ӻʣ1 ӵһ: 10 +ӵһժ1534 ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,请勿重新定义变量名。 +ע⣺Ķеݣ¶ ------------------------------------------------------------------------*/ #include int countPeaches(int lastDay) @@ -517,10 +517,10 @@ int main() { int lastDay; int totalPeaches; - printf("【输入猴子还剩1 个桃子的最后一天:】 "); + printf("ӻʣ1 ӵһ: "); scanf("%d", &lastDay); totalPeaches = countPeaches(lastDay); - printf("猴子第一天摘了%d 个桃子\n", totalPeaches); + printf("ӵһժ%d \n", totalPeaches); return 0; } ``` @@ -529,15 +529,15 @@ int main() ```c /*----------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------- -题目:一瓶汽水一元,两个空瓶子可以换一瓶汽水,输入购买汽水的金额,编写函 -数计算出一共可以喝多少瓶汽水 -输入输出如下所示: -【请输入购买汽水的金额(元):】 3 -总共可以喝 5 瓶汽水 +ĿһƿˮһԪƿӿԻһƿˮ빺ˮĽд +һԺȶƿˮ +ʾ +빺ˮĽԪ: 3 +ܹԺ 5 ƿˮ ------------------------------------------------------------------------- -注意:请勿改动程序中的其他内容,请勿重新定义变量名。 +ע⣺Ķеݣ¶ ------------------------------------------------------------------------*/ #include int totalBottles(int money) @@ -553,29 +553,29 @@ int main() { int money; int result; - printf("【请输入购买汽水的金额(元): 】"); + printf("빺ˮĽԪ: "); scanf("%d", &money); result = totalBottles(money); - printf("总共可以喝 %d 瓶汽水\n", result); + printf("ܹԺ %d ƿˮ\n", result); return 0; } ``` -### 第七次 +### ߴ ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -编写函数 fun, 函数 fun 的功能是:求出数组中最大数和次最大数,并把最大数 -和 a[0]中的数对调、次最大数和 a[1]中的数对调,输出对调后的结果。 -例如原数组为{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5},对调后的结果为9 6 4 1 5 3 2 1 5 3 5 +д fun fun Ĺǣʹ + a[0]еԵ a[1]еԵԵĽ +ԭΪ{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5}ԵĽΪ9 6 4 1 5 3 2 1 5 3 5 ------------------------------------------------------------------------ -注意:部分源程序给出如下。请勿改动主函数main 或其它函数中给出的内容,仅 -在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķmain иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ----------------------------------------------------------------------*/ #include void fun(int *a, int n) @@ -593,7 +593,7 @@ int main() int size = sizeof(arr) / sizeof(arr[0]); int i; fun(arr, size); - printf("【Modified array: 】"); + printf("Modified array: "); for (i = 0; i < size; i++) { printf("%d ", arr[i]); @@ -607,23 +607,23 @@ int main() ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -请编写C 代码,完成计算数组 A 与数组 B 的对称差集(即只属于 A 或者只属 -于 B 的元素)。提示:可以先将数组 A 和 B 变为递增排序,然后可以使用双指 -针法来高效地找到它们的对称差集。 -示例1 -【请输入数组 A 的大小: 】5 -【请输入数组 A 的 5 个元素: 】6 5 4 3 2 -【请输入数组 B 的大小: 】4 -【请输入数组 B 的 4 个元素: 】7 6 3 8 -【数组 A 与数组 B 的对称差集为: 】2 4 5 7 8 +дC 룬ɼ A B ĶԳƲֻ A ֻ + B ԪأʾȽ A B ΪȻʹ˫ָ +뷨ЧҵǵĶԳƲ +ʾ1 + A ĴС: 5 + A 5 Ԫ: 6 5 4 3 2 + B ĴС: 4 + B 4 Ԫ: 7 6 3 8 + A B ĶԳƲΪ: 2 4 5 7 8 ------------------------------------------------------------------------ -注意:部分源程序给出如下。请勿改动主函数main 或其它函数中给出的内容,仅 -在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķmain иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ----------------------------------------------------------------------*/ #include void bubbleSort(int arr[], int size) @@ -635,7 +635,7 @@ void bubbleSort(int arr[], int size) { if (arr[j] > arr[j + 1]) { - // 交换 arr[j] 和 arr[j + 1] + // arr[j] arr[j + 1] int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; @@ -654,25 +654,25 @@ int main() { int sizeA, sizeB; int i; - printf("【请输入数组 A 的大小: 】"); + printf(" A ĴС: "); scanf("%d", &sizeA); int A[100]; - printf("【请输入数组 A 的 %d 个元素: 】", sizeA); + printf(" A %d Ԫ: ", sizeA); for (i = 0; i < sizeA; i++) { scanf("%d", &A[i]); } - printf("【请输入数组 B 的大小: 】"); + printf(" B ĴС: "); scanf("%d", &sizeB); int B[100]; - printf("【请输入数组 B 的 %d 个元素: 】", sizeB); + printf(" B %d Ԫ: ", sizeB); for (i = 0; i < sizeB; i++) { scanf("%d", &B[i]); } - int C[200]; // 假设结果数组最大长度为 200,为 A 和 B 长度之和 + int C[200]; // 󳤶Ϊ 200Ϊ A B ֮ int diffSize = computeSymmetricDifference(A, sizeA, B, sizeB, C); - printf("【数组 A 与数组 B 的对称差集为: 】"); + printf(" A B ĶԳƲΪ: "); for (i = 0; i < diffSize; i++) { printf("%d ", C[i]); @@ -682,17 +682,17 @@ int main() } ``` -### 第八次 +### ڰ˴ ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -函数 fun 的功能是: 将 输入的字符串中的字母转换为按字母序列的后续字母(但 -Z 转换为 A, z 转换为 a),其它字符不变,最后输出转换后的字符串。 -示例1: -【请输入一个字符串: 】12345QAZWSXrfvtgb!!@!@@¥ -【转换后的字符串为: 】12345RBAXTYsgwuhc!!@!@@¥ + fun Ĺ: ַеĸתΪĸеĺĸ( +Z תΪ A, z תΪ a),ַ䣬תַ +ʾ1 +һַ: 12345QAZWSXrfvtgb@@@ +תַΪ: 12345RBAXTYsgwuhc@@@ ------------------------------------------------------------------------ ----------------------------------------------------------------------*/ #include @@ -707,11 +707,11 @@ void fun(char *str) int main() { char input[100]; - printf("【请输入一个字符串: 】"); + printf("һַ: "); fgets(input, sizeof(input), stdin); input[strcspn(input, "\n")] = '\0'; fun(input); - printf("【转换后的字符串为: 】%s\n", input); + printf("תַΪ: %s\n", input); return 0; } ``` @@ -720,13 +720,13 @@ int main() ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -要求编写一个程序来计算给定整数的平方根的整数部分,功能类似于 C 语言标准 -库中的 sqrt 函数,但仅返回整数部分结果。 -示例1: -【请输入一个非负整数: 】12 -【12 的平方根的整数部分是: 】3 +Ҫдһƽ֣ C Ա׼ +е sqrt ֽ +ʾ1 +һǸ: 12 +12 ƽ: 3 ------------------------------------------------------------------------ ----------------------------------------------------------------------*/ #include @@ -741,12 +741,12 @@ int main() int num; while (1) { - printf("【请输入一个非负整数: 】"); + printf("һǸ: "); if (scanf("%d", &num) != 1 || num < 0) { while (getchar() != '\n') ; - printf("输入无效,请输入一个非负整数。\n"); + printf("ЧһǸ\n"); } else { @@ -754,30 +754,30 @@ int main() } } int sqrtResult = mySqrt(num); - printf("【%d 的平方根的整数部分是: 】%d\n", num, sqrtResult); + printf("%d ƽ: %d\n", num, sqrtResult); return 0; } ``` -### 第九次 +### ھŴ ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -编写一个 C 语言函数,函数接收一个整数数组 arr 以及数组的长度 size 作为参 -数,使用 bool 类型返回该数组中是否存在重复的元素。在 main 函数中,输入多 -个正整数(输入非数字字符表示输入结束)并调用该函数,根据返回结果输出相应 -的提示信息。 -示例: -【请输入多个整数(输入非数字字符结束输入):】1 2 3 4 5 5 6 a -数组中存在重复元素。 +дһ C Ժһ arr Լij size Ϊ +ʹ bool ͷظǷظԪء main У +ַʾøúݷؽӦ +ʾϢ +ʾ +ַ룩1 2 3 4 5 5 6 a +дظԪء ------------------------------------------------------------------------ -注意:部分源程序给出如下。请勿改动主函数 main 或其它函数中给出的内容,仅 -在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķ main иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ----------------------------------------------------------------------*/ #include #include @@ -794,12 +794,12 @@ int main() int *arr = (int *)malloc(capacity * sizeof(int)); if (arr == NULL) { - printf("内存分配失败!\n"); + printf("ڴʧܣ\n"); return 1; } int size = 0; int num; - printf("【请输入多个整数(输入非数字字符结束输入):】"); + printf("ַ룩"); while (scanf("%d", &num) == 1) { if (size == capacity) @@ -808,7 +808,7 @@ int main() arr = (int *)realloc(arr, capacity * sizeof(int)); if (arr == NULL) { - printf("内存分配失败!\n"); + printf("ڴʧܣ\n"); return 1; } } @@ -817,11 +817,11 @@ int main() while (getchar() != '\n'); if (hasDuplicates(arr, size)) { - printf("数组中存在重复元素。\n"); + printf("дظԪء\n"); } else { - printf("数组中不存在重复元素。\n"); + printf("вظԪء\n"); } free(arr); return 0; @@ -832,70 +832,71 @@ int main() ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -现在有一位赛车手要驾驶一台电动摩托车去完成多段赛程。这台电动摩托车的电 -池电量存储 -上限是 100 度电哦,它有一个标称的平均电耗,也就是每行驶 100 公里,就会消 -耗 10 度 -电。这里有个很重要的前提条件要大家牢记呀,每一段赛程的距离都是小于 600 -公里的哦, -并且每次出发的时候,电动摩托车的电池都是充满电的状态呢。还有一个关键的规 -则得注意 -哦,如果电动摩托车到达某个地点之后,赛车手查看发现电池内剩余的电量低于电 -池总电量 -的 10%(也就是 100×10% = 10 度电或者更少啦),那这个时候就必须得在这个 -地方给电 -动摩托车充电了呢,请帮忙计算一下,这名驾驶员在赛程中的哪几段赛程前是需要 -充电的。 -示例1: -【请输入赛程段数:】 +һλҪʻһ̨綯Ħгȥɶ̡̨綯Ħгĵ +ص洢 + 100 ȵŶһƵƽģҲÿʻ 100 ͻ + 10 +硣иҪǰҪμѽÿһ̵ľ붼С 600 +Ŷ +ÿγʱ򣬵綯Ħгĵضdz״̬ءһؼĹ +ע +Ŷ綯Ħгijصֲ֮鿴ֵʣĵڵ +ܵ + 10%Ҳ 10010% = 10 ȵ߸ʱͱ +ط +Ħгأæһ£ʻԱеļǰҪ +ġ +ʾ1 +̶ 5 -【请输入各段赛程距离,单位公里:】 +̾룬λ 380 200 390 400 300 -【需要在以下几段赛程前充电:】 -第 3 段赛程前 -第 5 段赛程前 -示例2: -【请输入赛程段数:】 +Ҫ¼ǰ磺 + 3 ǰ + 5 ǰ +ʾ2 +̶ 4 -【请输入各段赛程距离,单位公里:】 +̾룬λ 190 140 110 80 -无需充电。 +硣 ------------------------------------------------------------------------ -注意:部分源程序给出如下。请勿改动主函数 main 或其它函数中给出的内容,仅 -在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķ main иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ----------------------------------------------------------------------*/ #include -#include // 引入stdlib.h 用于动态内存分配相关操作 -#define TANK_CAPACITY 100 // 电池总容量(单位:度) -#define LOW_FUEL_LIMIT (0.10 * TANK_CAPACITY) // 低电量阈值(10%) -#define AVG_CONSUMPTION_PER_100KM 10 // 平均电耗(单位:度/百公里) +#include // stdlib.h ڶ̬ڴز +#define TANK_CAPACITY 100 // λȣ +#define LOW_FUEL_LIMIT (0.10 * TANK_CAPACITY) // ͵ֵ10% +#define AVG_CONSUMPTION_PER_100KM 10 // ƽģλ/ٹ #define FUEL_CONSUMPTION_PER_KM (AVG_CONSUMPTION_PER_100KM / -100.0) // 每公里电耗(单位:度/公里) +100.0) // ÿģλ/ int checkRefuelStops(int trips[], int count, int results[]) { int refuel_count = 0; double current_fuel = TANK_CAPACITY; /**********Program**********/ + /********** End **********/ return refuel_count; } int main() { int num_trips; - printf("【请输入赛程段数:】\n"); + printf("̶\n"); scanf("%d", &num_trips); int *trips = (int *)malloc(num_trips * sizeof(int)); if (trips == NULL) { - printf("内存分配失败!\n"); + printf("ڴʧܣ\n"); return 1; } - printf("【请输入各段赛程距离,单位公里:】\n"); + printf("̾룬λ\n"); for (int i = 0; i < num_trips; ++i) { scanf("%d", &trips[i]); @@ -903,22 +904,22 @@ int main() int *results = (int *)malloc(num_trips * sizeof(int)); if (results == NULL) { - printf("内存分配失败!\n"); + printf("ڴʧܣ\n"); free(trips); return 1; } int refuel_count = checkRefuelStops(trips, num_trips, results); if (refuel_count > 0) { - printf("【需要在以下几段赛程前充电:】\n"); + printf("Ҫ¼ǰ磺\n"); for (int i = 0; i < refuel_count; i++) { - printf("第 %d 段赛程前\n", results[i]); + printf(" %d ǰ\n", results[i]); } } else { - printf("无需充电。\n"); + printf("硣\n"); } free(trips); free(results); @@ -926,26 +927,26 @@ int main() } ``` -### 第十次 +### ʮ ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -请编写函数 fun, 函数的功能是: 移动一维数组中的内容; 若数组中有 n 个整数, -要求把下标从 0 到 p(含 p,p 小于等于 n-1 )的数组元素平移到数组的最后,最后 -输出移动后的数组。 -示例: -【请输入数组元素的个数: 】10 -【请输入10 个整数:】1 2 3 4 5 6 7 8 9 10 -【请输入p 的值 (p <= 9):】 5 -【移动后的数组为: 】7 8 9 10 1 2 3 4 5 6 +д fun, Ĺ: ƶһάе; n , +Ҫ± 0 p( p,p Сڵ n-1 )ԪƽƵ +ƶ顣 +ʾ +Ԫصĸ: 10 +10 :1 2 3 4 5 6 7 8 9 10 +p ֵ (p <= 9): 5 +ƶΪ: 7 8 9 10 1 2 3 4 5 6 ------------------------------------------------------------------------ -注意:部分源程序给出如下。请勿改动主函数 main 或其它函数中给出的内容,仅 -在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķ main иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ----------------------------------------------------------------------*/ #include void fun(int *w, int p, int n) @@ -958,18 +959,18 @@ void fun(int *w, int p, int n) int main() { int n, p; - printf("【请输入数组元素的个数: 】"); + printf("Ԫصĸ: "); scanf("%d", &n); int a[n]; - printf("【请输入%d 个整数:】", n); + printf("%d :", n); for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } - printf("【请输入p 的值 (p <= %d): 】", n - 1); + printf("p ֵ (p <= %d): ", n - 1); scanf("%d", &p); fun(a, p, n); - printf("【移动后的数组为: 】"); + printf("ƶΪ: "); for (int i = 0; i < n; i++) { printf("%d ", a[i]); @@ -983,21 +984,21 @@ int main() ```c /*---------------------------------------------------------------------- -【程序设计】 +ơ ------------------------------------------------------------------------ -编写一个 C 语言程序,输入由中括号 [数字和小写字母]组成且无中括号嵌套的字 -符串。规则如下:[nx](n 为正整数,x 为小写字母)表示将 x 重复 n 次;[nxy] -(n 为正整数,x、y 为小写字母)表示将 xy 重复 n 次。实现 fun 函数对输入 -字符串解码并生成原始字符串。 -示例1: -【请输入符合规则的字符串:】[5wh] -【原始字符串:】whwhwhwhwh +дһ C Գ [ֺСдĸ]Ƕ׵ +£[nx]n Ϊx ΪСдĸʾ x ظ n Σ[nxy] +n Ϊxy ΪСдĸʾ xy ظ n Ρʵ fun +ַ벢ԭʼַ +ʾ1 +Ϲַ[5wh] +ԭʼַwhwhwhwhwh ------------------------------------------------------------------------ -注意:部分源程序给出如下。请勿改动主函数 `main` 或其它函数中给出的内容, -仅在 -Program-End 之间填入若干语句。 -不要删除标志否则不得分。 -不要修改或删除Program-End 之外的内容否则不得分。 +ע⣺Դ¡Ķ `main` иݣ + +Program-End ֮䡣 +Ҫɾ־򲻵÷֡ +Ҫ޸ĻɾProgram-End ֮ݷ򲻵÷֡ ----------------------------------------------------------------------*/ #include #include @@ -1008,7 +1009,7 @@ char *fun(char input[]) char *output = (char *)malloc(1000 * sizeof(char)); if (output == NULL) { - printf("内存分配失败!\n"); + printf("ڴʧܣ\n"); return NULL; } int outputIndex = 0; @@ -1020,12 +1021,12 @@ char *fun(char input[]) int main() { char input[1000]; - printf("【请输入符合规则的字符串:】\n"); + printf("Ϲַ\n"); scanf("%s", input); char *result = fun(input); if (result != NULL) { - printf("【原始字符串:】%s\n", result); + printf("ԭʼַ%s\n", result); free(result); } return 0;