code upload (unchanged)

This commit is contained in:
miam1gh0st 2023-12-15 22:38:26 +08:00
parent f66dfc70b0
commit c1d0dee3a4
56 changed files with 1663 additions and 1071 deletions

View file

@ -1,36 +0,0 @@
/*7-1 找出一批学生的最高分
10
:
:
:
67 88 73 54 0 95 60 -1
:
95*/
#include<stdio.h>
int main()
{
int num,maxnum;
scanf("%d",&num);
maxnum=num;
for(;num>=0;){
scanf("%d",&num);
if(num>maxnum){
maxnum=num;
}
}
printf("%d",maxnum);
return 0;
}

View file

@ -1,40 +0,0 @@
/*
7-10 ???????
?? 10
?? ???
?? ????
??????????M?N???????????????
????:
?????????????M?N(1=M=N=500)?
????:
????????M?N??????????????,?????????
????:
10 31
????:
7 143
*/
#include<stdio.h>
int main(){
int m,n,i,j,cnt=0,sum=0,flag=1;
scanf("%d %d",&m,&n);
if(m==1) m=2;
for(i=m;i<=n;i++){
flag=1;
for(j=2;j<i-1;j++){
if(i%j==0){
flag=0;
break;
}
}
if(flag){
cnt++;
sum+=i;
}
}
printf("%d %d\n",cnt,sum);
return 0;
}

View file

@ -1,37 +0,0 @@
/*
7-3 ???????????????
?? 10
?? C???
?? ????
????????,??????? 1 - 1/4 + 1/7 - 1/10 + ... ?????????????????eps?
????:
?????????????eps?
????:
??????sum = S??????????S,???????????????????????????
????1:
4E-2
????1:
sum = 0.854457
????2:
0.02
????2:
sum = 0.826310
*/
#include<stdio.h>
int main(){
int flag=1;
double eps,a=1,sum=0;
scanf("%lf",&eps);
for(int i=1;;){
sum+=1.0/a*flag;
if(1.0/a<=eps)
break;
a+=3;
flag=-flag;
}
printf("sum = %.6lf",sum);
return 0;
}

View file

@ -1,30 +0,0 @@
/*
7-4
10
C课程组
N
10^9N
N的位数及其各位数字之和
321
3 6
*/
#include<stdio.h>
int main(){
int N,cnt=0,sum=0;
scanf("%d",&N);
for(;N!=0;){
sum+=N%10;
N=N/10;
cnt++;
}
printf("%d %d",cnt,sum);
return 0;
}

View file

@ -1,41 +0,0 @@
/*
7-5 ??????
?? 10
?? ??
?? ????
?????????/????????????,??????????,????????????????????????????????????6/12??????1/2?????????,??????????????,?11/8??11/8;?????????,?????1/1??????
????:
????????????,??????????/??,?:12/34??34??12???????????(???0,?????????????)?
??:
??C??,?scanf?????????/,?scanf????????
??Python??,?a,b=map(int, input().split('/'))?????????????
????:
?????????????????,????????,?????/???????????
5/6??6??5?
????:
66/120
????:
11/20
*/
#include<stdio.h>
int main(){
int zi,mu,r,zi_save,mu_save;
scanf("%d/%d",&zi,&mu);
zi_save=zi;
mu_save=mu;
if(zi==mu) printf("1/1");
else{
r=zi%mu;
for(;r!=0;r=zi%mu){
zi=mu;
mu=r;
}
printf("%d/%d",zi_save/mu,mu_save/mu);
}
return 0;
}

View file

@ -1,31 +0,0 @@
/*
7-7 ?e????
?? 10
?? C???
?? ????
???? e ????? 1+1/1!+1/2!+?+1/n!+? ?????????????????? n,?????? n+1 ???
????:
???????????? n(=1000)?
????:
???????????,?????????
????:
10
????:
2.71828180
*/
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
double sum=1.0,tag=1.0;
for(int i=1;i<=n;i++){
tag=tag*1.0/i;
sum+=tag;
}
printf("%.8lf",sum);
return 0;
}

View file

@ -1,36 +0,0 @@
/*
7-8 ?????????
?? 10
?? ??
?? ??????
????????,??n??????A?????????????
????:
?????????????n(1=n<7)?
????:
??n??????A????????????????????,???????????????
????:
4
????:
A B C D
E F G
H I
J
*/
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
char c='A';
for(int i=n;i>0;i--){
for(int j=i;j>0;j--){
printf("%c ",c);
c++;
}
printf("\n");
}
return 0;
}

View file

