c語言練習篇(2)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//#include <cstdio>


1.
    
//A + B轉換爲幾進制 
    
int main(){
    int a,b,d;   //d是幾進制 
    scanf("%d%d%d",&a,&b,&d);
    int sum = a + b;
    int ans[31], num = 0; //ans 存放D進制的每一位數據
    
    while(sum != 0){ 
        ans[num++] = sum % d; 
        sum = sum / d;
    } 
    
    for(int i = num - 1; i >= 0; i--){
        printf("%d",ans[i]);        
    }
    
    system("pause");
    return 0;
}
*/


2.
    
//判斷是否是迴文串 
    
int main(){
    
    char str[225];
    scanf("%s",str);           //scanf("%[^\n]",str);
    int x = strlen(str);    
    int length = x/2 - 1;
    int flag = 0;
    
    for(int i = 0; i < length; i++){
        if(str[i] == str[x-1-i]){
           flag = 1;
        }
    }
    if(flag == 1){
       printf("YES");        
    }else{
       printf("NO");      
       
    } 
    
 
    system("pause");
    return 0;   
}
*/ 




//(同一道題)按答案寫
    
const int maxn = 256;
//判斷字符串str是否是“迴文串”
bool judge(char str[]){
     int len = strlen(str); //字符串長度
     for(int i = 0; i < len / 2; i++){
        if(str[i] != str[len-1-i]){  //如果對稱位置不同 
           return false; 
        }
     }
     return true;  //是“迴文串” 
} 

int main(){
    char str[maxn];
    while(gets(str)){
          bool flag = judge(str); //調用函數判斷str是不是迴文串
          if(flag == true){ 
             printf("YES\n"); 
          } else{
             printf("NO\n");
          } 
    }    
    system("pause");
    return 0;
}
*/


3.
//說反話 
    
int main(){
    int num = 0;  //單詞的個數
    char ans[90][90];
    while(scanf("%s",ans[num]) != EOF){//這樣居然可以一行存單詞 
          num++;  //單詞個數加1        
    }
    for(int i = num - 1; i >= 0;i--){
        printf("%s",ans[i]);     //這樣居然可以打印出一行的單詞 
        if(i > 0) printf(" ");        
    } 
    
    system("pause");
    return 0;
}
*/ 


//同一道題
int main(){
    char str[90];
    gets(str);
    int len =strlen(str), r = 0, h = 0; //r 爲行, h爲列
    char ans[90][90];   //ans[0]~ans[r]存放單詞的
    for(int i = 0; i < len; i++){
        if(str[i] != ' '){  //如果不是空格,則存放至ans[r][h],並令h++
           ans[r][h++] = str[i]; 
        }else{
           ans[r][h] = '\0';  //末尾是結束符\0
           r++;
           h = 0; 
        }
    }   
    for(int i = r; i >= 0; i--){
        printf("%s",ans[i]);     
        if(i > 0) {
           printf(" ");  //要理解    
        }   
    }
    system("pause");
    return 0;
}
                                         2020.5.2/週六
                                         by 922
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章