C语言 数据类型题相关

目录

求2个数的最大公约数

求符合给定条件的整数集

统计素数求和


求2个数的最大公约数

abt
1612
16124
1240
400
#include <stdio.h>
int main()
{
	int a,b;
	int t;
	scanf("%d %d", &a, &b);
	int origa = a;//原来的AB
	int origb = b;
	while ( b != 0 ) {
		t = a%b;
		a = b;
		b = t;
	}
	printf("%d和%d的最大公约数是%d.\n", origa, origb, a);
	return 0;
}


//联想到了两数交换
/*
a=b-a;    被减 = X - 被减
b=b-a;
a=a+b;
*/

变量三巨头:x、y、z;i、j、k。i来自index,j,k续i 后。

求符合给定条件的整数集

题源自 C语言程序设计_中国大学MOOC(慕课) (icourse163.org)

 自写码(for循环)

#include<stdio.h>
int main()
{
	int A,x,y,z;
	printf("请输入A\n");
	scanf("%d",&A); //输入A 
	int num=0;	//一行5个数计数 
	for(x=A;x<=A+3;x++){
		for(y=A;y<=A+3;y++){
			for(z=A;z<=A+3;z++){
				if(x!=y&&x!=z&&y!=z){
					printf("%d%d%d ",x,y,z);
					num+=1;
				if(num==6){
				printf("\n");
				num=0;
				}
				}
			}
		}
	}
 return 0;
}

老师的

#include<stdio.h>
int main()
{
	int a;
	scanf("%d",&a); //输入a 
	int i,j,k;
	int cnt=0;	//cnt计数,咱也不知道cnt是啥的缩写..可能是 count?
	
	i=a;
	while(i<=a+3){
		j=a;
		while(j<=a+3){
			k=a;
			while(k<=a+3){
				if(i!=j&&i!=k&&j!=k){
					cnt++;
					printf("%d%d%d",i,j,k);
				if(cnt==6){
					printf("\n");
					cnt=0;
				}else{
					printf(" ");//else我没想到。
				}
				}
				k++;
			}
		j++;
		}
	i++;
	}
 return 0;
 }

统计素数求和

#include<stdio.h>
int main()
{
	int n,m;//要求输入的两个数
	int i;	//循环用 
	int cnt=0;//计数 
	int sum=0;//和 
	scanf("%d %d",&m,&n);			//基础我还能错..scanf("", )少加逗号 
	
	if(m==1)
	m=2;//1不是素数,从二开始不影响 
	
	for(i=m;i<=n;i++){
			int k;//下面的循环用 
			int isPrime=1; //假定为素数
			for(k=2;k<i-1;k++){
			if(i%k==0) {
				isPrime=0;//除尽,不是素数 
				break;
				}
			}
		if(isPrime==1){
			cnt++;
			sum+=i;
		} 
	}
	printf("%d %d\n",cnt,sum); 
 return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值