今日温故知新

17 篇文章 0 订阅
11 篇文章 0 订阅

该注意的错误代码:

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
#include<stdlib.h>
int main(){
	int t;//0<t<1000
	int n;//0<n<100
	char a,b;
	int awin=0,bwin=0;
	char *result;
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		while(n--){
			scanf("%c%c",&a,&b);
			if(a=='R'){//这种if嵌套的做法真挫,最错的
				if(b=='S') awin++;
				else if(b=='P') bwin++;
				else
					exit(0);
			}
			else if(a=='S'){
				if(b=='R') bwin++;
				else if(b=='P') awin++;
				else
					exit(0);
			}
			else if(a=='P'){
				if(b=='R') awin++;
				else if(b=='S') bwin++;
				else
					exit(0);
			}
			else
				exit(0);
		}
		result = (awin==bwin?"TIE":(awin>bwin?"player1":"player2"));
		printf("%s\n",result);
	}
	return 0;
}
a赢的情况有哪些?b赢的情况有哪些?
不要老是想着另设一个变量通过赋值输出来,直接输出指定字符串。player1,player2,TIE.

*1019石头剪子布

通过代码:

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
int main(){
	int awin,bwin;
	int i,j,t,n;
	char a,b;
	scanf("%d",&t);
	if(0<t && t<1000){
		for(i=0;i<t;i++){
			awin=0;//在这里初始化为0,你懂得
			bwin=0;
			scanf("%d%*c",&n);
			if(0<n && n<100){
				for(j=0;j<n;j++){
					scanf("%c %c%*c",&a,&b);//%*c有大作用,请百度,在该程序里没了它还就真不行我叉
					if((a=='R'&&b=='S') || (a=='S'&&b=='P') || (a=='P'&&b=='R'))
						awin++;
					if((a=='S'&&b=='R') || (a=='P'&&b=='S') || (a=='R'&&b=='P'))
						bwin++;
				}
				if(awin>bwin)
					printf("Player 1\n");//别写错单词把player写成plyer
				else if(awin<bwin){
					printf("Player 2\n");
				}
				else
					printf("TIE\n");
			}

		}
	}

	return 0;
}

  认识一下%*c

  %c:读入一个字符。%*c:读入一个字符,但忽略它(即不赋值给任何变量)

  “*”修饰符放在%之后,表示读入但不赋值。

  用在利用一批现成数据又不需要其中某些数据时。

  %*c在输入的时候有吃掉回车符的作用。

#include <stdio.h>

int main(int argc, char* argv[]) {
    int minimum_length;
    
    for (minimum_length = 1; minimum_length < 6; minimum_length++) {
        printf("Minimum length %d:\n", minimum_length);
        printf("%*c\n%*s\n\n", minimum_length, 'A', minimum_length, "ABC");    // * 用来表示一个整数值
    }
    
    return 0;
}

Minimum length 1:
A
ABC


Minimum length 2:
 A
ABC


Minimum length 3:
  A
ABC


Minimum length 4:
   A
 ABC


Minimum length 5:
    A
  ABC


请按任意键继续. . .



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值