代码如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
void main()
{
int ring[9]={1,2,3,4,5,6,7,8,9};
int i,j,k,p,subs,sum;
for (i=0;i<9;i++)
{
sum = 0;
j = ring[i] * 10 + ring[(i+1)%9];
sum += j;
k = ring[(i+2)%9] * 100 + ring[(i+3)%9] * 10 + ring[(i+4)%9];
sum += k;
p = ring[(i+5)%9] * 1000 +ring[(i+6)%9] * 100 + ring[(i+7)%9] * 10 + ring[(i+8)%9];
sum += p;
if(sum%77==0)
printf("%d + %d + %d = %d\n",j,k,p,sum);
}
}
#include<stdio.h>
int mod9(int x)
{
return x % 9;
}
int main()
{
int ring[9] = { 1,2,3,4,5,6,7,8,9 }, st[9];
int i,j, num1, num2, num3;
for (i = 0; i < 9; i++)
{
num1 = ring[mod9(i)] * 10 + ring[mod9(i + 1) % 9];
num2 = ring[mod9(i + 2)] * 100 + ring[mod9(i + 3)] * 10 + ring[mod9(i + 4)];
num3 = ring[mod9(i + 5)] * 1000 + ring[mod9(i + 6)] * 100 + ring[mod9(i + 7)] * 10 + ring[mod9(i + 8)];
st[i] = num1 + num2 + num3;
}
printf("所有和如下:\n");
for (j = 0; j < 9; j++)
{
printf("%d\t", st[j]);
}
printf("\n和能被77整除的如下:\n");
for (j = 0; j < 9; j++)
{
if (st[j] % 77 == 0)
printf("%d\t", st[j]);
}
return 0;
}
自己上机调试一下吧
#include <stdio.h>
main ()
{
int ring[9]={1,2,3,4,5,6,7,8,9}, st[9];
int i, j, k, p, subs, sum;
for(i=0;i<9;i++){
sum=0;
for (j=0;j<3;j++){
subs=0;
for(k=0;k<j+2;k++){
p=i+j+k;
if(p>=9){
p=0;
}
subs *=10;
subs +=ring[p];
}
sum += subs;
}
st[i]=sum;
if (sum%77==0){
printf("sum is %s\n", sum);
}
}
}