这个c语言程序设计基础哪错了啊?

新手请教,这个程序为什么错了_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:277,176贴子:
新手请教,这个程序为什么错了收藏
题目:四舍五入: 编写函数round(x, n), 使实数x精确到小数点后的第n位#include"math.h"#include"stdio.h"#define N 10
//N是需要保留的几位数void round (double x){ int a[N],i,n; long int j,m; double b=0,y; y=x*pow(10,N); j=(int)y; for(n=0;n&N;n++) {a[n]=j%10; j/=10; if(j&10)} for(i=n;i&=0;i--)
b=(b+a[i])*10; b=m/pow(10,N);
printf("%lf",b);}main(){ printf("请输入x:"); scanf("%lf",&x); round(x);}
什么也没错
pow(),是不是应该是double型
conflicting types for built-in function "round"在C语言标准中,有些通用函数被定义为built-in function(内建函数),像printf,strchr,memset等等,这些函数不需要包含头文件中的声明,就可以编译连接该函数的。但有时候你想自己实现,就会出现冲突的提示。解决办法:在编译是加上-fno-builtin或者-fno-builtin-FUNCTION 选项,你就可以自己实现这些函数而不冲突了。很显然,round也是内建函数
#include &math.h&
double round(double x);DESCRIPTION
x to the nearest integer, but round halfway cases away from zero
(regardless of the current rounding direction), instead of to the
like rint()
b=m/pow(10,N);m没有赋值,这里m你想用来做什么?
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或我编写的这个C语言程序哪里错了_百度知道
我编写的这个C语言程序哪里错了
int&a=%d&i=-1;),int&scanf(&quot,*b);int&void&a,int&*b;请输入数组a中的元素#include&nbsp,&/zhidao/wh%3D600%2C800/sign=c29eaaf02cd6ce2a7c7d37/fec2dfbae2.baidu.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="for(s=0,s.return&*a;scanf(&change(int&nbsp.jpg" esrc="http://b,m););&m);=0),k=-1;}while(a&gt://b
&&do{i++;a;&*a;*b,int&不小于&&}while(a[i]&&//输出交换后a;&);&&scanf(&&nbsp,&//通过下标访问即可&do{k++;temp=&printf(&&&&%d&//通过这样给b[k]接受输入的值}while(b[k]&;i){int&printf(&m&}void&//输入0结束m=i;k&change(int&m++){&nbsp,int&nbsp,s;b[s]=a[s];&nbsp,a+i);=i-1;&nbsp,m;b[s];i;&&&nbsp,a[s];&lt,k=-1,a[m]);a=%d&nbsp,m;s&请输入数组b中的元素;&\n&quot,b+k);}return&scanf(&quot.h&int&m++){&i&*b;//此时输出已是交换后的值}printf(&quot,b[100];,b[m]);&nbsp:\n&b[%d]=%d&//只有&//输入0结束printf(&);b;&printf(&quot,b的值for(m=0#include&a[s]=main(){int&nbsp,m=0;);&for(m=0;&*a,b[s]);,m),int&请输入数组a中的元素;a[100];&s++){&,int&nbsp:\n&int&b=%d\n&&=0);void&k;&&m&;for(s=0;printf(&0;a[%d]=%d&=0);\n&i=-1;m);%d&}printf(&);才可能得到期望的结果change(&change(int&nbsp
其他类似问题
c语言程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁!!!!!!!!!!!谁帮忙把这个程序的错误找出来下!!!!_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:277,176贴子:
!!!!!!!!!!!谁帮忙把这个程序的错误找出来下!!!!收藏
这是有关单片机设计四人抢答器的程序
#include&reg52.h&sbit k0=P1^0;sbit k1=P1^1;sbit k2=P1^2;sbit k3=P1^3;sbit d0=P1^4;sbit d1=P1^5;sbit d2=P1^6;sbit d3=P1^7;sbit B0=P3^7;sbit l0=P2^0;sbit l1=P2^2;sbit l2=P2^3;sbit l3=P2^4;sbit kz=P3^0;unsigned char qiangdanum=0x3f;unsigned char code table[]={0x3f,0xxx,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*第17行*/unsigned char ge=0,shi=0;unsigned int num=0,time=0;void display();
/*显示函数*/void delay(unsigned int);main(){TMOD=0X01;
/*采用方式一,即十六位计数器*/TH0=()/256;
/*设置初始值*/TL0=()%256;IT0=0;EA=1;ET0=1;
/*开启总中断源*/EX0=1;
/*启动外部中断0*/{while(1){display(); if(kz==0) TR0=1;
/*开启定时器0中断*/
if(num==20)
if(time==60)
/*60秒的计时*/
} } }void exter0() interrupt 0
/*外部中断程序*/{EA=0;l0=0; if(k0==0)
/*开关0按下*/{d0=0;qiangdanum=1;B0=1;
}/* 1号选手抢答成功,数码管显示1,蜂鸣器响,第1个二极管亮*/if(k1==0)
/*开关1按下*/
{d1=0;qiangdanum=2;B0=1;
}/* 2号选手抢答成功,数码管显示2,蜂鸣器响,第2个二极管亮*/if(k2==0)
/*开关2按下*/
{d2=0;qiangdanum=3;B0=1;
}/* 3号选手抢答成功,数码管显示3,蜂鸣器响,第3个二极管亮*/ if(k3==0)
/*开关3按下*/
{d3=0;qiangdanum=4;B0=1;
}/* 4号选手抢答成功,数码管显示4,蜂鸣器响,第4个二极管亮*/}void time0() interrupt 1{num++;TH0=()/256;TL0=()%256;}
/*1秒定时函数*/void delay(unsigned int z){unsigned int x,y;
for(x=z;x&0;x--)
for(y=110;y&0;y--);}
/*延迟函数*/void display(void)
{shi=time/10;
/*第71行*/ge=time%10;
/*第72行*/P2=0P0=table[ge];delay(5);P2=0xf7;P0=table[shi];delay(5);P2=0xFE;P0=table[qiangdanum];delay(5);}
/*显示函数:来显示0-60的计数*/错误提示:QDQ.C(17): error C281: illegal hex constantQDQ.C(17): error C141: syntax error near 'xx'QDQ.C(71): error C183: unmodifiable lvalueQDQ.C(72): error C183: unmodifiable lvalue
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或求助 这个程序为什么会有这样的错误?_c语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:277,176贴子:
求助 这个程序为什么会有这样的错误?收藏
#include &stdlib.h&#include &stdio.h&typedef struct node{ struct node *}LNmain(){ LNode* Create(int,int); LNode* GetNode(LNode *); int Print(LNode *,int); LNode *p; int n,k,m; do {
printf ("total person");
scanf ("%d",&n);
/*从键盘得到总人数n*/ } while (n&=0); do {
printf ("please input the K");
scanf ("%d",&k); }
/*从键盘得到K*/ while (k&=0 || k&n); do {
printf ("sum");
scanf ("%d",&m);
/*从键盘得到M*/ } while(m&=0); p=Create(n,k); Print(p,m); return 0;}LNode* Create(int n,int k)
/*创建循环链表*/{ int start=k-1; LNode *s,*p,*L=0,*t; if (start==0) start=n; while (n!=0) {
s=(LNode *)malloc(sizeof(LNode));
if (L==0) p=s;
if (n==start) t=s;
s-&data=n;
s-&next=L;
n--; } p-&next=L; }LNode* GetNode(LNode *p)/*出队函数*/{ LNode *q; for (q=p;q-&next!=p;q=q-&next); q-&next=p-& free (p); return (q);}Print(LNode *p,int m)/*输出函数*/{ printf ("\n"); while (p-&next!=p) {
for (i=1;i&=m;i++)
printf ("%d ",p-&data);
p=GetNode(p); } printf("%d\n",p-&data); getchar(); return 0; }LNode* Create(int n,int k)
/*创建循环链表*/{ int start=k-1; LNode *s,*p,*L=0,*t;if (start==0) start=n; while (n!=0) {
s=(LNode *)malloc(sizeof(LNode));
if (L==0) p=s;
if (n==start) t=s;
s-&data=n;
s-&next=L;
错误是这样的
error C2084: function 'struct node *__cdecl Create(int,int)' already has a body执行 cl.exe 时出错.
LNode* Create(int n,int k) /*创建循环链表*/一个函数定义了二次。。LNode* Create(int n,int k) /*创建循环链表*/{ int start=k-1; LNode *s,*p,*L=0,*t; if (start==0) start=n;while (n!=0) { s=(LNode *)malloc(sizeof(LNode)); if (L==0) p=s; if (n==start) t=s;s-&data=n; s-&next=L; L=s; n--; }p-&next=L; }LNode* Create(int n,int k) /*创建循环链表*/{int start=k-1;LNode *s,*p,*L=0,*t;if (start==0) start=n; while (n!=0){ s=(LNode *)malloc(sizeof(LNode)); if (L==0) p=s; if (n==start) t=s; s-&data=n; s-&next=L;L=s; n--; }}
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或请问我这个c语言程序哪里错了,好烦。刚刚学。谢谢了_百度知道
请问我这个c语言程序哪里错了,好烦。刚刚学。谢谢了
#include &stdio.h&main(){ char c,m,n; scanf(&%c&,&c); if(&#39;a&#39;&=c&&c&=&#39;z&#39;) {
printf(&%c&,m); } else if(&#39;A&#39;&=c&&c&=&#39;Z&#39;) {
printf(&%c&,n); } else {
print缉互光就叱脚癸协含茅f(&%c&,c); } }程序功能是大小写转换。然后其它字符原样输出。可是大小写功能实现了。但是其它字符。比如数字只能输出第一位。
提问者采纳
有什么问题,不就是大小写转换吗可以运行啊
问题是,它还要其它非字母字符原样输出。我凌乱了。我这样编。只能输出第一位
#include&&stdio.h&main(){ char&c,m,n; char&str[100];&//定义一个字符串 int&i; gets(str);&//输入一行数据& for&(&i=0;str[i]!=&#39;\0&#39;;i++&)&//对字符串中的数据进行检查并进行调整{ c=str[i]&;&//取一个字符 if(&#39;a&#39;&=c&&c&=&#39;z&#39;) {
printf(&%c&,m); } else&if(&#39;A&#39;&=c&&c&=&#39;Z&#39;) {
printf(&%c&,n); } else {
printf(&%c&,c); }}}你是想实现输入很多内容,并进行处理吧,只能是字符串(数组)来实现
我们才学到第四章分子结构。循环都没上
估计你是理解错了题目(方便的话,可以列出题目)
啊啊啊啊啊啊啊啊啊啊啊啊。我快疯了。嗯嗯。第一句话没看清。题目是说从键盘输入一个字符。。。枉我浪费一个多小时。谢谢了
呵呵,聪明的笨孩子 ,祝你成功
提问者评价
其他类似问题
按默认排序
其他4条回答
程序是对的,只是你理解错了而已 输入其他字符,原样输出,你输入数字字符的时缉互光就叱脚癸协含茅候,是输入0-9中的其中一个字符,而不是输入例如123这样一个数字,如果你输入123,%c只读入第一个,自然是输出1,程序无错
这是我刚刚写的。书上的题目。要求其它非字母字符原样输出。输入什么就输出什么。救救我
程序是对的,输入1个字符,你输入12,是表示输入了2个字符,你把12理解成了一个字符,理解错误
你用%c输入的是一个字符而比如“12”是两个字符了,所以他只能吧“1”赋值给c而“2”是不被赋值的
怎么解决啊。
你的程序本身就只能输入一个字符,你不能输入两个字符啊
那怎么改。才能原样输出呢?
你这个程序是无法实现的
printf(&%c&,c); 改为 printf(&%d&,c); 请采纳
不行。输入其它字符或者数字、都不是原样输出
数字的输出控制是%d(整型数),其他符号是%c,你在条件判断时应该分成3类:字母,大小写互换后%c输出数字,%d输出其他字符%c输出
你定义的C是字符型
只占用一个字节
你输入两个数字属于字符串了
当然不行了
改成用指针定义
指针。还没到啊。
那就改用数组吧
没有其他办法了
c语言程序的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言程序实例大全 的文章

 

随机推荐