@ -1,59 +0,0 @@
/*
7-9
10
6=1+2+31236m和n之间的所有完数
2m和n1<mn10000
= 1 + 2 + ... + kNone
2 30
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
*/
#include<stdio.h>
int main()
{
int n, m, i, j, k, sum = 0;
int N = 1; //用于判断m-n之间是否有完数
int flag = 0; //判断是否是完数
scanf("%d %d", &m, &n);
for (i = m;i <= n;i++) //m到n之间找完数
{
flag = 0;
sum = 0;
for (j = 1;j <= i / 2;j++) //循环次数不会超过一半
{
if (i % j == 0)
sum += j;
}
if (sum == i) //是完数
flag = 1;
if (flag) //进行输出
{
N = 0;
printf("%d = 1 ", i); //完数和第一项因子
for (k = 2;k <= i / 2;k++) //第一项因子已经拿出来k这里取2开始
{
if (i % k == 0)
{
printf("+ %d ", k);
}
}
printf("\n");
}
}
if (N) //m-n之间没有完数
{
printf("None\n");
}
return 0;
}

View file

@ -0,0 +1,38 @@
/* 7-1 找出一批学生的最高分
10
:
:
:
67 88 73 54 0 95 60 -1
:
95 */
#include <stdio.h>
int main()
{
int num, maxnum;
scanf("%d", &num);
maxnum = num;
for (; num >= 0;)
{
scanf("%d", &num);
if (num > maxnum)
{
maxnum = num;
}
}
printf("%d", maxnum);
return 0;
}

View file

@ -0,0 +1,58 @@
/* 7-9 找完数
10
6=1+2+31236m和n之间的所有完数
2m和n1<mn10000
= 1 + 2 + ... + kNone
2 30
6 = 1 + 2 + 3
28 = 1 + 2 + 4 + 7 + 14
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int m, n, i, j, k, N = 1, flag = 0, sum = 0;
scanf("%d %d", &m, &n);
for (i = m; i <= n; i++)
{
flag = 0;
sum = 0;
for (j = 1; j <= i / 2; j++)
{
if (i % j == 0)
sum += j;
}
if (sum == i)
flag = 1;
if (flag)
{
N = 0;
printf("%d = 1", i);
for (k = 2; k <= i / 2; k++)
{
if (i % k == 0)
{
printf(" + %d", k);
}
}
printf("\n");
}
}
if (N)
printf("None\n");
return 0;
}

View file

@ -0,0 +1,37 @@
/* 7-7 求e的近似值
10
C课程组
e 1+1/1!+1/2!++1/n!+ n n+1
:
n1000
:
:
10
:
2.71828180
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
double sum = 1.0, tag = 1.0;
for (int i = 1; i <= n; i++)
{
tag = tag * 1.0 / i;
sum += tag;
}
printf("%.8lf", sum);
return 0;
}

View file

@ -0,0 +1,39 @@
/* 7-4 求整数的位数及各位数字之和
10
C课程组
N
10
9
N
N的位数及其各位数字之和
321
3 6
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int N, cnt = 0, sum = 0;
scanf("%d", &N);
for (; N != 0;)
{
sum += N % 10;
N = N / 10;
cnt++;
}
printf("%d %d", cnt, sum);
return 0;
}

View file

@ -0,0 +1,41 @@
/* 7-6 求满足条件的斐波那契数
10
11235813213
:
n(n>=10)
:
n的最小斐波那契数
:
10
:
13
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int a = 1, b = 1, c, n;
scanf("%d", &n);
for (int i = 1; c <= n; i++)
{
c = a + b;
a = b;
b = c;
}
printf("%d", c);
return 0;
}

View file

@ -1,33 +1,35 @@
/* /*
7-2 N项和 7-2 N项和
10 10
C课程组 C课程组
, 1 - 1/4 + 1/7 - 1/10 + ... N项之和 , 1 - 1/4 + 1/7 - 1/10 + ... N项之和
: :
N N
: :
sum = SS sum = SS
: :
10 10
: :
sum = 0.819 sum = 0.819
*/ */
#include<stdio.h> #include <stdio.h>
int main(){ int main()
{
int N; int N;
scanf("%d",&N); scanf("%d", &N);
int flag=1; int flag = 1;
int a=1; int a = 1;
double sum=0; double sum = 0;
for(int i=1;i<=N;i++,a+=3){ for (int i = 1; i <= N; i++, a += 3)
sum+=1.0/a*flag; {
flag=-flag; sum += 1.0 / a * flag;
flag = -flag;
} }
printf("sum = %.3lf",sum); printf("sum = %.3lf", sum);
return 0; return 0;
} }

View file

