c语言初学者问题……求大神

作者&投稿:纳竿 (若有异议请与网页底部的电邮联系)
C语言问题。初学者求大神帮忙!~

#include
#include
#include

int main(int argc, char *argv[])
{
int a[50],b[50],i,j,k,m1[10],m2[10],max1,max2,c,d,f,g=0,h;
char s1[11],s2[11];
scanf("%s",s1);
scanf("%s",s2);
for(h=0;h<50;h++)
{
a[h]=0;
b[h]=0;
}
for(i=0;s1[i]!='\0';i++)
{
if(s1[i]>='A'&&s1[i]<='Z')
m1[i]=s1[i]-55; /*将两个字符串换成整形并确定长度*/
else
m1[i]=s1[i]-48;
}
for(j=0;s2[j]!='\0';j++)
{
if(s2[j]>='A'&&s2[j]<='Z')
m2[j]=s2[j]-55;
else
m2[j]=s2[j]-48;
}
max1=m1[0];
max2=m2[0];
for(k=0;k<i;k++)
{
if(m1[k]>max1) max1=m1[k];
} /*确定各数位最大值*/
for(k=0;k<j;k++)
{
if(m2[k]>max2)
max2=m2[k];}
for(k=max1;k<=36;k++)
{
a[k]=0;
d=1;
for(c=0;c<i;c++)
{
d=pow(k,i-c-1)*m1[c];
a[k]+=d;
}
} /*从最大位进制开始循环*/
for(k=max2;k<=36;k++)
{
b[k]=0;
d=0;
for(c=0;c<j;c++)
{
d=m2[c]*pow(k,j-c-1);
b[k]+=d;
}
}
for(k=max2+1;k<=36;k++)
{
for(f=max1+1;f<=36;f++)
if(a[f]==b[k])
{
printf("%s (base %d) = %s (base %d)
",s1,f,s2,k);
g++;
break;
}
if(a[f]==b[k])
break;
}
if(g==0)
printf("%s is not equal to %s in any base 2..36
",s1,s2);
system("PAUSE");
return 0;
}
希望你以后注意缩进格式

1、这里输入c的值的语句:
scanf(" %c",&c);输入字符前,应该输入一个空格。
2、好像vs中,利用scanf_s输入字符,挺容易出问题,前面也有网友问我类似几个C语言代码问题,都是在scanf输入字符变量的时候出错。
个人建议,我尝试过,最好用c=getchar();可能更好一点。

看一下a<2000与a<=2000的区别:
当a=2000时,a<2000不成立,是逻辑假;而a<=2000成立,是逻辑真。
if(a<2000)不成立,最后落到else,执行b=a*0.75,输出1500。
要想输入2000时,执行a*0.85,输出1700,建议你把
if(a<2000)
改为
if(a<=2000)
试一试。
有什么问题请留言。

你再仔细看一下,你输入的是2000,所以分支语句是执行最后那个else语句,也就是
b=a*0.75
a=2000,所以else if (a < 2000)是不成立的。

注意2000<2000是不成立的,所以说执行的是2000*0.75结果是1500.00,而%10.2f是表示宽都为10且保留两位小数。

亲,你运行的代码里写的是0.75呀。

你的代码在最后一个else处把0.85写成了0.75


C语言编程问题,初学者,麻烦简单些,谢谢(*°∀°)=3?
include "stdio.h"int main(){ int sex,height;float weight,bzweight;\/\/输入体重和标准体重 printf("输入性别(0-男性,1-女性):");scanf("%d",&sex);printf("输入身高(cm):");scanf("%d",&height);printf("输入体重(kg):");scanf("%f",&weight);if(sex==0)bzweight=(height-...

c语言初学者求救!执行 cl.exe 时出错.是什么意思?
格式错了,cl.exe 是控制 Microsoft C 和 C++ 编译器以及链接器的工具。cl.exe 只能在支持 Microsoft Visual Studio 的操作系统中运行。 编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。include<stdio.h>这是c语言头文件 而你设定的文本属于c++类型C:\\Users\\Administrator\\Desktop\\Cpp1.cpp ...

【初学者】C语言 IF语句有问题要问!
……我这边暂时没有C编译器……我只能直接看看怎么回事……扶额……看了半天才把整套给剥离清楚,那个,我只是建议一下,一般的在编程之中,IF的嵌套最好不要超过三个……我试着改下,不确定是不是这回事……你可以试试。include <stdio.h> include <stdlib.h> int main() { int i = 0;pri...

C语言指针问题(初学者)
1.概念问题:指针是指存放地址值的变量或常量;指针与一般变量或常量的区别,在于它不直接存储数值,而是存放被存储数值的地址,属于间接存放,所以不少初学者感觉学习困难。比如:int a=2,b,c,*ptr; ptr=&a;表示将指针ptr指向变量a,存放a的地址,假设是2000H,而指针变量ptr本身也要有地址,假...

关于c语言的初学者问题
两者的区别就是i nt a[i]是整数类型。char a[80]是字符类型。其中char a【80】中的80 代表此数组中能存放80个字符。至于为什么是80,可能与你们老师的举例有关,其实数组的存放个数可以按你的需求定义。

C语言问题初学者,求一元二次方程根
头文件要有#include <math.h> d=b*b-4*a*c;改成下面:d=(float)b*b-4*a*c;我的测试过程:请输入ax^2+bx+c=0方程对应的a,b,c三个值 1 2 1 x1=-1.000000,x2=-1.000000Press any key to continue

大家进来看看,初学者问题!C语言
异或就是两个操作数相同时为0,不同时为1,比如A^B 则:A , B , A^B 0 , 0 , 0 0 , 1 , 1 1 , 0 , 1 1 , 1, 0 那么a^a,a^~a,~(a^~a)的理解是“~”的优先级高于“^”,而“()”优先级最高。若a=11010010 那么~a...

请教一个很简单的c语言问题,我是初学者
仅分析第二条语句printf("a%cb%c\\bc%c\\tabc\\n",c1,c2,c3); } 其中a输出a-》“a”,c输出c1也就是a-》“aa”,b输出b-》“aab”,c输出c2也就是b-》“aabb”,\\b输出退格,把上一个b擦掉了-》“aab”,c输出c-》“aabc”,c输出c3->"aabcc",\\t输出TAB符号,前进八个空格-...

C语言初学者:帮忙看下这个简单的问题(小写变大写)
一共改了2个小点。印象里,回车符是23,是10+13,回车键实际是回车(光标到行首)+换行 include<stdio.h> main(){ char c;while((c=getchar())!=10) \/*这里改了一下 输入的同时判定是否循环*\/ { \/*c=getchar(); 被移到while()条件中*\/ if(c>='a'&&c<='z'){c=c-'a'+'A...

给初学C语言的同学一些建议
C语言初学者的建议 (1) 保持好奇心 这是一个现实的问题,如果你是非计算机专业的大学生,大部分人对C语言是恐惧的,因为(挂科率高)你懂得·...··。而如果你是小学生或初中生,倒也不用担心,因为你们的勇气和好奇心都比大学生强大很多。当然,无论是谁,保持好奇心是你学习不断前进的永恒动力...

大武口区13894356726: 大一新生初学C语言,求高手解救…… -
韩帝咖啡: 1) for(i;i<m;i++) 第一个分号前,要不就i=0,要不就做缺省处理,什么都不写.2)int fun(int score[],int m,int below[]);函数定义放在全局域,也就是在main函数外面,并且不...

大武口区13894356726: c语言编程题求大神指教,,太笨了,想了一下午都做不出结果s=(2+3)+(2+3+5)+(2+3+5+8) -
韩帝咖啡: 供你参考……#include "stdio.h"void main(void){ int n,i,j,k,s; printf("Type an integer...\nn="); scanf("%d",&n);//表示几项 for(s=0,i=2,j=3,k=5;n;n--){ (s+=s)+=k; k=i+j; i=j; j=k; } printf("The result is %d.\n",s);}

大武口区13894356726: 关于C语言编程的几个题,求大神指导!!!(1)问题描述给定n和len,输出n!末尾len位.输入格式一行两个正整数n和len.输出格式一行一个字符... -
韩帝咖啡:[答案] 1.//#include "stdafx.h"//vc++6.0加上这一行.#include "stdio.h"void main(void){ int n,len,i; __int64 sum,k; printf("Type n & len()...\n"); scanf("%d%d",&n,&len); for(sum=i=1;i

大武口区13894356726: C语言初学者的提问 -
韩帝咖啡: c语言自带函数可以在帮助中查找用法,因为用法有很多. 自定义函数的用法如下: 返回值类型 函数名 (函数参数) { 函数内容 } 比如你说的判断素数的函数该这样写 bool isprime(int x) { int i; for (i=2;i{ if (x mod i==0) return FALSE; } return TRUE; } 在主函数中调用该函数,如果返回TRUE就是素数,否则是合数.下面的网站上有c语言的一些教程,可以去看下.

大武口区13894356726: 初学者C语言程序的问题……
韩帝咖啡: 已测试..你把求第二大和第二小的值时候的for循环改为 for(i = 2; i &lt; n; i++) { if(min2 &gt; a[i]) { min2 = a[i]; } if(min2 &lt; min1) { t = min2; min2 = min1; min1 = t; } 还有就是写程序前加提示语句比较好 前面这样 在输入的时候不会出错 int i, n, t, ...

大武口区13894356726: c语言初学者求答疑
韩帝咖啡: 首先请严格按照C语言标准编写.函数先定义后使用.#include "stdio.h"int max(int x,int y){ int z; if (x>y) z=x; elsez=y; return (z);}int main(void){ int a, b, c, t; printf("please input three numbers:"); scanf("%d,%d,%d",&a,&b,&c); t=max(max(a,b)...

大武口区13894356726: 我有一个C语言问题,谁能帮帮我,我是刚刚学C语言,自己做了好久但是总是出错,求高手指教.
韩帝咖啡: 你好,我也是C语言初学者,我来试试帮你解答. 我要说的是“插入排序法”,我不会把答案全给你,我把方法全交给你,你自己把他们综合起来. 插入排序:用函数编程实现一个按升序排序的数组中查找x应插入的位置,将x插入数字中,使数...

大武口区13894356726: 求助:一道C语言程序的题,急!初学还不怎么会,谢谢,多给分 -
韩帝咖啡: main(){ int a[10],b[10],c[10]; int i; int *p; printf("please input a[10]:\n"); p=a; for(i=0;i<10;i++) scanf("%d...

大武口区13894356726: c语言问题,求大神解答!给一个不多于5位的正整数.①求出它是几位数.②分别输出每一位数字.③按逆序输出各位数字.例如原数位465,应输出5 6 4.... -
韩帝咖啡:[答案] #include#include#includeint main(){int num,tmp,i,j;int n[5]={0};//用于存储num分解后的每位上的数字,由于num不超过5位,所以数组有5个单元就可以了 int *sq_ls_num;printf("请输入一个不多于5位的正整数: ");sc...

大武口区13894356726: 求各位大神帮忙做一个C语言的题目,因为是在下是未入门级的,所以尽量简单 -
韩帝咖啡: 我是用dev-c++写的,可能有点不一样.你试试吧#include#include#define QCNT 5 main(){ int num=1, iQ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网