计算机程序设计基础(c语言) 习题 编程题
char str[ARR_SIZE];
int len, i, letter = 0, digit = 0, space = 0, others = 0;
printf(\ string:\ gets(str);
len = strlen(str);
for (i=0; i { if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') letter ++; /*统计英文字符*/ else if (str[i] >= '0' && str[i] <= '9' ) digit ++; /*统计数字字符*/ else } 19.输入m,k的值,编程求下面表达式的值:(编写一个求阶乘的函数,调用函数实现本题) printf(\ %d\\n\ printf(\ %d\\n\printf(\ %d\\n\ others ++; /*统计其它字符的个数*/ } k!p?(m?k)! #include long Factorial(int number); main() { int m, k; double p; printf(\ scanf(\ printf(\} 9 p = (double)Factorial(k) / Factorial (m-k); 计算机程序设计基础(c语言) 习题 编程题 long Factorial(int number) { } 20. 编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出 是否为素数。 #include int IsPrimeNumber(int number) { int i; if (number <= 1) { return 0; if ((number % i) == 0) return 0; } for (i=2; i for (i=2; i<=number; i++) return result; return 1;} main() { int n; printf(“Please input n:”); scanf(“%d”,&n); if(IsPrimeNumber(n)) printf(“\\n%d is a Prime Number”,n); else printf(“\\n%d is not a Prime Number”,n);} 21. 求一个3×3矩阵的主对角线元素之和 main( ) { int a[3][3]; int sum=0; int i,j; printf(“Enter data:\\n”); for(i=0;i<3;i++) for(j=0,j<3;j++) scanf(“%d”,&a[i][j]); 10 计算机程序设计基础(c语言) 习题 编程题 for(i=0;i<3;i++) for(j=0;j<3;j++) if (i==j) sum +=a[i][j]; printf(“sum=]\\n”,sum); } 22.从键盘上输入一个2*3的矩阵,将其转置后形成3*2的矩阵输出。 main() {int a[2][3], b[3][2],i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) scanf(“%d”,&a[i][j]); for(i=0;i<3;i++) for(j=0;j<2;j++) b[i][j]=a[j][i]; for(i=0;i<3;i++) {for(j=0;j<2;j++) printf(\ printf(\n”); } } 23. 定义一个5行3列的数组,从键盘输入各数组元素的值,计算各数组元素之和。 #include main( ) { int i, j ,a[5][3]; printf(“Enter data:\\n”); for(i=0;i<5;i++) for(j=0;j<3;j++) scanf(“%d”,&a[i][j]); for(i=0;i<5;i++) for(j=0;j<3;j++) sum=sum+a[i][j]; printf(“sum=]\\n”,sum); 11 计算机程序设计基础(c语言) 习题 编程题 } 24.个人所得税计算,应纳税款的计算公式如下: 收入 收入<=1000元部分 2000元>=收入>1000元的部分 3000元>=收入>2000元的部分 6000元>=收入>3000元的部分 收入>6000元的部分 输入某人的收入,计算出应纳税额及实际得到的报酬。 #include “stdio.h” main() { int grade; float income,tax,money; printf(“please input your income\\n”); scanf (“%f”,&income); if (income<0) printf(“the input is error”); else { grade=(int)income/1000; switch(grade) { case 0 : tax=0;break; case 1 : tax=(income-1000)*0.05;break; case 2 : tax=50+(income-2000)*0.1;break; case 3 : case 4 : case 5 : tax=150+(income-3000)*0.15;break; default: tax=600+(income-6000)*0.2; } money=income-tax; printf(“\\n tax=%f, money=%f”,tax, money); } } 12 税率 0% 5% 10% 15% 20% 计算机程序设计基础(c语言) 习题 编程题 25.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。 #include int data; char grade; printf(\scanf(\ switch(data/10) { case 10: } case 8: grade=’B’; case 7: grade=’C’; default: grade=’E’; break; break; case 9 : grade=’A’; break; case 6: grade=’D’; break; printf(\s %c”,grade); 13