@ -0,0 +1,46 @@
/* 7-3 求给定精度的简单交错序列部分和
10
C课程组
1 - 1/4 + 1/7 - 1/10 + ... eps
:
eps
:
sum = SS
1:
4E-2
1:
sum = 0.854457
2:
0.02
2:
sum = 0.826310
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
double eps;
scanf("%lf", &eps);
double sum = 0;
double a = 1;
int t = 1;
for (int i = 1;;)
{
sum += 1.0 / a * t;
if (1.0 / a <= eps)
break;
a += 3;
t = -t;
}
printf("sum = %.6lf", sum);
return 0;
}

View file

@ -0,0 +1,49 @@
/* 7-5 约分最简分式
10
/6/121/211/811/81/1
/12/3434120
C语言scanf的格式字符串中加入/scanf来处理这个斜杠
Python语言a,b=map(int, input().split('/'))
/
5/665
66/120
11/20
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int a, b, c, d, r;
scanf("%d/%d", &a, &b);
c = a;
d = b;
if (a == b)
printf("1/1");
else
{
r = a % b;
for (; r != 0; r = a % b)
{
a = b;
b = r;
}
printf("%d/%d", c / b, d / b);
}
return 0;
}

View file

@ -0,0 +1,50 @@
/* 7-10 统计素数并求和
10
M和N区间内素数的个数并对它们求和
:
M和N1MN500
:
M和N区间内素数的个数以及它们的和
:
10 31
:
7 143
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int m, n, i, j, cnt = 0, sum = 0, flag = 1;
scanf("%d %d", &m, &n);
if (m == 1)
m = 2;
for (i = m; i <= n; i++)
{
flag = 1;
for (j = 2; j < i - 1; j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag)
{
cnt++;
sum += i;
}
}
printf("%d %d\n", cnt, sum);
return 0;
}

View file

@ -0,0 +1,43 @@
/* 7-8 输出三角形字符阵列
10
n行由大写字母A开始构成的三角形字符阵列
n1n<7
n行由大写字母A开始构成的三角形字符阵列
4
A B C D
E F G
H I
J
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
char c = 'A';
for (int i = n; i > 0; i--)
{
for (int j = i; j > 0; j--)
{
printf("%c ", c);
c++;
}
printf("\n");
}
return 0;
}

View file

@ -1,69 +0,0 @@
/*
6-1 ?????????????
?? 10
?? ??
?? ??????
??????????????????????
??????:
int FindArrayMax( int a[], int n );
??a????????,n???a?????????????a??????
????????:
#include <stdio.h>
#define MAXN 10
int FindArrayMax( int a[], int n );
int main()
{
int i, n;
int a[MAXN];
scanf("%d", &n);
for( i=0; i<n; i++ ){
scanf("%d", &a[i]);
}
printf("%d\n", FindArrayMax(a, n));
return 0;
}
????????
????:
4
20 78 99 -14
????:
99
*/
#include <stdio.h>
#define MAXN 10
int FindArrayMax( int a[], int n );
int main()
{
int i, n;
int a[MAXN];
scanf("%d", &n);
for( i=0; i<n; i++ ){
scanf("%d", &a[i]);
}
printf("%d\n", FindArrayMax(a, n));
return 0;
}
int FindArrayMax( int a[], int n ){
int maxnum=a[0];
for(int j=0;j<n;j++){
if(a[j]>maxnum) maxnum=a[j];
}
return maxnum;
}

View file

@ -1,60 +0,0 @@
/*
7-1 ???????k?
?? 10
?? ??
?? ??????
???????????,????n???????????,???k?(k?0??)???????
???????????:
?0?:?????n??(a[0]? a[n-1])??????,??? a[0]??;
?1?:???????n-1??(a[1] ? a[n-1])??????,??? a[1] ??;
?k?:???????n-k??(a[k]?a[n-1])??????,??? a[k] ??;
?n-2?:???????2??(a[n-2] ?a[n-1])??????,??? a[n-2]???
????:
????????????10????n??????n-1????k??????n???,????????
????:
????????????k?(k?0??)?????,??k??a[0]? a[n-1]??,??????????,??????????
????:
4 1
5 1 7 2
????:
1 2 7 5
*/
#include<stdio.h>
int main()
{
int i,j,n,k;
scanf("%d %d",&n,&k);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
if(n==1) printf("%d",a[0]);
for(i=0;i<n-1;i++){
int c=i;
for(j=i+1;j<n;j++){
if(a[c]>a[j]) c=j;
}
int t=a[i];
a[i]=a[c];
a[c]=t;
if(i==k){
printf("%d",a[0]);
for(j=1;j<n;j++)
printf(" %d",a[j]);
}
}
return 0;
}

View file

@ -1,64 +0,0 @@
/*
7-2 ?????????
?? 10
?? ???
?? ????
????? N ???????????? N ?? A[ ] ?????? Avg,?????????:
[(A
1
?
-Avg)
2
+(A
2
?
-Avg)
2
+?+(A
N
?
-Avg)
2
]/N
?
?
????:
??????????????? N(=10
4
),?????? N ????????????? 1000,??????????
????:
???N??????,????????????5??
???? 1:
10
6 3 7 1 4 8 2 9 11 5
???? 1:
3.03974
???? 2:
1
2
???? 2:
0.00000
*/
#include<stdio.h>
#include<math.h>
int main(){
int N,i,num,sum=0;
double final,avg,sum2=0;
scanf("%d",&N);
int a[N];
for(i=0;i<N;i++){
scanf("%d",&a[i]);
sum+=a[i];
}
avg=1.0*sum/N;
for(i=0;i<N;i++){
sum2+=pow(a[i]-avg,2);
}
final=sqrt(sum2/N);
printf("%.5lf",final);
return 0;
}

