和数编程题
① 求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的组合运行结果如下: