C語言學習歷程(七)課堂小程式
上課時老師叫我們程式設計的兩個程式,分別是進位制轉換和字串移位:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num,level;
printf("請輸入數字和進位制:\n");
scanf("%d %d",&num,&level);int sum,i;
if((num % 10) < 0 ||(num % 10) >= level)
{
printf("請輸入正確的數字\n");
return 1;
}sum = num % 10;
num /= 10;
while(num != 0)
{
if((num % 10) < 0||(num % 10) >= level)
{
printf("請輸入正確的數字\n");
return 2;
}
sum += (num % 10)*level;
level *= level;
num /= 10;
}
printf("%d\n",sum);
return 0;
}
#include <stdio.h>
#include <string.h>int main()
{
int i,j,n,m;
char str[50] = {0};
printf("請輸入字元,(不超過50個): \n");
scanf("%s",str);
printf("請輸入迴圈右移0,左移1\n");
scanf("%d",&m);
printf("請輸入迴圈移動的位數:\n");
scanf("%d",&n);
if(m == 0)//通過判斷標誌位m來確定是左移還是右移
{
for(i = 0;i < n;i++)
{
char temp = str[strlen(str) - 1];
for(j = strlen(str) - 2;j >= 0;j--)
str[j+1] = str[j];
str[0] = temp;
}
printf("%s\n",str);}
else
{
for(i = 0;i < n;i++)
{
char temp = str[0];
for(j = 1;j <= strlen(str) - 1;j++)
str[j-1] = str[j];
str[strlen(str) - 1] = temp;
}
printf("%s\n",str);}
return 0;
}