View file

@ -1,43 +0,0 @@
/*
7-3 ??????????
?? 10
?? ???
?? ???????
????????????????
????:
?????n( n<=1000,???????),??????? n???,?????????
????:
????????????
????:
????????????:
4
4 2 2 4
????:
?????????????:
4 2
*/
#include<stdio.h>
int main(){
int n,i;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
int max=a[0];
for(i=0;i<n;i++){
if(a[i]>max) max=a[i];
}
int cnt=0;
for(i=0;i<n;i++){
if(max==a[i]) cnt++;
}
printf("%d %d\n",max,cnt);
return 0;
}

View file

@ -1,57 +0,0 @@
/*
7-4 ?????????
?? 10
?? C???
?? ????
????????,??????????????????????,??????????????,???????????
??:????????????????
????:
??????????????N(=10),?????N???,?????????
????:
??????????????,???????????
????:
5
8 2 5 1 4
????:
1 2 5 4 8
*/
#include<stdio.h>
int main(){
int N,i;
scanf("%d",&N);
int a[N];
for(i=0;i<N;i++){
scanf("%d",&a[i]);
}
int max=a[0],max_i=0;
for(i=0;i<N;i++){
if(max<a[i]){
max=a[i];
max_i=i;
};
}
int t=a[N-1];
a[N-1]=max;
a[max_i]=t;
int min=a[0],min_i=0;
for(i=0;i<N;i++){
if(min>a[i]){
min=a[i];
min_i=i;
};
}
t=a[0];
a[0]=min;
a[min_i]=t;
for(i=0;i<N;i++){
printf("%d ",a[i]);
}
return 0;
}

View file

@ -1,46 +0,0 @@
/*
7-5 ???????????????
?? 10
?? ???
?? ????
??????,????????????,?????????????????3???1234?2345?3456,????????????3?4,????3??
????:
????1???????N(=1000),???????N?????????????,?????????
????:
???????M: n1 n2 ...??,??M?????,n1?n2?????????????,???????????????????,???????????
????:
3
1234 2345 3456
????:
3: 3 4
*/
#include<stdio.h>
int main(){
int N,i;
scanf("%d",&N);
int a[N],b[10],c;
for(i=0;i<10;i++)
b[i]=0;
for(i=0;i<N;i++){
scanf("%d",&a[i]);
if(a[i]==0) b[0]++;
for(;a[i]!=0;a[i]/=10){
c=a[i]%10;
b[c]++;
}
}
int max=b[0];
for(i=1;i<10;i++){
if(max<b[i]) max=b[i];
}
printf("%d:",max);
for(i=0;i<10;i++){
if(max==b[i]) printf(" %d",i);
}
return 0;
}

View file

@ -1,44 +0,0 @@
/*
7-6 ???????????
?? 10
?? ??
?? ??????
????????????8???(????????1~8)??????,????n???(1=n=1000),???????,????????????(??????????????????),?????????????
????:
????1?????????n(1=n=1000),?2???n???,????????
????:
???????8??????????,????4?,????????????????
????:
10
3 4 7 6 3 9 2 3 1 8
????:
1 1
2 1
3 3
4 1
5 0
6 1
7 1
8 1
*/
#include<stdio.h>
int main(){
int n,i,num;
scanf("%d",&n);
int b[9];
for(i=0;i<n;i++){
b[i]=0;
}
for(i=0;i<n;i++){
scanf("%d",&num);
b[num]++;
}
for(i=1;i<=8;i++){
printf("%4d%4d\n",i,b[i]);
}
return 0;
}

View file

@ -1,43 +0,0 @@
/*
7-7 ???????
?? 10
?? ??
?? ???????
????
??????????????????????(???????,?????????????,??????)
????:
???????,??????????,?????2?30??1073741824,?????????????
????:
??????????????,????????????
????:
25 36 0 1
1024 1073741824
????:
11001
100100
0
1
10000000000
1000000000000000000000000000000
*/
#include<stdio.h>
int main(){
int n;
int b[10000];
while(scanf("%d",&n)==1){
int i,cnt=0;
if(n==0) printf("0");
for(i=0;n!=0;n/=2){
b[i]=n%2;
cnt++;
i++;
}
for(i=cnt-1;i>=0;i--){
printf("%d",b[i]);
}
printf("\n");
}
return 0;
}

View file

@ -1,43 +0,0 @@
/*
7-8 ?????????????
?? 10
?? ??
?? ??????
????????,????n???????a?,?????a??????x?????a?????x????,????????????????(???0??);??????,??Not Found?
????:
????1?????????n(1=n=100)?????x,?2???n???,??????????????????????????
????:
????,???x??????????????;??????,??????Not Found?
????1:
5 9
2 9 8 1 9
????1:
4
????2:
10 101
2 8 10 1 9 8 -101 0 98762 1
????2:
Not Found
*/
#include<stdio.h>
int main(){
int n,x,i,cnt=0,max;
scanf("%d %d",&n,&x);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(i=0;i<n;i++){
if(a[i]==x){
max=i;
cnt++;
}
}
if(cnt==0) printf("Not Found\n");
else printf("%d",max);
return 0;
}

