谁会C语言编程?????就人一命啊!!!!

来源:百度文库 编辑:超级军网 时间:2024/03/29 00:28:49
我现在需要一个简单的C语言程序,不会啊,谁能帮帮我??????我现在需要一个简单的C语言程序,不会啊,谁能帮帮我??????
<P>干什么用</P>
你说吧,我帮你搞定,但是,我拒绝教科书上的习题
<P>偶不会</P><P>但是偶好多朋友是程序员</P>
<P>现在连我都说不清是干什么了.....</P><P>就是一个"计算机"</P><P>输入数,7进制的, 转化为10进制的,加减乘除,答案转化为7进制的,显示.</P><P>现在我需要先写这么一个"流程图"</P><P>多谢了!!!!</P>
<P>只要流程图的话,你自己已经说的很清楚了</P><P>首先要搞定N进制-&gt;十进制之间的转换原则,将输入的N进制转换为十进制,存为一个变量;</P><P>然后用这个变量进行运算</P><P>最后搞定十进制-&gt;N进制的转换,打印显示即可。</P><P>如果进一步的话,考虑输入容错设计。</P><P>具体的工作在于进制转换的设计。</P>
<P>详细的说吧,据个例子,七进制的10=十进制的8,计算原则,1×7(1)+0×7(0)=8</P><P>其他的依次类推</P><P>还是以上面为例,十进制转七进制,计算原则,(8-1)/7,利用取模除法和取整除法,得到七进制的值。</P><P>只是简单说明,实际中要考虑数的大小</P>
<P>看了就头疼</P><P>当年学这玩意就总考不及格</P><P>老师说这与小学时期的数学不及格有必然联系</P>
.....这我都明白....主要问题是.....程序....怎么写.......
<DIV class=quote><B>以下是引用<I>哈萨克雄鹰</I>在2004-10-14 10:47:00的发言:</B>
.....这我都明白....主要问题是.....程序....怎么写.......</DIV>
<P>
<P>这个................这个......................基本上到了这一步,剩下的都是粗活了...........</P>
<P>兄弟,你要是文科生我就不说了,但是你要是理科生,我就不得不说了,C是一个最最</P>
<P>基础的东西啊,你一定要弄懂啊!!!</P>[em06]
没办法...一点都不明白....从来没接触过,怎么办....一点点学吧.....
如果是6进制数会好作一些,不好意思,帮不上你了
我当年C挂了[em06][em06]
<P>#include&lt;iostream.h&gt;</P><P>#include&lt;math.h&gt;</P><P>void main()</P><P>{</P><P>再往下记不清楚了,回去看看书。</P>[em06]
七进制也不难,关键是编个换算公式。
12楼的应该是8不是6,错了
哎 以前C语言的书 和C++的书 偶都拿去当废纸卖了 .....
[此贴子已经被作者于2004-10-14 15:15:17编辑过]
<DIV class=quote><B>以下是引用<I>striker</I>在2004-10-14 14:43:00的发言:</B>

<P>可以这样,我用basic写出来</P>
<P>'首先生成一个数组,最多容纳255位的7进制数,其他定义的省略</P>
<P>dim a(255)</P>
<P>'输入的变量定义为in$,转化为变量inpt为十进制变量,</P>
<P>'首先接受键盘输入的字符串in$</P>
<P>'求出它的长度s,本来有个专门的函数的,我给忘了,呵呵,暂且称为fun</P>
<P>s=fun(in$)</P>
<P>'然后建立循环,i为中间变量</P>
<P>for i=s to 1 step -1</P>
<P>'从in$的相应i位置取出一个字符(函数mid$),转化为数值型变量(函数val)</P>
<P>inpt=inpt+val(mid$(in$,i,1))*(7^(i-1))</P>
<P>'转换要领,每一位上的数乘7的位权如各位是7^0,十位7^1.........最后加在一起</P>
<P>next i</P></DIV>
<P>basic,还是饶了我吧</P>[em06][em06][em06]
<DIV class=quote><B>以下是引用<I>striker</I>在2004-10-14 14:43:00的发言:</B>

