A 你好,AI

#include<stdio.h> 

int main(){
	printf("Hello AI."); 
	return 0;
}

B 吃西瓜

【分析】判断大于2的偶数即可。

#include<stdio.h> 

int main(){
	int n; scanf("%d", &n);
	if(n%2 == 0 && n>2) {
		printf("YES");
	}else{
		printf("NO");
	}
	return 0;
}

C 数字个数

【分析】掌握如何删除个位和获取个位的方法。

#include<stdio.h> 

int main(){
	int l,r,cnt=0; scanf("%d%d", &l, &r);
	for(int i=l; i<=r; i++){
//		 i = 100
//		/10  删除个位 
//		%10  取得个位 
		int t = i/100 + i/10%10 + i%10;
		if(i%2==0 && t%4==0){
			cnt ++; 
		}
	}
	printf("%d\n", cnt);
	return 0;
}

D 假数据

【分析】可以使用函数,封装一个素数判断,这样代码书写较为简单。

#include<stdio.h> 

// 素数判断 
int isprime(int n){
	for(int i=2; i<n; i++)
		if(n%i==0) return 0;
	return n > 1;
}
int main(){
	int n,m,x;
	scanf("%d%d", &n, &m);
	for(int i=1; i<=n; i++){
		for(int j=1; j<=m; j++){
			scanf("%d", &x);
			if(x<0 && isprime(-x)) {
				x = 3*x*x+2*x+1; 
			}
			printf("%d ", x);
	    } 
	    printf("\n");
	}
	return 0;
}

E 你好,MOOC

#include<stdio.h> 

int main(){
	printf("Hello MOOC."); 
	return 0;
}

F 等级

【分析】可以使用 if 或者 switch 完成

#include<stdio.h> 

int main(){
	int score; scanf("%d", &score);
	char c;
	if( score  >= 90) {
		c = 'A';
	}	
	if( score  >= 80 && score <90) {
		c = 'B';
	}
	if( score  >= 70 && score <80) {
		c = 'C';
	}
	if( score  >= 60 && score <70) {
		c = 'D';
	}
	if( score  < 60) {
		c = 'E';
	}	
	printf("%c", c);
	return 0;
}

G 糖果

【分析】统计奇数的个数、最小的奇数以及所有元素的和。当奇数的个数为奇数的时候,用元素和减去最小的奇数;否则不用减。

#include<stdio.h> 

int main(){
	int n,x, cnt=0, mn=101, sum=0;
	// cnt 表示 奇数的个数
	// mn 表示 奇数的最小值
	scanf("%d", &n);
	for(int i=1; i<=n; i++){
		scanf("%d", &x);
		if(x%2 != 0) {
			cnt ++; //  奇数的个数 
			if(mn > x) { // 更新最小的奇数 
				mn = x;
			}
		}
		sum += x;
	} 
	if(cnt %2 != 0) sum -= mn;
	printf("%d\n", sum);
	return 0;
}

H 真素数

【分析】可以实现两个函数 (1)素数判断;(2)对数据的每一位求和。

#include<stdio.h> 
#define N 105
int path[N],cnt;

// 素数判断 
int isprime(int n){
	for(int i=2; i<n; i++)
		if(n%i==0) return 0;
	return n > 1;
}

// 对 数据的每一位求和 
int sum(int n){
// /10  -- 删除个位 
// %10  -- 取得个位
	int t = n, s = 0; // t=123
	while(t){
		s += t%10;
		t/=10;
	}
	return s; 
}
int main(){
	int n, x; scanf("%d", &n);
	for(int i=1; i<=n; i++){
		scanf("%d", &x);
		if(isprime(x) & isprime(sum(x))){
			path[ ++ cnt] = x;
		}
	}
	
	printf("%d\n", cnt);
	for(int i=1; i<=cnt; i++){
		printf("%d ", path[i]);
	}
	return 0;
}