View file

@ -1,60 +0,0 @@
/*
7-9 ????????
?? 10
?? ??
?? ??????
???????????,????n????????????,?????????????????
?????????????:
?1?:?????n??(a[0]? a[n-1])?,?a[0]?,??????????,????????????,??????????????,???????????a[n-1];
?2?:???????n-1??(a[0] ? a[n-2])?,?a[0]?,??????????,????????????,??????????????,a[0] ? a[n-2]?????????a[n-2];
?i?:???????n-k??(a[0]?a[n-i])?,?a[0]?,??????????,????????????,??????????????,a[0] ? a[n-i]?????????a[n-i];
?n-1?:???????2??(a[0] ?a[1])?,??????,????????,??????????????,a[0] ? a[1]?????????a[1]?
????:
????????????10????n??????n???,????????
????:
?????????????????????,?????a[0]? a[n-1]??,??????????,??????????
????:
5
8 7 6 0 1
????:
7 6 0 1 8
6 0 1 7 8
0 1 6 7 8
0 1 6 7 8
*/
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int a[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n-1;i++){
for(int j=0;j<n-i-1;j++){
if(a[j]>a[j+1]){
int t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
printf("%d",a[0]);
for(int k=1;k<n;k++){
printf(" %d",a[k]);
}
printf("\n");
}
return 0;
}

View file

@ -0,0 +1,69 @@
/*
7-4
10
C课程组
N10N个整数
5
8 2 5 1 4
1 2 5 4 8
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int N, i;
scanf("%d", &N);
int a[N];
for (i = 0; i < N; i++)
{
scanf("%d", &a[i]);
}
int max = a[0], max_i = 0;
for (i = 0; i < N; i++)
{
if (max < a[i])
{
max = a[i];
max_i = i;
};
}
int t = a[N - 1];
a[N - 1] = max;
a[max_i] = t;
int min = a[0], min_i = 0;
for (i = 0; i < N; i++)
{
if (min > a[i])
{
min = a[i];
min_i = i;
};
}
t = a[0];
a[0] = min;
a[min_i] = t;
for (i = 0; i < N; i++)
{
printf("%d ", a[i]);
}
return 0;
}

View file

@ -0,0 +1,56 @@
/* 6-1 使用函数找出数组中的最大值
10
int FindArrayMax( int a[], int n );
a是用户传入的数组n是数组a中元素的个数a中的最大值
#include <stdio.h>
#define MAXN 10
int FindArrayMax( int a[], int n );
int main()
{
int i, n;
int a[MAXN];
scanf("%d", &n);
for( i=0; i<n; i++ ){
scanf("%d", &a[i]);
}
printf("%d\n", FindArrayMax(a, n));
return 0;
}
----
4
20 78 99 -14
99
16 KB
400 ms
64 MB */
int FindArrayMax(int a[], int n)
{
int j;
int max = a[0];
for (j = 0; j < n; j++)
{
if (a[j] > max)
max = a[j];
}
return max;
}

View file

@ -0,0 +1,75 @@
/*
7-9
10
使n个整数从小到大排序后输出
1n个数a[0] a[n1]a[0]a[n1]
2n1a[0] a[n2]a[0]a[0] a[n2]a[n2]
i步nk个数a[0]a[ni]a[0]a[0] a[ni]a[ni]
n12a[0] a[1]a[0] a[1]a[1]
10nn个整数
a[0] a[n1]
5
8 7 6 0 1
7 6 0 1 8
6 0 1 7 8
0 1 6 7 8
0 1 6 7 8
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int n, i, j, k;
scanf("%d", &n);
int a[n];
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
if (n == 1)
printf("%d", a[0]);
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - i - 1; j++)
{
if (a[j] > a[j + 1])
{
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
printf("%d", a[0]);
for (k = 1; k < n; k++)
{
printf(" %d", a[k]);
}
printf("\n");
}
return 0;
}

View file

@ -0,0 +1,53 @@
/*
7-7
10
:
2301073741824
:
:
25 36 0 1
1024 1073741824
:
11001
100100
0
1
10000000000
1000000000000000000000000000000
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int n;
int b[10000];
while (scanf("%d", &n) == 1)
{
int i, cnt = 0;
if (n == 0)
printf("0");
for (i = 0; n != 0; n /= 2)
{
b[i] = n % 2;
cnt++;
i++;
}
for (i = cnt - 1; i >= 0; i--)
{
printf("%d", b[i]);
}
printf("\n");
}
return 0;
}

View file

@ -0,0 +1,56 @@
/*
7-8
10
n个整数存入数组a中a中查找给定的xa中的元素与x的值相同0Not Found
:
1n1n100x2n个整数
:
x的值相同的最后一个元素的下标Not Found
1:
5 9
2 9 8 1 9
1:
4
2:
10 101
2 8 10 1 9 8 -101 0 98762 1
2:
Not Found
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int n, num, cnt = 0, maxi;
scanf("%d %d", &n, &num);
int a[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (int i = 0; i < n; i++)
{
if (a[i] == num)
{
cnt++;
maxi = i;
}
}
if (cnt == 0)
printf("Not Found");
else if (cnt != 0)
printf("%d", maxi);
return 0;
}

View file

@ -0,0 +1,59 @@
/*
7-5
10
3123423453456343
1N1000N个不超过整型范围的非负整数
M: n1 n2 ...M是最大次数n1n2
3
1234 2345 3456
3: 3 4
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
int a[n], b[10], c;
for (int i = 0; i < 10; i++)
b[i] = 0;
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
if (a[i] == 0)
b[0]++;
for (; a[i] != 0; a[i] /= 10)
{
c = a[i] % 10;
b[c]++;
}
}
int max = b[0];
for (int i = 1; i < 10; i++)
{
if (max < b[i])
max = b[i];
}
printf("%d:", max);
for (int i = 0; i < 10; i++)
{
if (max == b[i])
printf(" %d", i);
}
return 0;
}

View file

@ -0,0 +1,76 @@
/*
7-2
10
N N A[ ] Avg
[(A
1
Avg)
2
+(A
2
Avg)
2
++(A
N
Avg)
2
]/N
N10
4
N 1000
N个数的均方差5
1
10
6 3 7 1 4 8 2 9 11 5
1
3.03974
2
1
2
2
0.00000
16 KB
400 ms
64 MB
*/
#include <stdio.h>
#include <math.h>
int main()
{
int n, i;
double avg, fangcha, sum1 = 0, sum2 = 0;
scanf("%d", &n);
int a[n];
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++)
{
sum1 += a[i];
}
avg = sum1 * 1.0 / n;
for (i = 0; i < n; i++)
{
sum2 += pow(a[i] - avg, 2);
}
fangcha = pow(1.0 * sum2 / n, 0.5);
printf("%.5lf", fangcha);
return 0;
}