<P>可以这样,我用basic写出来</P>
<P>'输入的变量定义为in$,转化为变量inpt为十进制变量,</P>
<P>'首先接受键盘输入的字符串in$</P>
<P>'求出它的长度s,本来有个专门的函数的,我给忘了,呵呵,暂且称为fun</P>
<P>s=fun(in$)</P>
<P>'然后建立循环,i为中间变量</P>
<P>for i=s to 1 step -1</P>
<P>'从in$的相应i位置取出一个字符(函数mid$),转化为数值型变量(函数val)</P>
<P>inpt=inpt+val(mid$(in$,i,1))*(7^(i-1))</P>
<P>'转换要领,每一位上的数乘7的位权如各位是7^0,十位7^1.........最后加在一起</P>
<P>next i</P>
</DIV>

用C方法大差不差。
<P>'生成一个数组,最多容纳255位的7进制数,在这之前得数的变量名为sum</P><P>dim a(255)</P><P>还是建立一个循环,不过这回要在满足特殊条件下退出,i为循环的次数,后面要用,t为一个中间变量</P><P>t=sum</P><P>i=0</P><P>10 i=i+1</P><P>a(i)=mod(t/7)             'mod()为取余数的函数</P><P>t=int(t/7)              '函数int()为取整函数</P><P>if t&lt;&gt; 0 then goto 10          '如果最后除出来的不为0,就返回行号为10的语句</P><P>'输出变量为out$(是一个字符型变量)</P><P>for x=i  to 1 step -1  'x为中间变量</P><P>out$=out$+right$(str$(a(x)),1)              'str$()为将一个数值转化为字符,right$()为从一个字符串的最后一位开始取,1即取一位。因为数字型变量转化为字符型变量时,第一位为符号位,所以只要第二位。在basic里面,字符串的加法,就是不断把字符跟在原变量后面。</P><P>next x</P><P>print out$          '显示结果</P><P>算法:</P><P>用原来的十进制数不断除7,取所得的余数,最后倒着从最后一个余数往前读就可以了。</P><P>如326/7商46余4,46/7商6余6,6/7商0余6,326对应的七进制数为446</P>
我补考勉强过的,还素不发话为好~
我是不会的![em06]
这样吧.其实我们老师给了一段程序.我们就是要往里面加两段程序.实现从7-10,运算(给出)后,在从10-7,显示出来.我过一会贴出来程序.
/* simplecalc.c - A Simple Base-10 Calculator
* Adapted from page 281 of Rojiani
*/
#include&lt;stdio.h&gt;
#define TRUE 1
#define FALSE !TRUE
int main(void){
// declarations with descriptive variable names
double operand1,operand2,ans;
char operator,ask;
int done = FALSE, problemflag = FALSE;
// Title prompt
printf("A Simple Base-10 Calculator\n");
while (!done){ // Continue looping while done is FALSE
// Prompt user for arithmetic expression
printf("Enter calculator command in the following form:\n");
printf("&gt; &lt;operand&gt; &lt;operator&gt; &lt;operand&gt;\n");
printf("Valid operators are +, -, *, and /.\n");
printf("&gt; ");
scanf("%lf %c %lf", &amp;operand1, &amp;operator, &amp;operand2);
// Base on operation, perform calculation
switch(operator) {
case '+':
ans = operand1 + operand2;
break;
case '-':
ans = operand1 - operand2;
break;
case '*':
ans = operand1 * operand2;
break;
case '/':
if (operand2 == 0.0) {
printf("Error. Cannot divide by 0.\n");
ans = 0;
problemflag = TRUE;
} else {
ans = operand1 / operand2;
}
break;
default:
printf("*** Invalid operator. *** \n");
problemflag = TRUE;
break;
}
if (problemflag) {
// if there was a problem encountered
printf("Arithmetic operation not performed.\n");
problemflag = FALSE; // Our error checking flag reset
} else {
// no problem encountered, calc present result
printf("%f %c %f = %f", operand1, operator, operand2, ans);
}
printf("\n\n Enter '1' to continue or '0' to quit: ");
scanf("%d", &amp;ask);
if (ask == 0) // ask if done
done = TRUE;
}
return(0);
}
你这个程序没有输入输出过程阿,告诉我相关的函数,我可以给你写出来
这里画不了流程图阿
至少我不会。不能帮你不好意思
<P>这个看看书或者习题集就明白了</P>