0){r=n%10;n=n/10;sum=sum+r*r*r;}printf("各位数字立方和是%d",sum);}*//*//3-29#include" />
//专升本C语言复习题3参考答案,本答案在vc6中测试通过。/*//3-30
#include
void main()
{
int sum=0,n,r,m;
scanf("%d", &n);
if(n<=0)
{
printf("输入错误!\n");
return;
}
while(n>0)
{
r = n % 10;
n = n / 10;
sum = sum + r*r*r;
}
printf("各位数字立方和是%d", sum);
}
*/
/*//3-29
#include
int search(char a[], char ch1, char ch2)
{
int i;
for(i=0; a[i]!='\0'; i++)
{
if(a[i]==ch1 && a[i+1] == ch2)
return i;
}
return -1;
}
void main()
{
char a[1024];
int position;
gets(a);
position = search(a, 'o', 'f');
if(position == -1)
printf("没找到\n");
else
printf("要查找的字符,在原字符串的第%d位", position+1); }
*/
/*//3-28
#include
//求平均分的函数;
float average(int a[], int number)
{
float sum = 0;
int i;
for(i=0; i sum = sum + a[i]; return sum/number; } //求最大数的函数; int max(int a[], int number) { int max = a[0]; int i; for(i=1; i if(a[i] > max) max = a[i]; return max; } //求最小数的函数; int min(int a[], int number) { int min = a[0]; int i; for(i=1; i if(a[i] < min) min = a[i]; return min; } //求及格率; float rate(int a[], int number) { int counter=0, i; for(i=1; i if(a[i] >= 60) counter++; return counter/(float)number; } void main() { int a[10]; int i; for(i=0; i<10; i++) scanf("%d", &a[i]); printf("平均数是%f\n", average(a, 10)); printf("最高分是%d\n", max(a, 10)); printf("最低分是%d\n", min(a, 10)); printf("及格率是%f%%\n", rate(a, 10)*100); } */ /*//3-27 #include void main() { int i,j,k; for(i=1; i<=6; i++) { for(j=5; j>=i; j--) printf(" "); for(k=1; k<=i; k++) printf("%d", k); for(k=i-1; k>=1; k--) printf("%d", k); printf("\n"); } } */ /*//3-26 #include void main() { //先打上三角; int i,j,k; for(i=1; i<=4; i++) { for(j=3; j>=i; j--) printf(" "); for(k=1; k<=i; k++) printf("* "); printf("\n"); } //打印下三角; for(i=1; i<=3; i++) { for(j=1; j<=i; j++) printf(" "); for(k=3; k>=i; k--) printf("* "); printf("\n"); } } */ /*//3-25 #include void main() { int i,j; //打印五行; for(i=0; i<5; i++) { //每行打印i个空格; for(j=0; j<=i; j++) { printf(" "); } //再打印五个*号,并换行; printf("*****\n"); } } */ /*//3-24 #include void main() { int a[10][10]; int i,j; for(i=0; i<10; i++) for(j=0; j<=i; j++) { if(j==0 || j==i) a[i][j] = 1; else a[i][j] = a[i-1][j-1] + a[i-1][j]; } for(i=0; i<10; i++) { for(j=0; j<=i; j++) printf("%d\t", a[i][j]); printf("\n"); } } */ /*//3-23 #include int a(int n) { if(n==0 || n==1) return 1; else return a(n-1)*n; } void main() { int n; scanf("%d",&n); printf("%d的阶乘是%d", n, a(n)); } */ /*//3-22 #include void main() { char a[1024]; int number = 0, i; printf("请输入一行字符:\n"); gets(a); for(i=0; a[i]!='\0'; i++) { if((a[i]>='A' && a[i]<='Z' || a[i]>='a' && a[i]<='z' || a[i]>=33 && a[i]<=47) && a[i+1] == ' ' || a[i+1] == '\0') number = number + 1; } printf("共有%d单词", number); } */ /*//3-21 #include void main() { float a[3][4], b[4][3]; int i,j, x, y; float max; printf("请输入二维数组的值:\n"); for(i=0; i<3; i++) for(j=0; j<4; j++) scanf("%f", &a[i][j]); max = a[0][0]; for(i=0; i<3; i++) for(j=0; j<4; j++) if(a[i][j] > max) { max = a[i][j]; x = i; y = j; } printf("最大的数是%f,行号是%d,列号是%d", max, x, y); } */ /*//3-20; #include void main() { float a[3][4], b[4][3]; int i,j; printf("请输入二维数组的值:\n"); for(i=0; i<3; i++) for(j=0; j<4; j++) scanf("%f", &a[i][j]); for(i=0; i<4; i++) for(j=0; j<3; j++) b[i][j] = a[j][i]; printf("转置后的数组是:\n"); for(i=0; i<4; i++) { for(j=0; j<3; j++) printf("%f\t", b[i][j]); printf("\n"); } } */ /*//3-19; #include void main() { int year; printf("请输入一个整数,代表某年:\n"); scanf("%d", &year); if((year%4 == 0 && year%100 != 0) || year%400 == 0) printf("%d是润年", year); else printf("%d年不是润年", year); } */ /*//3-18; //用选择法排序; #include void main() { float a[10]; int i,j,temp; printf("请输入10个数!\n"); for(i=0; i<10; i++) scanf("%f", &a[i]); for(i=0; i<9; i++) for(j=i+1; j<10; j++) if(a[i] > a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp; ; } printf("\n排序后的数是:\n"); for(i=0; i<10; i++) printf("%f\t", a[i]); } */ /*//3-17; //用起泡法排序; #include void main() { float a[10]; int i,j,temp; printf("请输入10个数!\n"); for(i=0; i<10; i++) scanf("%f", &a[i]); for(i=0; i<9; i++) for(j=0; j<9-i; j++) if(a[j] > a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } printf("\n排序后的数是:\n"); for(i=0; i<10; i++) printf("%f\t", a[i]); } */ /*//3-16; #include int fabona(int n) { if(n==1 || n==2) return 1; else return fabona(n-1) + fabona(n-2); } void main() { int i, r, n=40; for(i=1; i<=40; i++) { r = fabona(i); printf("%d\t", r); } } */ /*// 3-15还有点问题; #include void main() { float min=-10, max=10; float x = (max + min)/2; float r = 2*x*x*x - 4*x*x + 3*x -6; float fmin; while(r>= 0.000001 || r<=-0.000001) { fmin = 2*min*min*min+4*min*min + 3*min - 6; if(r * min < 0) max = x; else min = x; x = (max + min)/2; r = 2*x*x*x - 4*x*x + 3*x -6; } printf("方程的根是%f", x); } */ /*// 3-14 #include void main() { float a[3][3]; float s=0; int i,j; for(i=0; i<3; i++) for(j=0; j<3; j++) scanf("%f", &a[i][j]); for(i=0; i<3; i++) s = s + a[i][i]; printf("对角线元素之和为%f", s); } */ /*//3-13 #include void main() { float a[2][3]; int i,j; for(i=0; i<2; i++) for(j=0; j<3; j++) scanf("%f", &a[i][j]); for(i=0; i<2; i++) { for(j=0; j<3; j++) printf("%f\t", a[i][j]); printf("\n"); } } */ /*// 3-12 #include void main() { int i,j; for(i=100; i<=200; i++) { for(j=2; j if(i%j == 0) //如果能被某数整除,则不是素数。 break; if(i == j) //如果不是素数,必定中途退出循环,j的值会小于i。 printf("%d是素数!\n", i); } } */ /*//3-11 #include //根据a和n,生成n个a构成的数; int bb(int a, int n) { int s=a, i;