第一题
输入一个不多于5位的正整数m,及位数k,输出m第k位(从低位到高位)上的数值。若m没有第k位,则输出0。
例: 输入 1357和2,输出5;输入1357和5,输出0。
第二题
输入一行字符,将其中的字母循环左移四位,数字加二再模十{(a+2)%10},空格删除,其它符号不变。先将结果保存在数组中,再输出到屏幕上。
例:输入:9527:In God We Trust
输出:1749:Ej CkzWaPnqop
输入:XXXX:”Glmre!” (XXXX表示学号后四位)
输出:ZZZZ:”
----------------解决方案--------------------------------------------------------
第一题
#include<stdio.h>
main()
{int num,x,i,k,z,temp;
printf("Please input an integer:");
scanf("%d",&num);
temp=num;
printf("请输入第N位数");
scanf("%d",&x);
for(i=1;num!=0;i++)
num/=10;
if(x>i) printf("0");
else {for(k=1;k<x;k++)
temp/=10;
z=temp%10;
printf("%d",z);
}
}
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
不好意思啊 我也是初学者 我不会用指针哦 我试下普通的
----------------解决方案--------------------------------------------------------
9527 加二再模十 怎么成 1749了?
----------------解决方案--------------------------------------------------------
是每个数字+2再模10
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
#include<ctype.h>
main()
{
char a[81]; int x,i,j,k;
clrscr();
a[81]=gets();
x=strlen(a);
for(i=0;i<x;i++)
{if(isalpha(a[i])) a[i]-=4;
if(isdigit(a[i])) a[i]=((a[i]+2)%10);
if(isspace(a[i])) printf(" \b");
else a[i]=a[i];
}
for(j=0;j<x;j++);
printf("%c ",a[j]);
}
我觉得后面没错 只是 a[81]=gets();报错 为啥啊 ???
----------------解决方案--------------------------------------------------------
是不是要减少字母?还是用ASII?
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "ctype.h"
main()
{
char str[80],a[80]={0};
int i=1,j=0;
scanf("%c\0",&str[0]);
while(scanf("%c\0",&str[i])&&str[i++]!='\n');
i=0;
while(str[i]!='\n'){
if(isalpha(str[i])) a[j]=str[i]-4;
if(isdigit(str[i])) a[j]=((str[i]-48+2)%10)+48;
j++;
if(isspace(str[i])) j--;
i++;
}
printf("%s\n",a);
getch();
}
----------------解决方案--------------------------------------------------------
上边是第2题,觉得用不用指针无所谓,主要是输入时空格问题的处理。
[此贴子已经被作者于2007-6-21 15:01:36编辑过]
----------------解决方案--------------------------------------------------------