新生練習(三) 題解
阿新 • • 發佈:2019-01-10
Problem A:迴文串
#include<stdio.h> #include<string.h> //strlen()函式的 標頭檔案 int main(void){ int flag=0; //定義一個標誌變數 char s[1010]; int len; //定義字串的長度常量 scanf("%s",&s); len=strlen(s); //求字串的長度 for(int i=0;i<len/2;i++){ if(s[i]!=s[len-1-i] && s[i]!=s[len-1-i]+32 && s[i]!=s[len-1-i]-32){ flag=1; //改變flag的值 即值此串非迴文串 break; //結束迴圈 節省時間 } } if(flag==0){ //迴文串 printf("yes\n"); } else{ printf("no\n"); } return 0; }
Problem B:你們都能做的題(1)
#include<stdio.h> int main(void){ int n; int min=1e9,max=-1; /*初始化 min 和 max 記錄最大值和最小值 */ int a[1010]; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]); if(a[i]>max){ //找到最大值 max=a[i]; } if(a[i]<min){ //找到最小值 min=a[i]; } } printf("%d %d\n",max,min); return 0; }
Problem C:你們都能做的題(2)
#include<stdio.h> #define mod 100000 //巨集定義 mod int main(void){ int n,m; int sum_n=1; //做乘法初始化為1 int sum_m=0; // 做加法初始化為0 scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ sum_n*=i; sum_n%=mod; //每步求餘保證資料不溢位 } for(int i=1;i<=m;i++){ sum_m+=i; } printf("%d\n",sum_n+sum_m); return 0; }