void main() {int x=5; switch(2*x-3) {
2. #include〈stdio.h> void main() { }
3。 #include〈stdio.h> void main() { }
int i,s1=0,s2=0; for(i=0;i〈10;i++)
if(i%2)s1+=i; else s2+=i;
printf(\"%d %d\\n”,s1,s2); int i,s=0;
for(i=1;i<=6;i++)
s+=i*i; }
printf(”%s\\n”,”switch end。\"); }
case 4:printf(”%d ”,x); case 7:printf(\"%d ”,2*x+1); case 10:printf(\"%d ”,3*x—1);break; default:printf(\"%s ”,\"default\\n\");
printf(”s=%d\\n”,s);
1
4。 #include5。 #include void main() { }6. #includeint i,n;for(n=2;n<=20;n++){ }
printf(\"\\n\");
int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整 for(i=2;i<=temp;i++)
if(n%i==0)break; if(i>temp)printf(\"%d \);
int f,f1,f2,i; f1=f2=1;
printf(”%d %d ”,f1,f2); for(i=3;i<=10;i++){ }
printf(”\\n\");
f=f1+f2;
printf(”%d \",f); if(i%5==0)printf(”\\n”); f1=f2; f2=f; int n=10,y=1;
while(n——){y++;y++;} printf(\"y=%d\\n”,y);
2
}
7。 #include #include〈math.h> const int M=20; void main() {int i,c2,c3,c5; c2=c3=c5=0;
for(i=1;i<=M;i++){ if(i%2==0)c2++; if(i%3==0)c3++; if(i%5==0)c5++;
}
printf(”%d %d %d\\n”,c2,c3,c5);
}
8。 #include〈stdio。h〉 #includefor(i=1,s=0;i<15;i++){ if(i%2==0 || i%3==0)continue; printf(”%d ”,i); s+=i;}
printf(\"%d\\n\",s);
}
3
参:
1、答案:11 14 switch end. 2、答案:s=91. 3、答案:25 20. 4、答案:y=21. 5、答案:1 1 2 3 5
8 13 21 34 55
6、答案:2 3 5 7 11 13 17 19 7、答案:10 6 4 8、答案:1 5 7 11 13 37
第二次作业
一、根据下列每个题目要求编写程序
1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。
2.编写一个函数,函数头格式为“double Mean(double a[M][N] , int m , int n)”,要求返回二维数组a[m][n]中所有元素的平均值,假定在计算过程是采用变量v存放平均值。
4
3.编写一个递归函数“int FF(int a[] , int n)\",求出数组a中所有元素n个元素之积并返回。
4.编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+……+1/n>5的最小n值。
5.编写一个主函数,求满足不等式22+42+……+n2<1000的最大n值,假定分别用i和s为取偶数值和累加值的变量,并限定使用do循环编程.
5
6.编写一个主函数,计算并输出n!的值,其中n值由键盘输入.
参: 1、答案: #include〈stdio.h>
void fun4(char* a,int b[]){ }
/*void main() {
char * a=\"122333444499888\"; int b[10]={0}; fun4(a,b);
for(int i=0;i〈10;i++)
printf(\"%d \[i]); do{
if(*a〉='0' && *a<='9’)b[*a—48]++;
}while(*a++);
}*/
2、答案:
#include〈stdio.h>
6
const int M=2,N=3;
double Mean(double a[M][N], int m,int n ){ double v=0; for(int i=0;iv+=a[i][j];return v/(m*n);
}
/*void main() { double a[2][3]={1,2,3,4,5,6}; printf(”%lf\\n”,Mean(a,2,3));
}*/ 3、答案: #include int FF(int a[] , int n){ int mul=1;if(n==1)mul*=a[0]; else mul=a[n-1]*FF(a,n-1); return mul;
}
/*void main() { int a[6]={1,2,3,4,5,6}; printf(”%d\\n\(a,6));
}*/ 4、答案:
7
#include〈stdio.h> void main() { double sum=0; int n=1; while(true) { if(sum + 1/(double)n 〉 5)break; else
sum += 1/(double)n;
n++;
}
printf(\"%d, %lf\\n”,n,sum);
}
5、答案: #include void main() { int s=0,i=2; do { s+=i*i;if(s+(i+2)*(i+2)〉=1000)break;
else i+=2;
}while(true);
printf(\"i=%d,s=%d”,i,s);
}
6、答案: #include void main() {8
}
int s=0,n;
printf(\"请输入n的值:\"); scanf(”%d\); for(int i=1;i<=n;i++)
s=s*i;
printf(”n=%d,s=%d”,n,s);
第三次作业
一、写出下列每个程序运行后的输出结果 1. 程序代码: #include void SB(char ch) { }void main() { }
char a1 = 'b', a2 = ’C’, a3 = 'f'; SB(a1); SB(a2); SB(a3); SB(’A’); printf(\"\\n\"); switch(ch) { case 'A’: case ’a':
printf(”WW \"); break;
case 'B': case 'b':
printf(\"GG ”); break;
case 'C’: case 'c':
printf(”PP \"); break;
default: }
printf(”BB \"); break;
9
2. 程序代码: #include double SD(int a, int b, char op) { }void main() { }
3. 程序代码: #include 〈stdio.h〉 void WF(int x, int y) { }
void main() {
double x; switch(op) {
case '+': x = a + b; break; case '—’: x = a - b; break; case '*’: x = a * b; break;
case ’/’: if(b) x = (double)a/b; else exit(1); break; default: { printf(\"运算符错!\\n”); exit(1); } } return x;
int x = 20, y = 8;
printf(”%3.2lf ”, SD(x, y, ’—')); printf(”%3.2lf ”, SD(x, y, ’*’)); printf(\"%3.2lf\\n\(x + y, y, ’/’));
x = x + y; y = x + y;
printf(”subs: x, y = %d, %d\\n”, x, y);
int x = 18, y = 23;
printf(”main: x, y = %d, %d\\n”, x, y);
10
}
WF(x, y); x = 2 * x;
printf(”main: x, y = %d, %d\\n\, y);
4. 程序代码: #include void fun(char ss[]) { }5. 程序代码: #include 〈stdio。h>
void InsertSort(int a[], int n) {
char s[15] = ”5671234\"; fun(s);
printf(\"%s\\n”, s);
int i, n = strlen(ss); for(i = 0; i < n / 2; i ++) { }
char c = ss[i]; ss[i] = ss[n — 1 - i]; ss[n — 1 — i] = c;
int i, j, x;
for(i = 1; i 〈 n; i ++) { // 进行n-1次循环
x = a[i];
for(j = i — 1; j >= 0; j ——) // 为x顺序向前寻找合适的插入位置
11
}
}
if(x 〉 a[j]) a[j + 1] = a[j]; else break;
a[j + 1] = x;
void main() { }
6. 程序代码: #include void main() { }7. 程序代码: #include 〈stdio.h〉 int LA(int * a, int n) {
int i;
int a[6] = { 20, 15, 32, 47, 36, 28 }; InsertSort(a, 6);
for(i = 0; i < 6; i ++) printf(\"%d ”, a[i]); printf(”\\n”);
int a[8] = { 3, 5, 7, 9, 11, 13, 15, 17 }; int i, * p = a;
for(i = 0; i 〈 8; i ++) { }
printf(\"%5d”, * p ++); if((i + 1) % 4 == 0) printf(”\\n”);
int i, s = 0;
for(i = 0; i < n; i ++)
s += a[i];
return s;
12
}
void main() { }
8. 程序代码: #include void main() { }二、写出下列每个函数的功能 1. 程序代码:
int WB(int a[], int n, int x) { }
2. 程序代码:
13
int a[] = { 5, 10, 15, 20, 25, 30 }; int b = LA(a, 4); int c = LA(a + 2, 3);
printf(”%d %d\\n\", b, c);
int i, s = 1;
for(i = 0; i 〈 n; i ++) s *= * a ++; return s;
int a[] = { 1, 2, 3, 4, 2, 4, 5, 2 }; int b = LB(a, 4) + LB(&a[3], 4); printf(”b=%d\\n\", b);
int i;
for(i = 0; i 〈 n; i ++)
if(a[i] == x) return 1;
return 0;
int WC(int a[], int n, int k) { }
3. 程序代码: #include #include #include