getchar VS scanf

iamzxf發表於2013-11-05

    編寫程式,將輸入的字串譯成密碼,譯碼規律是:用原來的字母后面的第4個字母代替原來的字母。如將“China”譯成“Glmre”,要求分別用getchar函式和scanf函式輸入字元,分別用putchar函式和printf函式輸出。

#include <stdio.h>

void main()
{
	char str[10];

	int i;

	printf("please input the string:");
	scanf("%s",str);

	printf("%s\n",str);

	i=0;
	
	while(str[i]!='\0')
	{
		if(str[i]>='a' && str[i]<='z')
		{
			printf("%c",(str[i]-'a'+4)%26+'a');			
		}
		else{
			printf("%c",(str[i]-'A'+4)%26+'A');
		}
		i++;
	}
	printf("\n");
	
}


getchar()版本,主要是控制字串的輸入

#include <stdio.h>

void main()
{
	char str[10];
	char ch;
	int i=0;
	
	printf("please input the string:");

	ch=getchar();
	
	while(ch!='\n')
	{
		str[i]=ch;
		ch=getchar();
		i++;
	}

	str[i]='\0';

     
    while(str[i]!='\0')  
    {  
        if(str[i]>='a' && str[i]<='z')  
        {  
            printf("%c",(str[i]-'a'+4)%26+'a');           
        }  
        else{  
            printf("%c",(str[i]-'A'+4)%26+'A');  
        }  
        i++;  
    }  
    printf("\n");  
	
}


 

相關文章