文档库 最新最全的文档下载
当前位置:文档库 › mooc北京理工大学c语言答案

mooc北京理工大学c语言答案


第五周
(1)
#include
#include
int main()
{
int a,b,c,N,t=0;
scanf("%d",&N);
for(a=1;a<=N;a++)
{
for(b=a;b<=N;b++)
{
for(c=b;c<=N;c++)
{ if(c*c==a*a+b*b)
t=t+1;
}
}
}
printf("%d\n",t);
system("pause");
return 0;
}
(2)
#include
#include
main(){int i,j,k,a,b,c,d,m=0,e;
for(e=0;e>=0;e++)
{scanf("%d%d",&i,&j);
if((i==0)||(j==0)) break;
else if((i>9999||i<1000)||(j>9999||j<1000)) printf("Error\n");
else {for(k=i;k<=j;k++)
{if (k%2==1) continue;
a=k/1000;b=(k%1000)/100;c=(k%100)/10;d=k%10;
if((((a==b)||(b==c))||(c==d)) ||((d==a)||((a==c)||(d==b)))) continue;
printf("%d ",k);m+=1;}
printf("\ncounter=%d\n",m); m=0;}}}
(3)
#include
int main(){int m,n,s=0;scanf("%d",&n);
for(m=1;sprintf("%d\n",m-1);return 0;}

第六周
for(i=1,s=0;(s=s+i*i)<=1000;n=i++)
循环执行4次
5
x=4
1.600000
① m=n ② m>0 ③ m=m/10
第六周编程作业
(1)
#include
int main()
{
int n,i;
scanf("%d",&n);
for(i=1;i<=n*n;i++)
{
printf("%3d",i);
if(i%n==0)printf("\n");
}
}
(2)
#include
int main()
{
int n, i, q, p;
char ch;
scanf("%c%d",&ch,&n);
for(i = 0; i < n; i++)
{
for(q = i; q < n - 1; q++)
printf(" ");
printf("%c",ch + i);
for(q = 0; q < (2 * i - 1); q++)
{
printf(" ");
if(q == 2 * i - 2)
printf("%c",ch + i);
}
printf("\n");
}
for(i = n - 2; i >= 0; i--)
{
for(q = i; q < n - 1; q++)
printf(" ");
printf("%c", ch + i);
for(q = 2 * i - 1; q > 0; q--)
{
printf(" ");
if(q == 1)
printf("%c", ch + i);
}
printf("\n");
}
return 0;
}
(3)
#include
int main()
{ int a,b,c,d,i,j,k,l; static int s[1000];
scanf("%d%d%d%d",&a,&b,&c,&d);
for (i=0;i<=5;i++)
for (j=0;i+j<=5;j++)
for (k=0;k+i+j<=5;k++)
for (l=0;k+i+j+l<=5;l++)
if (a*i+b*j+c*k+d*l) s[a*i+b*j+c*k+d*l]++;
for (i=1;i<=1000;i++)
if(!s[i]) break;
printf("The max is %d.\n",--i);
return 0;}
(4)
#include
#include
#include
int main()
{
int i,j,k,n,t,sum,len,maxl;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
sum=len=0;
maxl=-1001;//maxl小于愉快度可能的最小值
while(n--)
{
scanf("%d",&k);
if(maxllen=len+k>0?len+k:0;
if(sum}
if(maxl<0)printf("%d\n",maxl);
else printf("%d\n",sum);
}
return 0;
}
第七周
(1)
#include
#include
int main()
{
int i,j,n;
char c,a[100];
gets(a);
n=strlen(a);
for(i=0;i{
for(j=

i+1;j{
if(a[i]{
c=a[i];
a[i]=a[j];
a[j]=c;
}
}
}
puts(a);
}
(2)
#include
#include
int qwewq(int X)
{
int m,a,x;
for(x=X,a=0;x>0;)
{
m=x%10;
a=10*a+m;
x=x/10;
}
if(a==X)return(1);
else return(0);
}
int main()
{
int i,n;
scanf("%d",&n);
for(i=1;i{
if(qwewq(i*i))printf("%d\n",i);
}
}
(3)
#include
int n;
void f1(int a[])
{
int t[20001];
int i;
for(i=1;i<=n;i++) t[2*i]=a[i];
for(i=1;i<=n;i++) t[2*i-1]=a[i+n];
for(i=1;i<=2*n;i++) a[i]=t[i];
}
int main()
{
int i,k=1;
int a[20001];
scanf("%d",&n);
for(i=1;i<=2*n;i++)
{
a[i]=i;
}
f1(a);
for(;;)
{
if(a[2*n]!=2*n) {f1(a);k++;}
else break;
}
printf("%d\n",k);
}

(4)
#include
int main(void) {int i,j,k,l,m,n;scanf("%d",&n);
for (i=1;i<=3;i++) for (j=0;j<=9;j++) for (k=0;k<=9;k++)
for (l=0;l<=9;l++) for (m=0;m<=9;m++)
{if ((i*100+j*10+k)%n==0&&(j*100+k*10+l)%n==0&&(k*100+l*10+m)%n==0)
printf("%d%d%d%d%d\n",i,j,k,l,m); if (i==3) return 0; } return 0;}
第八周
(1)
#include
#include
int main()
{
char s[5][100], t[100];
int i, n;
for(i = 0; i < 5; i++)
scanf("%s",s[i]);
for(i = 0; i < 4; i++)
{
for(n = i + 1; n < 5; n++)
{
if(strcmp(s[i],s[n]) < 0)
{
strcpy(t,s[i]);
strcpy(s[i],s[n]);
strcpy(s[n],t);
}
}
}
for(i = 0; i < 5; i++)
printf("%s\n",s[i]);
return 0;
}
(2)
#include
#include
int main()
{
int i[100][100], m, n, x, y, temp, log = 0;
scanf("%d%d",&m,&n);
for(y = 0; y < m; y++)
{
for(x = 0; x < n; x++)
{
scanf("%d",&i[y][x]);
}
}

//将每行的最大值放入每行的最后;
for(y = 0; y < m; y++)
{
temp = 0;
for(x = 0; x < n; x++)
{
if(i[y][x] > temp)
temp = i[y][x];
}
i[y][n] = temp;
}

//将每列的最小值放入每列的最后
for(x = 0; x < n; x++)
{
temp = 0x7fffffff;
for(y = 0; y < m; y++)
{
if(i[y][x] < temp)
temp = i[y][x];
}
i[m][x] = temp;
}


for(y = 0; y < m; y++)
{
for(x = 0; x < n; x++)
{
if((i[y][x] == i[m][x]) && (i[y][x] == i[y][n]))
{printf("Point:a[%d][%d]==%d\n",y,x,i[y][x]);log = 1;}
}
}
if(log == 0)
printf("No Point\n");
return 0;
}
(3)
#include
#include
char ans(char x[20])
{ int i,y;
int d[20]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,0,0,0};
char e[11]={'1','0','X','9','8','7','6','5','4','3','2'}; y=0;
for (i=0;i<=16;i++) {y=y+(x[i]-48)*d[i];y=y%11;}
y=y%11;return e[y]; }
int main(void)
{ int i,n,m,j;char a[1000],b[20];scanf("%d",&m);
for (i=1;i<=m;i++)
{scanf("%s",&a);n=strlen(a);
if ((n!=15)&&(n!=18)) {printf("Invalid\n");continue;}
if (n==15)
{ for (j=0;j<=5;j++) b[j]=a[j];
if (a[12]=='9'&&a[

13]=='9'&&(a[14]=='6'||a[14]=='7'||a[14]=='8'||a[14]=='9'))
{b[6]='1';b[7]='8';}
else {b[6]='1';b[7]='9';}
for (j=8;j<=16;j++) b[j]=a[j-2];
b[17]=ans(b);b[18]='\0';
printf("%s\n",b);}
else if (a[17]==ans(a)) printf("Valid\n"); else printf("Invalid\n"); }
return 0; }
(4)
#include
#include
int main()
{
int n, i, j, m, log1, log2, log3, log4;
char s[100][21], t[10];
scanf("%d",&n);
gets(t);
for(i = 0; i < n; i++)
gets(s[i]);

for(i = 0; i < n; i++)
{
j = 0;
while(s[i][j] != '\0')
{
j++;
}
if(j < 6)
{
printf("Not Safe\n");
continue;
}
j = 0;
log1 = 0;
log2 = 0;
log3 = 0;
log4 = 0;
while(s[i][j] != '\0')
{
if(s[i][j] >= '0' && s[i][j] <= '9') log1 = 1;
if(s[i][j] >= 'a' && s[i][j] <= 'z') log2 = 1;
if(s[i][j] >= 'A' && s[i][j] <= 'Z') log3 = 1;
if(!(s[i][j] >= '0' && s[i][j] <= '9') && !(s[i][j] >= 'a' && s[i][j] <= 'z') && !(s[i][j] >= 'A' && s[i][j] <= 'Z')) log4 =1;
j++;
}
m = 0;
if(log1 == 1) m++;
if(log2 == 1) m++;
if(log3 == 1) m++;
if(log4 == 1) m++;
if(m == 1) printf("Not Safe\n");
if(m == 2) printf("Medium Safe\n");
if(m >= 3) printf("Safe\n");
}
return 0;

}

相关文档
相关文档 最新文档