View file

@ -0,0 +1,54 @@
/*
7-3
10
:
n n<=1000, n个整数
:
:
4
4 2 2 4
:
4 2
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int n, i, max, cnt = 0;
scanf("%d", &n);
int a[n];
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
max = a[0];
for (i = 1; i < n; i++)
{
if (a[i] > max)
max = a[i];
}
for (i = 0; i < n; i++)
{
if (a[i] == max)
cnt++;
}
printf("%d %d", max, cnt);
return 0;
}

View file

@ -0,0 +1,55 @@
/*
7-6
10
81~8n位观众1n1000
:
1n1n10002n个整数
:
84
:
10
3 4 7 6 3 9 2 3 1 8
:
1 1
2 1
3 3
4 1
5 0
6 1
7 1
8 1
16 KB
400 ms
64 MB
*/
#include <stdio.h>
#include <math.h>
int main()
{
int n;
scanf("%d", &n);
int a[n], b[9], c;
for (int i = 0; i < 9; i++)
b[i] = 0;
for (int i = 0; i < n; i++)
{
int num;
scanf("%d", &num);
if (num >= 1 && num <= 8)
b[num]++;
}
for (int i = 1; i < 9; i++)
{
printf("%4d%4d\n", i, b[i]);
}
return 0;
}

View file

@ -0,0 +1,71 @@
/*
7-1 k趟
10
使n个整数从小到大进行排序k趟k从0开始
0n个数a[0] a[n1] a[0]
1n1a[1] a[n1] a[1]
k步nk个数a[k]a[n1] a[k]
n22a[n2] a[n1] a[n2]
10n和一个不超过n-1kn个整数
k步k从0开始k步后a[0] a[n1]
4 1
5 1 7 2
1 2 7 5
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int i, j, n, k;
scanf("%d %d", &n, &k);
int a[n];
for (i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
if (n == 1)
printf("%d", a[0]);
for (i = 0; i < n - 1; i++)
{
int c = i;
for (j = i + 1; j < n; j++)
{
if (a[c] > a[j])
c = j;
}
int t = a[i];
a[i] = a[c];
a[c] = t;
if (i == k)
{
printf("%d", a[0]);
for (j = 1; j < n; j++)
printf(" %d", a[j]);
}
}
}

View file

@ -1,59 +0,0 @@
/*
7-1 ?????????
?? 10
?? ???
?? ????
??M?N??????A,??A??????A[i][j]?????????4???,??????A[i][j]??????????????????????????????????
????:
???????????A???M???N(3=M,N=20);??M?,????A????N???????????????
????:
??????? ?? ??????????????,????????1?????????????;??????1??????,???????????????????,???None ??? ????
????1:
4 5
1 1 1 1 1
1 3 9 3 1
1 5 3 5 1
1 1 1 1 1
????1:
9 2 3
5 3 2
5 3 4
????2:
3 5
1 1 1 1 1
9 3 9 9 1
1 5 3 5 1
????2:
None 3 5
*/
#include<stdio.h>
int main(){
int m,n;
scanf("%d %d",&m,&n);
int a[100][100];
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&A[i][j]);
}
}
for(i=2;i<m;i++)
{
for(j=2;j<n;j++)
{
if(A[i][j]>A[i+1][j]&&A[i][j]>A[i][j+1]&&A[i][j]>A[i-1][j]&&A[i][j]>A[i][j-1])
{
cnt++;
printf("%d %d %d\n",A[i][j],i,j);
}
}
}
if(cnt==0)
printf("None %d %d",m,n);
return 0;
}

