C语言改错题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言改错题库
目录
C语言改错题库 (1)
从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。 (3)
2.求一维数组a中的值为偶数的元素之和。 (3)
3.求二维数组a中的最大值。 (4)
5.猴子第一天摘下若干桃子 (5)
6. 将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 (5)
7.求出a所指数组中最大数(规定最大数不在a[0]中),最大值和a[0]中的数对调。 (6)
8.输出200~300之间的所有素数,要求每行输出8个素数。 (6)
9.打印九九乘法表 (6)
10.输出100~200之间既不能被3整除也不能被7整除的整数并统计这些整数的个数,要求每行输出8个数。 (7)
10.输出100~200之间既不能被3整除也不能被7整除的整数并统计这些整数的个数,要求每行输出8个数。 (7)
11.打印输出以下图形 (8)
12.求:1!+2!+3!+ ...... + 20! (8)
13.输入一个百分制成绩,打印出五级记分成绩。 (8)
14.求一维数组a中值为奇数的元素的平均值。 (9)
15.将[m,n]之间的所有素数存放到一维数组a中,并输出。 (9)
16.求一维数组a中所有元素的平均值。 (10)
17.将[2,100]之间的所有素数存放到一维数组a中,并输出这些素数。 (10)
18.求一维数组a中所有元素的平均值,结果保留两位小数。 (11)
19. 当M为5时,如果从键盘上输入的5个数 (11)
20. 在第一个循环中给a数组的前10个数组元素 (12)
21. 把数组a(大小为M)中前M-1个元素中的最大值放入a的最后一个元素中。 (12)
22.求排列组合的值 (12)
23. 计算正整数num的各位上的数字之和。 (13)
24.从键盘上输入一个正整数n,计算并输出n的阶乘。 (13)
25.从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数. 例如:从键盘上输入2345, (14)
26. 求一维数组a中素数的个数。 (14)
27.输出Fabonacci数列:1,1,2,3,5,8,......的前20项的值,要求每行输出5个数。 .. (15)
28.求一维数组a中非素数之和。 (15)
29.求两个正整数m,n之间的非素数之和(包含m和n)。 (16)
30.将无符号八进制数字构成的字符串转换为十进制整数。 (16)
31.计算1到M(M为100)之间的奇数之和及偶数之和。 (16)
32.实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。 (17)
33.查找n在数组a中最后一次出现的位置。 (17)
34.求两个正整数x,y的最小公倍数。 (18)
35.求两个正整数x,y的最大公约数和最小公倍数。 (18)
从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。
例如,当s中的数为:7654321时,t 中
的数为:7531。
#include
void main( )
{ long s, t, sl=10;
printf("\nPlease enter s:");
scanf("%ld", &s);
/************found************/
t = s % 10;
while ( s > 0)
{ s = s/100;
t = s%10 * sl + t;
/************found************/
sl = sl*10;
}
printf("The result is: %ld\n", t);
}
2.求一维数组a中的值为偶数的元素之和。
例如,当一维数组a中的元素为:10,4,2,7,3,12,5,34,5,9 ,程序
的输出应为:The result is: 62
#include
#include
void main()
{ int a[10]={10,4,2,7,3,12,5,34,5,9},i,s;
s = 0;
for ( i=0; i<10; i++)
/************found************/
if (a[i] % 2 == 0)
s = s + a[i];
/************found************/
printf("The result is: %d\n", s);
}
若用函数调用来求呢?
#include
int sum ( int arr[ ],int n )
{ int i,s;
s = 0;
for ( i=0; i if (arr[i] % 2 == 0) /************found************/ s = s + arr[i]; return (s); } void main() { int a[10]={10,4,2,7,3,12,5,34,5,9},i,s; /************found************/ s = sum( a ,10 ); printf("The result is: %d\n", s); } 3.求二维数组a中的最大值。 例如,当二维数组a中的元素为: 4 4 34 7 3 12 5 6 5 程序的输出应为:The max is: 34 。#include int arrmax( int arr[3][3]) { int i,j,max; max=arr[0][0]; /************found************/ for ( i=0; i<3; i++) for ( j=0; j<3; j++) if (max < arr[i][j]) max = arr[i][j]; return (max); } void main() { int a[3][3]={4,4,34,7,3,12,5,6,5},i,j; /************found************/ printf("The max is: %d\n",arrmax(a)); } 若用函数调用呢? #include int max; maxarr(int arr[ ]) { int pos,i; /************found************/ max =arr[ 0]; pos = 0; for ( i=1; i<10; i++) if (max < arr[i]) { max = arr[i]; pos = i; } /************found************/ return (pos); } void main() { int a[10]={34,4,2,7,3,12,5,8,5,9};