1
十进制转换十六进制(10分)
题目内容:
编写程序,输入一个长整型数,将其转换为十六进制,以字符串形式输出。(提示:可以定义char s[]="0123456789ABCDEF"以帮助输出十六进制字符)。
输入格式:
一个长整型数
输出格式:
一个十六进制数
输入样例:
10
输出样例:
A
时间限制:500ms内存限制:32000kb
参考
#include<stdio.h>
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<stdio.h>
#include<string.h>
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;
}
本文提供两个实用的C语言程序:一是将十进制数转换为十六进制数;二是从任意字符串中过滤出所有数字字符。两程序简洁高效,适合初学者实践。
777

被折叠的 条评论
为什么被折叠?