View file

@ -1,43 +0,0 @@
/*
7-2 ?????????
?? 10
?? C???
?? ????
????????,??????m×n?????????
????:
????????????m?n(1=m,n=6)???m?,????n???,??
??????
????:
??????????????
????:
3 2
6 3
1 -8
3 12
????:
9
-7
15
*/
#include<stdio.h>
int main(){
int m,n,i,j,sum=0;
scanf("%d %d",&m,&n);
int A[100][100];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&A[i][j]);
sum+=A[i][j];
}
printf("%d\n",sum);
sum=0;
}
return 0;
}

View file

@ -1,58 +0,0 @@
/*
7-3 ??????
?? 10
?? ???
?? ????
?????????????N??????
????:
????????N(1=N=10)?
????:
???????????N?????????????4??
????:
6
????:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
*/
#include<stdio.h>
int main()
{
int n,i,j;
scanf("%d",&n);
int a[100][100],cnt=0;
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(j==0||j==i)
{
a[i][j]=1;
}
else
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n-1-i;j++)
{
printf("W");
}
for(j=0;j<=i;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}

View file

@ -1,49 +0,0 @@
/*
7-4 ????
?? 10
?? C???
?? ????
????n×n???,??????????????????????????????????????????????????????
????:
??????????n(1<n=10);??n?,????n???,????????
????:
??????????????????????????????????
????:
4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
????:
35
*/
#include<stdio.h>
int main()
{
int n,i,j,sum=0;
scanf("%d",&n);
int A[100][100];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&A[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(!((i==i&j==n-i-1)||i==n-1||j==n-1))
{
sum+=A[i][j];
}
}
}
printf("%d",sum);
return 0;
}

View file

@ -0,0 +1,44 @@
/* 7-10 删除重复字符
10
ASCII码顺序从小到大排序后输出
80
ad2f3adjfeainzzzv
23adefijnvz
16 KB
400 ms
64 MB */
#include <stdio.h>
int a[300];
int main()
{
char s[85];
gets(s);
for (int i = 0; s[i] != '\0'; i++)
{
int b = (int)s[i];
a[b]++;
}
for (int i = 0; i < 300; i++)
{
if (a[i] != 0)
{
printf("%c", i);
}
}
return 0;
}

View file

