C语言编程题。速求答案!!~~~~!!!!积分送上~!

1、编写一个函数,输入一个字符,如果字符是数字或字母,返回对应的ASCII码;否则返回0。2、编写一个函数,输入一个整数,在函数中打印该整数对应的二进制字符串。3、编写一... 1、编写一个函数,输入一个字符,如果字符是数字或字母,返回对应的ASCII码;否则返回0。
2、编写一个函数,输入一个整数,在函数中打印该整数对应的二进制字符串。
3、编写一个函数,可以将任意十进制整数转换为八进制数。
全是东北大学恶心人的C语言练习题.....求解~!发到邮箱458678309@qq.com
谢谢啦~!!
展开
 我来答
平填真杯具平男
2011-12-13 · TA获得超过1832个赞
知道大有可为答主
回答量:1390
采纳率:100%
帮助的人:1058万
展开全部
#include <iostream>

// 第一个函数
int getAsc(char ch)
{
if (((ch >= '0')&&(ch <= '9')) ||
((ch >= 'a')&&(ch <= 'z')) ||
((ch >= 'A')&&(ch <= 'Z')))
{
return int(ch);
}
else
{
return 0;
}
}

// 第二个函数
void printBinary(int iData)
{
int i = 31;
char bValue[32] = {0};
do
{
bValue[i] = iData%2;
iData /= 2;
i--;
} while (0 != iData);
for (int j = 0; j < 32; j++)
{
std::cout << int(bValue[j]);
}
}

// 第三个函数,我不太清楚你所谓的"转换",是不是和上一个一样输出?我是这么实现的
void printOctal(int iData)
{
int i = 10;
char bValue[11] = {0};
do
{
bValue[i] = iData%8;
iData /= 8;
i--;
} while (0 != iData);
for (int j = 0; j < 11; j++)
{
std::cout << int(bValue[j]);
}
}

// 测试代码,输出字符'9'的asc码,输出'X'的asc码
// 输出1000的二进制和八进制(前面空位用0填充)
int main()
{
int x = getAsc('9');
std::cout << x << std::endl;
x = getAsc('X');
std::cout << x << std::endl;

printBinary(1000);
std::cout << std:;endl;
printOctal(1000);
std::cout << std::endl;

return 0;
}
zylikeE
2011-12-13 · 超过11用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:37.5万
展开全部
#include<stdio.h>
int main()
{
char a;
int b;
a=getchar();
b=(int)a;
if((b>=97&&b<=115)||(b>=65&&b<=83)||(b>=48&&b<=57))
printf("%d ",a);
return 0;
}

第一个程序题

#include<stdio.h>
int main()
{int b,k,j,a[100];
int i=0;
printf("输入数字b\n");
scanf("%d",&b);
for(;b!=0;b=b/2)
{
j=b%2;
a[i]=j;
i++;

}

for(k=i-1;k>=0;k--)
printf("%d ",a[k]);
return 0;
}
第二个题
追问
其他的两个呢?
追答
#include
#define LENGTH 100
#define NUMBER 8
int scan()
{
int data;
printf("Input your data :");
scanf("%d",&data);
return data;
}
void display(char array[],int index)
{

for(int j=index-1; j>=0; j--)
{
printf("%d",array[j]);
}
printf("\n");
}
void conversion(int data)
{
char array[LENGTH];
int i=0;
printf("%d 转换成八进制后为:", data);
while(data){

array[i++]=(char)(data%8);
data /= NUMBER;
}
display(array, i);
}
int main()
{
conversion(scan());
return 1;
}
第三题,给你网址,我还未编好呢,http://zhidao.baidu.com/question/76757485.html?fr=qrl&cid=93&index=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingrey
2011-12-19 · 超过16用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:42.3万
展开全部
//1题
#include<stdio.h>
int main()
{
char c;
scanf("%c",c);
printf("%x\n",c);
return 0;
}
//2题
#include<stdio.h>
int main()
{
int i;
char s[16];
scanf("%d",&i);
itoa(i,s,2);
printf("%s\n",s);
return 0;
}
//3题
#include<stdio.h>
int main()
{
int i;
scanf("%d",&i);
printf("%o\n",i);
return 0;
}
//可怜的孩子,这几个题是最简单的了,无非是让你熟练掌握C语言的标准输入输出和类型的转换而已。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
五五开Fl
2011-12-19 · 超过18用户采纳过TA的回答
知道答主
回答量:180
采纳率:0%
帮助的人:57.2万
展开全部
//第一题
#include <iostream>

main()
{char ch;
ch=getchar();

if (((ch >= '0')&&(ch <= '9')) ||
((ch >= 'a')&&(ch <= 'z')) ||
((ch >= 'A')&&(ch <= 'Z')))
{
printf("%d\n",ch);
}
else
{
return 0;
}
}
//第二题等等吧
//第三题#include <stdio.h>

main()
{int n;
scanf("%d",&n);
printf("%o\n",n);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
桃爱西瓜
2011-12-16
知道答主
回答量:24
采纳率:0%
帮助的人:17.6万
展开全部
这些都是基础的编程题,算法书上都有介绍啊,建议自己写写看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式