和數編程題
① 求1至100之間的合數之和JAVA編程題
public class Test{
public static void main(String []args){
int cn = 0;
for(int i=1;i<=100;i++){
i=i%10;
cn = cn+i;
}
System.out.println("個位上數之和 "+cnt);
}
}
② C語言編程題目:輸入一個三位數,輸出各個數位上的數字及它們的和。
#include <stdio.h>
void main()
{
int a;
int b,c,d;//各個位數上的數字
printf("請輸入一個三位數:");
scanf("%d",&a);
b=a/100; //百位
c=(a-b*100)/10; //十位
d=a%10; //個位
printf("百位:%d ,十位:%d ,個位%d ",b,c,d);
printf("它們的和是:%d ",b+c+d);
}
③ C語言編程10選6全組合並且滿足6個數字和問題
代碼如下:
#include <stdio.h>
//要求六個數字相加的和
#define AIM 39
int main(){
int number[10]; //用來存放1到10
int su[6];
int i,sum,j=0,k,flag=1;
for(i=0;i<10;i++)
number[i]=i+1;
for(i=0;i<6;i++)
su[i]=0;
for(su[0]=0;su[0]<10;su[0]++)
for(su[1]=0;su[1]<10;su[1]++)
for(su[2]=0;su[2]<10;su[2]++)
for(su[3]=0;su[3]<10;su[3]++)
for(su[4]=0;su[4]<10;su[4]++)
for(su[5]=0;su[5]<10;su[5]++)
{
//j++;
//printf("%d ",j);
sum=0;
for(i=0;i<6;i++)
sum+=number[su[i]];
//printf("%d ",sum);
//如果相加的和滿足要求則輸出組合
if(sum==AIM){
//判斷六個數字之中是否有重復的,並且排除排列順序不同的組合
for(k=0;k<6;k++)
for(i=k+1;i<6;i++)
if(number[su[i]]<=number[su[k]])
flag=0;
if(flag==1){
for(i=0;i<6;i++)
printf("%d ",number[su[i]]);
j++;
printf(" ");
}
flag=1;
}
}
printf("總共有%d個滿足要求的組合 ",j);
return 0;
}
其中宏定義#define AIM後面的數字為需要的總和
本代碼選出的組合中數字不能重復
和為39的組合運行結果如下: