c语言程序代码题目

浙大c语言程序习题答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
98页免费9页免费9页免费299页1下载券7页免费 10页免费9页免费7页免费7页免费7页免费
喜欢此文档的还喜欢41页1下载券49页免费91页1下载券48页1下载券90页1下载券
浙大c语言程序习题答案|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢您还未登陆,请登录后操作!
悬赏20爱心点
分享到微博
请问一个C语言程序问题。
我想把一分数通过编程把它变为小数,如果它的小数形式存在循环节要用括号把它括起来,如1/3=0. 33……,表示为1/3=.(3)又如41/333=.1 ……表示为.(123).这个程序怎么做呢?有好心人帮我弄弄吗?
#include &stdio.h&
#include &string.h&
#define LEN_SHANG sizeof(struct node_shang)
#define LEN_YUSHU sizeof(struct node_yushu)
struct node_shang {/*商结点*/
struct node_shang *
} *shang_head=0, *shang_tail=0;
struct node_yushu {/*余数结点*/
struct node_yushu *
} *yushu_head=0, *yushu_tail=0;
int shang_empty(void) {/*判断商串是否空*/
return shang_head==0;
int yushu_empty(void) {/*判断余数串是否空*/
return yushu_head==0;
struct node_shang *new_sh
#include &stdio.h&
#include &string.h&
#define LEN_SHANG sizeof(struct node_shang)
#define LEN_YUSHU sizeof(struct node_yushu)
struct node_shang {/*商结点*/
struct node_shang *
} *shang_head=0, *shang_tail=0;
struct node_yushu {/*余数结点*/
struct node_yushu *
} *yushu_head=0, *yushu_tail=0;
int shang_empty(void) {/*判断商串是否空*/
return shang_head==0;
int yushu_empty(void) {/*判断余数串是否空*/
return yushu_head==0;
struct node_shang *new_shang_node(char ch) {/*新建商的结点*/
struct node_shang *ptr= (struct node_shang *) malloc(LEN_SHANG);
ptr-&data=
ptr-&next=0;
struct node_yushu *new_yushu_node(long a) {/*新建余数结点*/
struct node_yushu *ptr= (struct node_yushu *) malloc(LEN_YUSHU);
ptr-&data=
ptr-&next=0;
void insert_shang(char ch) {/*插入商字符串的结点*/
struct node_shang *newptr= new_shang_node(ch);
if(shang_empty())
shang_head=shang_tail=
shang_tail-&next=
shang_tail=
void insert_yushu(long a) {/*插入余数结点*/
struct node_yushu *newptr= new_yushu_node(a);
if(yushu_empty())
yushu_head=yushu_tail=
yushu_tail-&next=
yushu_tail=
char *longinttostr(long a, char *str) {/*将长整型转化为字符串*/
if(a==0) {/*a=0时特别处理*/
str[0]='0';
while(a!=0) {
str[i]=(a%10)+'0';
str[i]='\0';
for(j=0; j&=(i-1)/2; j++) {/*倒置*/
temp= str[j];
str[j]= str[i-1-j];
str[i-1-j]=
/*返回长度*/
long found_xunhuan(void) {/*通过余数是否相等判断是否出现循环节,若出现返回出现位置的指针ind(相对小数点的偏移量),若无反回-1*/
struct node_yushu *i;
for(i=yushu_head, ind=0; i-&next!=0; i=i-&next, ind++)
if(yushu_tail-&data==i-&data)
if(i-&next==0)
return -1;
void div(long d, long n) {/*d是被除数,n是除数*/
long yushu, shang_zhenshu, temp, i, len_
char str[7];
struct node_shang *j, *new_
/*计算整数部分*/
shang_zhenshu= d/n;
insert_yushu(d);/*余数保存到余数链表*/
longinttostr(shang_zhenshu, str);
while(str[i]!='\0') {/*商保存到商链表*/
insert_shang(str[i]);
insert_shang('.');
if(d==0) {/*恰好整除的情况*/
insert_shang('0');
while((d!=0)&&((temp=found_xunhuan())==-1)) {/*当除尽或发现循环节时停止*/
d=d*10;/*进位*/
insert_shang((d/n)+'0');
insert_yushu(d%n);
/*除法已完成*/
if(temp!=-1) {/*发现循环节*/
while(j-&data!='.')/*找到小数点的位置*/
for(i=0;i& i++)
j=j-&/*找到循环节开始的前一位*/
new_node= new_shang_node('(');
new_node-&next=j-&
j-&next= new_
new_node= new_shang_node(')');
shang_tail-&next= new_
shang_tail= new_
void output(void) {
struct node_shang *i;
while(i-&next!=0) {
putchar(i-&data);
if((temp%76)==0)/*每行输出76个字符*/
putchar('\n');
putchar(shang_tail-&data);
putchar('\n');
int main(void) {
scanf("%ld %ld", &d, &n);
while((d&1)||(d&100000)||(n&1)||(n&100000)) {
printf("Input is wrong! Please inpute again!(1&=d, n&=100000)\n");
scanf("%ld %ld", &d, &n);
div(d, n);
bryant1976
写得不错,只补充一下,主程序中最好在while循环中scanf之前加一句fflush(stdin);
这只是个习惯而已,否则如果用户不按常理输入的话(如输入1/6后回车)可能造成死循环。
bowen518249
非常非常感谢!!!呵呵。这么复杂呀,我先慢慢看一下。谢谢哈。
回答数:238c语言程序问题?_百度知道
c语言程序问题?
#include&stdio.h&void main(){ int a=10,b=20,s;
scanf(&%d,%d&,&a,&b); s=b; b=a; a=s;
printf(&a=%d,b=%d&,a,b);}你们看看这个程序,我想吧AB的值已交换,但是运行后的程序是a的值能出来B出不来
我有更好的答案
按默认排序
D:\test&cl aa.cppMicrosoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86Copyright (C) Microsoft Corp . All rights reserved.aa.cppMicrosoft (R) Incremental Linker Version 6.00.8447Copyright (C) Microsoft Corp . All rights reserved./out:aa.exeaa.objD:\test&aa22,44a=44,b=22D:\test&结果完全正常啊!
你这是c语言吗
就是把你的代码存成 aa.cpp ,使用vc6.0编译的啊!
你这个程序完全没有问题,你再试试吧。。
把scanf(&%d,%d&,&a,&b);删除
记得输入带逗号:
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁文档贡献者
该文档贡献者很忙,什么也没留下。
下载此文档
正在努力加载中...
C语言编程题及答案
文档星级:
内容提示:C语言编程题及答案
文档格式:DOC|
浏览次数:4925|
上传日期: 21:38:22|
下载积分:
该用户还上传了这些文档
官方公共微信
下载文档:C语言编程题及答案.DOC豆丁精品文档: c语言练习题答案 c语言练习题 c语言函数练习题 c语言编程练习题 c..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C语言程序设计练习题及答案_详细版
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 c语言程序代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信