njupt MOOC第八章编程

1

十进制转换十六进制(10分)

题目内容:

编写程序,输入一个长整型数,将其转换为十六进制,以字符串形式输出。(提示:可以定义char s[]="0123456789ABCDEF"以帮助输出十六进制字符)。

输入格式:

一个长整型数

输出格式:

一个十六进制数

输入样例:

10

输出样例:

A

时间限制:500ms内存限制:32000kb

参考

#include
int main()
{
    char s[]="0123456789ABCDEF";
    int i=0;
    int c[64],base=16;
    long n;
    scanf("%ld",&n);
    do
    {
        c[i]=n%base;
        n=n/base;
        i++;
    }
    while(n!=0);
    for(--i;i>=0;--i)
        printf("%c",s[c[i]]);
    return 0;
}

2

字符串过滤(10分)

题目内容:

输入一个字符串,过滤掉所有的非数字字符,得到由数字字符组成的字符串,并输出。

输入格式:

一个字符串

输出格式:

去掉非数字字符的字符串

输入样例:

1ar56

输出样例:

156

时间限制:500ms内存限制:32000kb

#include
#include
void change(char *p)
{
    char a[20];
    int i=0,j;
    strcpy(a,p);
    for(j=0;a[j];j++)
    {
        if(a[j]>='0'&&a[j]<='9')
            p[i++]=a[j];
    }
    p[i]='\0';
}
int main()
{
    char str[20];
    gets(str);
    change(str);
    puts(str);
    return 0;
}
 

你可能感兴趣的:(MOOC,c语言)