这个c程序哪里错了?????

问题描述

这个c程序哪里错了?????

#include
int main(void)
{
const int danjia = 5;
int shuliang = 0;
int zongjia = 0;
int zan = 0;
printf("shurushuliang:");
scanf("%d",&shuliang);
zan = shuliang * danjia;
{
if((zan > 30) && (zan <= 50))
zongjia = shuliang*danjia*0.1;
printf("%d",zongjia);
if(zan > 50)
zongjia = shuliang*danjia*0.15;
printf("%d",zongjia);
else
printf("%d",shuliang*danjia):
return 0:

}

}

就是提示出错,但我就是找不到哪里错了。。。。。

解决方案

丢大括号,还有分号写成冒号

 const int danjia = 5;
int shuliang = 0;
int zongjia = 0;
int zan = 0;
printf("shurushuliang:");
scanf("%d",&shuliang);
zan = shuliang * danjia;

if((zan > 30) && (zan <= 50))
{
zongjia = shuliang*danjia*0.1;
printf("%d",zongjia);
if(zan > 50)
zongjia = shuliang*danjia*0.15;
printf("%d",zongjia);
}
else
printf("%d",shuliang*danjia);
return 0;

解决方案二:

注意语句结束是;号,不是:,另外括号是英文的,不是中文
 int main(void)
{
const int danjia = 5;
int shuliang = 0;
int zongjia = 0;
int zan = 0;
printf("shurushuliang:");
scanf("%d",&shuliang);
zan = shuliang * danjia;
{
    if((zan > 30) && (zan <= 50)){
        zongjia = shuliang*danjia*0.1;
        printf("%d",zongjia);
    }else if(zan > 50){
        zongjia = shuliang*danjia*0.15;
        printf("%d",zongjia);
    }
    else
    printf("%d",shuliang*danjia);
    return 0;
}
}

解决方案三:

#include
#include

int main()
{
const int danjia = 5;
int shuliang = 0;
int zongjia = 0;
int zan = 0;
printf("shurushuliang:");
scanf("%d",&shuliang);
zan = shuliang * danjia;
if((zan > 30) && (zan <= 50))
{
zongjia = shuliang*danjia*0.1;
printf("%d",zongjia);
if(zan > 50)
{
zongjia = shuliang*danjia*0.15;
printf("%d",zongjia);
}
else
printf("%d",shuliang*danjia);
}
return 0;
}

解决方案四:

如果是编译的错误,按编译器提供的错误行对此行代码进行分析。
如果目测一下没有错误,就可以注意标点符号,特别半角/全角符号的区分。

解决方案五:

建议你换成vs吧,这种错误他会直接提示的

解决方案六:

你这个代码挺多错误的。我都帮你改好了,有几处是标点符号的使用错误,有括号忘记扩回来了。还有就是有一点,虽然你应该是初学者,但是头文件还是要加进去比较好,以后才不会忘记。

 #include <stdio.h>
 int main(void)
 {
 const int danjia = 5;
 int shuliang = 0;
 int zongjia = 0;
 int zan = 0;
 printf("shurushuliang:");
 scanf("%d",&shuliang);
 zan = shuliang * danjia;
 {
 if((zan > 30) && (zan <= 50))
 zongjia = shuliang*danjia*0.1;
 else if(zan > 50){
 zongjia = shuliang*danjia*0.15;
 printf("%d",zongjia);}
 else
 printf("%d",shuliang*danjia);
 return 0;
}
 }

解决方案七:

头文件没有,分号打错了

解决方案八:

头文件没有,建议程序if else的输出都加到花括号里,要不就每次都输出。

时间: 2024-11-18 06:17:27

这个c程序哪里错了?????的相关文章

printf-下面这个图形程序哪里错了 ?

问题描述 下面这个图形程序哪里错了 ? #includeint main(){char a[5][9];int ijk;for(i=0;i<5;i++){for(j=0;j<=i;jprintf("" "");for(k=0;k<9;k++)a[i][k]='*';printf(""%c""a[i][k]);printf(""n"");}return 0;}* * *

这程序哪里错了,运行老出现“unkonw character &amp;amp;#39;0xa1&amp;amp;#39;,我是用英语写的