@ -0,0 +1,63 @@
/* 7-7 判断回文字符串
10
:
:
yes,no
:
A man,a plan; cnalPanama
:
yes
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
char s[85], c[85];
gets(s);
int cnt = 0, k = 0, flag = 1;
for (int i = 0; s[i] != '\0'; i++)
{
if (s[i] >= '0' && s[i] <= '9' ||
s[i] >= 'A' && s[i] <= 'Z' ||
s[i] >= 'a' && s[i] <= 'z')
{
c[k] = s[i];
if (s[i] >= 'A' && s[i] <= 'Z')
{
c[k] += 32;
}
k++;
}
}
for (int i = 0; i < k / 2; i++)
{
if (c[i] != c[k - i - 1])
{
flag = 0;
}
}
if (flag)
printf("yes\n");
else
printf("no\n");
return 0;
}

View file

@ -0,0 +1,67 @@
/* 7-9 十六进制字符串转换成十进制非负整数
10
#
:
80#
:
1
2
:
-zy1+Ak0-bq?#
:
1A0b
6667
16 KB
400 ms
64 MB */
#include <stdio.h>
#include <math.h>
int main()
{
char s[85], c;
int i = 0, sum = 0;
while (1)
{
c = getchar();
if (c == '#')
break;
if (c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F')
{
s[i] = c;
i++;
}
}
for (int j = 0; j < i; j++)
{
if (s[j] >= '0' && s[j] <= '9')
{
int a = (int)s[j];
int b = a - 48;
sum += b * pow(16, i - j - 1);
}
if (s[j] >= 'a' && s[j] <= 'f')
{
int a = (int)s[j];
int b = a - 87;
sum += b * pow(16, i - j - 1);
}
if (s[j] >= 'A' && s[j] <= 'F')
{
int a = (int)s[j];
int b = a - 55;
sum += b * pow(16, i - j - 1);
}
}
puts(s);
printf("%d\n", sum);
return 0;
}

View file

@ -0,0 +1,47 @@
/* 7-8 字符串替换
10
C课程组
A Z
B Y
C X
D W
X C
Y B
Z A
80
Only the 11 CAPItaL LeTtERS are replaced.
Lnly the 11 XZKRtaO OeGtVIH are replaced.
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
char str[81];
gets(str);
for (int i = 0; str[i] != '\0'; i++)
{
if (str[i] >= 'A' & str[i] <= 'Z')
{
str[i] = 'A' + 'Z' - str[i];
}
}
puts(str);
return 0;
}

View file

@ -0,0 +1,64 @@
/*
7-3
10
N行杨辉三角
N1N10
N行杨辉三角4
6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int n, i, j;
scanf("%d", &n);
int a[100][100], cnt = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j <= i; j++)
{
if (j == 0 || j == i)
{
a[i][j] = 1;
}
else
{
a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
}
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n - 1 - i; j++)
{
printf(" ");
}
for (j = 0; j <= i; j++)
{
printf("%4d", a[i][j]);
}
printf("\n");
}
return 0;
}

View file

@ -0,0 +1,50 @@
/*
7-2
10
C课程组
m×n矩阵各行元素之和
m和n1m,n6m行n个整数
3 2
6 3
1 -8
3 12
9
-7
15
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int m, n, i, j, sum = 0;
scanf("%d %d", &m, &n);
int A[100][100], B[100][100];
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &A[i][j]);
sum += A[i][j];
}
printf("%d\n", sum);
sum = 0;
}
return 0;
}

View file

@ -0,0 +1,66 @@
/*
7-1
10
M行N列的整数矩阵AA的非边界元素A[i][j]4A[i][j]
A的行数M和列数N3M,N20M行A在该行的N个元素的值
11None
1
4 5
1 1 1 1 1
1 3 9 3 1
1 5 3 5 1
1 1 1 1 1
1
9 2 3
5 3 2
5 3 4
2
3 5
1 1 1 1 1
9 3 9 9 1
1 5 3 5 1
2
None 3 5
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int m, n, i, j, cnt = 0;
scanf("%d %d", &m, &n);
int A[100][100];
for (i = 1; i <= m; i++)
{
for (j = 1; j <= n; j++)
{
scanf("%d", &A[i][j]);
}
}
for (i = 2; i < m; i++)
{
for (j = 2; j < n; j++)
{
if (A[i][j] > A[i + 1][j] && A[i][j] > A[i][j + 1] && A[i][j] > A[i - 1][j] && A[i][j] > A[i][j - 1])
{
cnt++;
printf("%d %d %d\n", A[i][j], i, j);
}
}
}
if (cnt == 0)
printf("None %d %d", m, n);
return 0;
}

View file

@ -0,0 +1,51 @@
/* 7-5 求矩阵的最大值(设惟一)
10
m×n矩阵的最大值以及位置
:
m和n1m,n6m行n个整数
:
0
:
3 2
6 3
23 -9
6 -1
:
23
1 0
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int m, n, i, j;
scanf("%d %d", &m, &n);
int A[100][100];
int maxnum = -100, max_i, max_j;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &A[i][j]);
if (A[i][j] > maxnum)
{
maxnum = A[i][j];
max_i = i;
max_j = j;
}
}
}
printf("%d\n", maxnum);
printf("%d %d", max_i, max_j);
return 0;
}

View file

@ -0,0 +1,55 @@
/*
7-4
10
C课程组
n×n的方阵线线线
:
n1<n10n行n个整数
:
线
:
4
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
:
35
16 KB
400 ms
64 MB
*/
#include <stdio.h>
int main()
{
int n, i, j, sum = 0;
scanf("%d", &n);
int A[100][100];
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &A[i][j]);
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (!((i == i & j == n - i - 1) || i == n - 1 || j == n - 1))
{
sum += A[i][j];
}
}
}
printf("%d", sum);
return 0;
}

View file

@ -0,0 +1,39 @@
/* 7-6 统计字符串中数字字符的个数
10
'0''9'
:
80
:
:
It's 512?
:
3
16 KB
400 ms
64 MB */
#include <stdio.h>
int main()
{
int cnt = 0;
char str[81];
gets(str);
for (int i = 0; str[i] != 0; i++)
{
if (str[i] >= '0' && str[i] <= '9')
cnt++;
}
printf("%d", cnt);
return 0;
}

View file

@ -0,0 +1,35 @@
/* 7-4 输出三角形
20
*
*
****
***
**
*
16 KB
400 ms
64 MB */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("****\n");
printf("***\n");
printf("**\n");
printf("*\n");
return 0;
}

View file

@ -0,0 +1,33 @@
/* 7-5 输出菱形图案
20
A
A
A
A A
A
16 KB
400 ms
64 MB */
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf(" A\n");
printf("A A\n");
printf(" A\n");
return 0;
}

View file

@ -1 +1 @@
我永远喜欢朱森森030 # 我永远喜欢朱森森030