結果

問題 No.539 インクリメント
ユーザー YamyukiYamyuki
提出日時 2017-06-30 23:31:52
言語 C90
(gcc 11.4.0)
結果
AC  
実行時間 13 ms / 2,000 ms
コード長 975 bytes
コンパイル時間 285 ms
コンパイル使用メモリ 22,144 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-10-04 21:38:58
合計ジャッジ時間 1,059 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 0 ms
5,248 KB
testcase_01 AC 13 ms
5,248 KB
testcase_02 AC 9 ms
5,248 KB
testcase_03 AC 13 ms
5,248 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:7:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    7 |         scanf("%d",&t);
      |         ^~~~~~~~~~~~~~

ソースコード

diff #

#include<stdio.h>
#include<string.h>
char s[20][100001];
int main(int argc, char const *argv[]){
	int t,f;
	long len[20],i,c[20],j;
	scanf("%d",&t);
	getchar();
	for(i=0;i<t;i++){
		s[i][0]=getchar();
		j=0;
		while(s[i][j]!='\n'){
			j++;
			s[i][j]=getchar();
		}
		len[i]=j;
		s[i][j]='\0';
	}
	for(i=0;i<t;i++){
		c[i]=-1;
	}
	for(i=0;i<t;i++){
		f=0;
		for(j=len[i]-1;j>=0;j--){
			if(f==0 && '0'<=s[i][j] && s[i][j]<='9'){
				if(s[i][j]=='9'){
					f=1;
					s[i][j]='0';
					continue;
				}else{
					s[i][j]++;
					break;
				}
			}
			if(f==1){
				if('0'<=s[i][j] && s[i][j]<'9'){
					s[i][j]++;
					break;
				}
				if(s[i][j]=='9') s[i][j]='0';
				else{
					c[i]=j+1;
					break;
				}
			}
		}
		if(j==-1 && f==1) c[i]=0;
	}
	for(i=0;i<t;i++){
		if(c[i]==-1) printf("%s\n",s[i]);
		else{
			for(j=0;j<c[i];j++){
				printf("%c",s[i][j]);
			}
			printf("1");
			for(j=c[i];j<len[i];j++){
				printf("%c",s[i][j]);
			}
			printf("\n");
		}
	}
	return 0;
}
0