问题描述 这程序哪里错了,运行老出现"unkonw character '0xa1',我是用英语写的 #inciude int main() {int a=1,b=2; for(;a<8;a++) {b+=a;a+=2} printf("%d,%d",a,b); return 0;}这个题的输出结果是(),问一下: 解决方案 10,14 http://codepad.org/AZtOd1R5 在线上机验证 以后这种问题也可以你自己直接在上面验证 解决方案二: {b+=a

iphone-ios6的程序报错了错误

问题描述 ios6的程序报错了错误 ios6程序中显示了可达性错误,请明白的人帮我解决一下这个错误,不胜感激: @implementation Reachability static void ReachabilityCallback(SCNetworkReachabilityRef target SCNetworkReachabilityFlags flags void* info) {#pragma unused (target flags)NSCAssert(info != NULL @"

c语言-C语言改错题求教求教该程序哪里错了??

问题描述 C语言改错题求教求教该程序哪里错了?? 改错题1===从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之积 #include "stdio.h" #define M 10int a[M][M]={0};fun(int **a,int m)_ { int j,k; for(j=0;j<m;j++) for(k=0;k<m;k++) a[j][k]=j*k; } main() { int i,j,n; printf("Enter n:&quo

急用-这个程序哪里错了,功能是实现延时可调的功能

问题描述 这个程序哪里错了,功能是实现延时可调的功能 k4为模式选择有三种模式,按压切换.k1~k3为设置个十百位的按键,按压加一,大9回0. #include #include #include sbit P2_0=P2^0; sbit P2_1=P2^1; sbit P2_2=P2^2; sbit P2_3=P2^3; sbit K1=P2^4; sbit K2=P2^5; sbit K3=P2^6; sbit K4=P2^7; sbit out =P1^5; sbit P1_3 = P1^

我的程序哪里错了?-shell中程序调试问题 不知道哪错了 求解答

问题描述 shell中程序调试问题 不知道哪错了 求解答 #!/bin/bashfunction a {read -p ""input: "" valueecho -n ""doubling the value ""return $[ $value * 2 ]} aecho ""the new value is $?"" 我想让输入的数的两倍大于255时,程序输出的值为1如果我输入的数的

c语言-刚学C,编了个小程序出错了,请大神帮忙看一下。

问题描述 刚学C,编了个小程序出错了,请大神帮忙看一下. 知道长方形的长和宽,求面积和周长 #include main() { float x,y,a,b; printf ("请输入长和宽且用逗号分隔:); scanf ("%f,%f,&x,&y); a=x*y; b=(x+y)*2; printf ("面积=%f,周长=%fn",a,b); } 解决方案 错误一:include后面缺少头文件包含 错误二:printf中没有右半边的引号 错误三:sc

大神帮忙看看,这个程序哪里错了,以及怎么解释

问题描述 大神帮忙看看,这个程序哪里错了,以及怎么解释 void allocate (int *ptr) { ptr = new int(0); } void test() { int *i=0; allocate(i); int k=*i; cout<<k<<endl; Release(i); } 解决方案 你的allocate传的是一级指针,操作的只是main函数里的i指针的一个拷贝 要改变指针的指向必须要改成一级指针的引用或者二级指针 void allocate (int *

printf-去掉字符串的前导空格,这个程序哪里错了

问题描述 去掉字符串的前导空格,这个程序哪里错了 #include #include void main() { char s[100]; scanf("%d", &s); int p=0,i; for(i=0;s[i];i++) { if(s[i]==' ') p++; else break; } for(i=0;s[i];i++) { s[i]=s[i+p]; } printf("%s",s); } 解决方案 #include <stdio.h&g

c++-C语言,输入星期首字母输出星期名,请问这小程序哪里错了,

问题描述 C语言,输入星期首字母输出星期名,请问这小程序哪里错了, 输入s或t,程序提示输入下一个字母 输入下一个字母后,程序没有显示结果就退出了 #include int main(void) { puts("enter a letter"); char ch; ch = getchar(); getchar(); switch (ch) { case 'm':puts("monday"); break; case 't':puts("enter nex